summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2009-01-23 17:07:21 -0500
committerBernard Normier <bernard@zeroc.com>2009-01-23 17:07:21 -0500
commit2380e089401d048490da23bc6d71e5687bafbe47 (patch)
tree6d97052d1f93bc2bafcd7fd1a9ebe103544b6cad
parentFixed permissions (diff)
parent3.3.1 third-party updates (diff)
downloadice-2380e089401d048490da23bc6d71e5687bafbe47.tar.bz2
ice-2380e089401d048490da23bc6d71e5687bafbe47.tar.xz
ice-2380e089401d048490da23bc6d71e5687bafbe47.zip
Merge branch 'R3_3_branch' of cvs:/home/git/ice into R3_3_branch
Conflicts: java/resources/IceGridAdmin/icegridadmin_content_dyn.html java/resources/IceGridAdmin/icegridadmin_content_static.html
-rw-r--r--CHANGES102
-rwxr-xr-xFixUtil.py17
-rw-r--r--ICE_LICENSE2
-rw-r--r--Makefile2
-rw-r--r--Makefile.mak2
-rw-r--r--RELEASE_NOTES50
-rwxr-xr-xallDemos.py2
-rwxr-xr-xallTests.py6
-rwxr-xr-xcerts/makecerts.py2
-rw-r--r--certs/openssl/client.cnf2
-rw-r--r--certs/openssl/ice_ca.cnf2
-rw-r--r--certs/openssl/server.cnf2
-rw-r--r--config/Make.common.rules10
-rw-r--r--config/Make.common.rules.mak318
-rw-r--r--config/PropertyNames.xml27
-rwxr-xr-xconfig/makedepend.py4
-rwxr-xr-xconfig/makeprops.py4
-rw-r--r--cpp/CHANGES10
-rw-r--r--cpp/INSTALL.HP-UX16
-rw-r--r--cpp/INSTALL.LINUX2
-rw-r--r--cpp/INSTALL.MACOSX2
-rw-r--r--cpp/INSTALL.SOLARIS2
-rw-r--r--cpp/INSTALL.WINDOWS23
-rw-r--r--cpp/Makefile2
-rw-r--r--cpp/Makefile.mak2
-rwxr-xr-xcpp/allDemos.py6
-rwxr-xr-xcpp/allTests.py10
-rw-r--r--cpp/config/Make.rules8
-rw-r--r--cpp/config/Make.rules.AIX2
-rw-r--r--cpp/config/Make.rules.Darwin2
-rw-r--r--cpp/config/Make.rules.FreeBSD2
-rw-r--r--cpp/config/Make.rules.HP-UX12
-rw-r--r--cpp/config/Make.rules.Linux2
-rw-r--r--cpp/config/Make.rules.OSF12
-rw-r--r--cpp/config/Make.rules.SunOS2
-rw-r--r--cpp/config/Make.rules.bcc2
-rw-r--r--cpp/config/Make.rules.mak8
-rw-r--r--cpp/config/Make.rules.msvc2
-rw-r--r--cpp/config/Makefile2
-rw-r--r--cpp/config/Makefile.mak2
-rwxr-xr-xcpp/config/convertssl.py4
-rw-r--r--cpp/config/findSliceFiles.py2
-rw-r--r--cpp/config/ice_ca.cnf2
-rwxr-xr-xcpp/config/makegitignore.py36
-rw-r--r--cpp/config/templates.xml2
-rwxr-xr-xcpp/config/upgradeicegrid.py2
-rw-r--r--cpp/demo/Database/Makefile2
-rw-r--r--cpp/demo/Database/Makefile.mak2
-rw-r--r--cpp/demo/Database/Oracle/Makefile2
-rw-r--r--cpp/demo/Database/Oracle/Makefile.mak2
-rw-r--r--cpp/demo/Database/Oracle/occi/Client.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/DeptFactoryI.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/DeptFactoryI.h2
-rw-r--r--cpp/demo/Database/Oracle/occi/DeptI.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/DeptI.h2
-rw-r--r--cpp/demo/Database/Oracle/occi/EmpI.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/EmpI.h2
-rw-r--r--cpp/demo/Database/Oracle/occi/HR.ice2
-rw-r--r--cpp/demo/Database/Oracle/occi/Makefile2
-rw-r--r--cpp/demo/Database/Oracle/occi/Makefile.mak2
-rw-r--r--cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/OCCIServantLocator.h2
-rw-r--r--cpp/demo/Database/Oracle/occi/Server.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/Util.cpp2
-rw-r--r--cpp/demo/Database/Oracle/occi/Util.h2
-rw-r--r--cpp/demo/Database/Oracle/proc/Client.cpp2
-rw-r--r--cpp/demo/Database/Oracle/proc/CurrentSqlContext.h2
-rw-r--r--cpp/demo/Database/Oracle/proc/DeptFactoryI.h2
-rw-r--r--cpp/demo/Database/Oracle/proc/DeptI.h2
-rw-r--r--cpp/demo/Database/Oracle/proc/EmpI.h2
-rw-r--r--cpp/demo/Database/Oracle/proc/HR.ice2
-rw-r--r--cpp/demo/Database/Oracle/proc/Makefile2
-rw-r--r--cpp/demo/Database/Oracle/proc/Makefile.mak2
-rw-r--r--cpp/demo/Database/Oracle/proc/Util.h2
-rw-r--r--cpp/demo/Freeze/Makefile2
-rw-r--r--cpp/demo/Freeze/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/backup/Client.cpp2
-rw-r--r--cpp/demo/Freeze/backup/Makefile2
-rw-r--r--cpp/demo/Freeze/backup/Makefile.mak2
-rwxr-xr-xcpp/demo/Freeze/backup/backup2
-rwxr-xr-xcpp/demo/Freeze/backup/backup.bat2
-rwxr-xr-xcpp/demo/Freeze/backup/expect.py2
-rw-r--r--cpp/demo/Freeze/bench/Client.cpp2
-rw-r--r--cpp/demo/Freeze/bench/Makefile2
-rw-r--r--cpp/demo/Freeze/bench/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/bench/Test.ice2
-rwxr-xr-xcpp/demo/Freeze/bench/expect.py2
-rw-r--r--cpp/demo/Freeze/casino/BankI.cpp2
-rw-r--r--cpp/demo/Freeze/casino/BankI.h2
-rw-r--r--cpp/demo/Freeze/casino/BetI.cpp2
-rw-r--r--cpp/demo/Freeze/casino/BetI.h2
-rw-r--r--cpp/demo/Freeze/casino/BetResolver.cpp2
-rw-r--r--cpp/demo/Freeze/casino/BetResolver.h2
-rw-r--r--cpp/demo/Freeze/casino/Casino.ice2
-rw-r--r--cpp/demo/Freeze/casino/CasinoStore.ice2
-rw-r--r--cpp/demo/Freeze/casino/Client.cpp2
-rw-r--r--cpp/demo/Freeze/casino/Makefile2
-rw-r--r--cpp/demo/Freeze/casino/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/casino/PlayerI.cpp2
-rw-r--r--cpp/demo/Freeze/casino/PlayerI.h2
-rw-r--r--cpp/demo/Freeze/casino/Server.cpp2
-rwxr-xr-xcpp/demo/Freeze/casino/expect.py2
-rw-r--r--cpp/demo/Freeze/customEvictor/Client.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/CurrentDatabase.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/CurrentDatabase.h2
-rw-r--r--cpp/demo/Freeze/customEvictor/Evictor.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/Evictor.h2
-rw-r--r--cpp/demo/Freeze/customEvictor/EvictorBase.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/EvictorBase.h2
-rw-r--r--cpp/demo/Freeze/customEvictor/Item.ice2
-rw-r--r--cpp/demo/Freeze/customEvictor/ItemI.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/ItemI.h2
-rw-r--r--cpp/demo/Freeze/customEvictor/ItemInfo.ice2
-rw-r--r--cpp/demo/Freeze/customEvictor/Makefile2
-rw-r--r--cpp/demo/Freeze/customEvictor/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/customEvictor/Server.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/SimpleEvictor.cpp2
-rw-r--r--cpp/demo/Freeze/customEvictor/SimpleEvictor.h2
-rwxr-xr-xcpp/demo/Freeze/customEvictor/expect.py2
-rw-r--r--cpp/demo/Freeze/library/.gitignore3
-rw-r--r--cpp/demo/Freeze/library/BookFactory.cpp2
-rw-r--r--cpp/demo/Freeze/library/BookFactory.h2
-rw-r--r--cpp/demo/Freeze/library/Client.cpp2
-rw-r--r--cpp/demo/Freeze/library/Collocated.cpp2
-rw-r--r--cpp/demo/Freeze/library/Grammar.cpp1418
-rw-r--r--cpp/demo/Freeze/library/Grammar.h74
-rw-r--r--cpp/demo/Freeze/library/Grammar.y2
-rw-r--r--cpp/demo/Freeze/library/Library.ice2
-rw-r--r--cpp/demo/Freeze/library/LibraryI.cpp2
-rw-r--r--cpp/demo/Freeze/library/LibraryI.h2
-rw-r--r--cpp/demo/Freeze/library/Makefile4
-rw-r--r--cpp/demo/Freeze/library/Makefile.mak4
-rw-r--r--cpp/demo/Freeze/library/Parser.cpp2
-rw-r--r--cpp/demo/Freeze/library/Parser.h2
-rw-r--r--cpp/demo/Freeze/library/RunParser.cpp2
-rw-r--r--cpp/demo/Freeze/library/Scanner.cpp1845
-rw-r--r--cpp/demo/Freeze/library/Scanner.l2
-rw-r--r--cpp/demo/Freeze/library/Server.cpp2
-rwxr-xr-xcpp/demo/Freeze/library/expect.py2
-rw-r--r--cpp/demo/Freeze/phonebook/.gitignore3
-rw-r--r--cpp/demo/Freeze/phonebook/Client.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/Collocated.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/ContactFactory.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/ContactFactory.h2
-rw-r--r--cpp/demo/Freeze/phonebook/Grammar.cpp1422
-rw-r--r--cpp/demo/Freeze/phonebook/Grammar.h74
-rw-r--r--cpp/demo/Freeze/phonebook/Grammar.y2
-rw-r--r--cpp/demo/Freeze/phonebook/Makefile4
-rw-r--r--cpp/demo/Freeze/phonebook/Makefile.mak4
-rw-r--r--cpp/demo/Freeze/phonebook/Parser.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/Parser.h2
-rw-r--r--cpp/demo/Freeze/phonebook/PhoneBook.ice2
-rw-r--r--cpp/demo/Freeze/phonebook/PhoneBookI.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/PhoneBookI.h2
-rw-r--r--cpp/demo/Freeze/phonebook/RunParser.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/Scanner.cpp1845
-rw-r--r--cpp/demo/Freeze/phonebook/Scanner.l2
-rw-r--r--cpp/demo/Freeze/phonebook/Server.cpp2
-rwxr-xr-xcpp/demo/Freeze/phonebook/expect.py2
-rw-r--r--cpp/demo/Freeze/transform/ContactData.ice2
-rw-r--r--cpp/demo/Freeze/transform/Makefile2
-rw-r--r--cpp/demo/Freeze/transform/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/transform/NewContactData.ice2
-rw-r--r--cpp/demo/Freeze/transform/create.cpp2
-rwxr-xr-xcpp/demo/Freeze/transform/expect.py2
-rw-r--r--cpp/demo/Freeze/transform/read.cpp2
-rw-r--r--cpp/demo/Freeze/transform/readnew.cpp2
-rw-r--r--cpp/demo/Freeze/transform/recreate.cpp2
-rw-r--r--cpp/demo/Glacier2/Makefile2
-rw-r--r--cpp/demo/Glacier2/Makefile.mak2
-rw-r--r--cpp/demo/Glacier2/callback/Callback.ice2
-rw-r--r--cpp/demo/Glacier2/callback/CallbackI.cpp2
-rw-r--r--cpp/demo/Glacier2/callback/CallbackI.h2
-rw-r--r--cpp/demo/Glacier2/callback/Client.cpp2
-rw-r--r--cpp/demo/Glacier2/callback/Makefile2
-rw-r--r--cpp/demo/Glacier2/callback/Makefile.mak2
-rw-r--r--cpp/demo/Glacier2/callback/Server.cpp2
-rw-r--r--cpp/demo/Glacier2/callback/SessionI.cpp2
-rw-r--r--cpp/demo/Glacier2/callback/SessionI.h2
-rw-r--r--cpp/demo/Glacier2/callback/SessionServer.cpp2
-rwxr-xr-xcpp/demo/Glacier2/callback/expect.py2
-rw-r--r--cpp/demo/Glacier2/chat/Chat.ice2
-rw-r--r--cpp/demo/Glacier2/chat/ChatSessionI.cpp2
-rw-r--r--cpp/demo/Glacier2/chat/ChatSessionI.h2
-rw-r--r--cpp/demo/Glacier2/chat/Client.cpp2
-rw-r--r--cpp/demo/Glacier2/chat/Makefile2
-rw-r--r--cpp/demo/Glacier2/chat/Makefile.mak2
-rw-r--r--cpp/demo/Glacier2/chat/Server.cpp2
-rwxr-xr-xcpp/demo/Glacier2/chat/expect.py2
-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/.gitignore (renamed from cpp/src/Slice/.gitignore)7
-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
-rw-r--r--cpp/demo/IceBox/Makefile2
-rw-r--r--cpp/demo/IceBox/Makefile.mak2
-rw-r--r--cpp/demo/IceBox/hello/Client.cpp2
-rw-r--r--cpp/demo/IceBox/hello/Hello.ice4
-rw-r--r--cpp/demo/IceBox/hello/HelloI.cpp4
-rw-r--r--cpp/demo/IceBox/hello/HelloI.h4
-rw-r--r--cpp/demo/IceBox/hello/HelloServiceI.cpp2
-rw-r--r--cpp/demo/IceBox/hello/HelloServiceI.h2
-rw-r--r--cpp/demo/IceBox/hello/Makefile2
-rw-r--r--cpp/demo/IceBox/hello/Makefile.mak2
-rwxr-xr-xcpp/demo/IceBox/hello/expect.py5
-rw-r--r--cpp/demo/IceGrid/Makefile2
-rw-r--r--cpp/demo/IceGrid/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/allocate/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/allocate/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/allocate/HelloI.cpp4
-rw-r--r--cpp/demo/IceGrid/allocate/HelloI.h4
-rw-r--r--cpp/demo/IceGrid/allocate/Makefile2
-rw-r--r--cpp/demo/IceGrid/allocate/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/allocate/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/allocate/application-multiple.xml2
-rw-r--r--cpp/demo/IceGrid/allocate/application-single.xml2
-rwxr-xr-xcpp/demo/IceGrid/allocate/expect.py2
-rw-r--r--cpp/demo/IceGrid/icebox/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/icebox/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/icebox/HelloI.cpp2
-rw-r--r--cpp/demo/IceGrid/icebox/HelloI.h2
-rw-r--r--cpp/demo/IceGrid/icebox/HelloServiceI.cpp2
-rw-r--r--cpp/demo/IceGrid/icebox/HelloServiceI.h2
-rw-r--r--cpp/demo/IceGrid/icebox/Makefile2
-rw-r--r--cpp/demo/IceGrid/icebox/Makefile.mak2
-rwxr-xr-xcpp/demo/IceGrid/icebox/expect.py7
-rw-r--r--cpp/demo/IceGrid/replication/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/replication/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/replication/HelloI.cpp4
-rw-r--r--cpp/demo/IceGrid/replication/HelloI.h4
-rw-r--r--cpp/demo/IceGrid/replication/Makefile2
-rw-r--r--cpp/demo/IceGrid/replication/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/replication/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/replication/application.xml2
-rwxr-xr-xcpp/demo/IceGrid/replication/expect.py2
-rw-r--r--cpp/demo/IceGrid/secure/.gitignore2
-rw-r--r--cpp/demo/IceGrid/secure/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/secure/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/secure/HelloI.cpp4
-rw-r--r--cpp/demo/IceGrid/secure/HelloI.h4
-rw-r--r--cpp/demo/IceGrid/secure/Makefile2
-rw-r--r--cpp/demo/IceGrid/secure/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/secure/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/secure/application.xml2
-rwxr-xr-xcpp/demo/IceGrid/secure/expect.py38
-rwxr-xr-xcpp/demo/IceGrid/secure/makecerts.py2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/sessionActivation/HelloI.cpp4
-rw-r--r--cpp/demo/IceGrid/sessionActivation/HelloI.h4
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Makefile2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/application.xml2
-rwxr-xr-xcpp/demo/IceGrid/sessionActivation/expect.py2
-rw-r--r--cpp/demo/IceGrid/simple/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/simple/Hello.ice4
-rw-r--r--cpp/demo/IceGrid/simple/HelloI.cpp4
-rw-r--r--cpp/demo/IceGrid/simple/HelloI.h4
-rw-r--r--cpp/demo/IceGrid/simple/Makefile2
-rw-r--r--cpp/demo/IceGrid/simple/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/simple/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/simple/application.xml2
-rw-r--r--cpp/demo/IceGrid/simple/application_with_replication.xml2
-rw-r--r--cpp/demo/IceGrid/simple/application_with_template.xml2
-rwxr-xr-xcpp/demo/IceGrid/simple/expect.py2
-rw-r--r--cpp/demo/IcePatch2/MFC/Makefile.mak2
-rw-r--r--cpp/demo/IcePatch2/MFC/PatchClient.cpp2
-rw-r--r--cpp/demo/IcePatch2/MFC/PatchClient.h2
-rw-r--r--cpp/demo/IcePatch2/MFC/PatchClient.rc2
-rw-r--r--cpp/demo/IcePatch2/MFC/PatchClientDlg.cpp2
-rw-r--r--cpp/demo/IcePatch2/MFC/PatchClientDlg.h2
-rw-r--r--cpp/demo/IcePatch2/MFC/stdafx.cpp2
-rw-r--r--cpp/demo/IcePatch2/MFC/stdafx.h2
-rw-r--r--cpp/demo/IcePatch2/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/Makefile2
-rw-r--r--cpp/demo/IceStorm/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/clock/Clock.ice2
-rw-r--r--cpp/demo/IceStorm/clock/Makefile2
-rw-r--r--cpp/demo/IceStorm/clock/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/clock/Publisher.cpp2
-rw-r--r--cpp/demo/IceStorm/clock/Subscriber.cpp2
-rwxr-xr-xcpp/demo/IceStorm/clock/expect.py2
-rw-r--r--cpp/demo/IceStorm/counter/Client.cpp2
-rw-r--r--cpp/demo/IceStorm/counter/Counter.ice2
-rw-r--r--cpp/demo/IceStorm/counter/CounterI.cpp2
-rw-r--r--cpp/demo/IceStorm/counter/CounterI.h2
-rw-r--r--cpp/demo/IceStorm/counter/CounterObserverI.cpp2
-rw-r--r--cpp/demo/IceStorm/counter/CounterObserverI.h2
-rw-r--r--cpp/demo/IceStorm/counter/Makefile2
-rw-r--r--cpp/demo/IceStorm/counter/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/counter/Server.cpp2
-rwxr-xr-xcpp/demo/IceStorm/counter/expect.py2
-rw-r--r--cpp/demo/IceStorm/replicated/Clock.ice2
-rw-r--r--cpp/demo/IceStorm/replicated/Makefile2
-rw-r--r--cpp/demo/IceStorm/replicated/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/replicated/Publisher.cpp2
-rw-r--r--cpp/demo/IceStorm/replicated/Subscriber.cpp2
-rw-r--r--cpp/demo/IceStorm/replicated/application.xml2
-rwxr-xr-xcpp/demo/IceStorm/replicated/expect.py4
-rw-r--r--cpp/demo/IceStorm/replicated2/Clock.ice2
-rw-r--r--cpp/demo/IceStorm/replicated2/Makefile2
-rw-r--r--cpp/demo/IceStorm/replicated2/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/replicated2/Publisher.cpp2
-rw-r--r--cpp/demo/IceStorm/replicated2/Subscriber.cpp2
-rwxr-xr-xcpp/demo/IceStorm/replicated2/expect.py2
-rw-r--r--cpp/demo/IceUtil/Makefile2
-rw-r--r--cpp/demo/IceUtil/Makefile.mak2
-rw-r--r--cpp/demo/IceUtil/workqueue/Makefile2
-rw-r--r--cpp/demo/IceUtil/workqueue/Makefile.mak2
-rw-r--r--cpp/demo/IceUtil/workqueue/WorkQueue.cpp2
-rwxr-xr-xcpp/demo/IceUtil/workqueue/expect.py2
-rw-r--r--cpp/demo/Makefile2
-rw-r--r--cpp/demo/Makefile.mak2
-rw-r--r--cpp/demo/book/Makefile2
-rw-r--r--cpp/demo/book/Makefile.mak2
-rw-r--r--cpp/demo/book/freeze_filesystem/.gitignore3
-rw-r--r--cpp/demo/book/freeze_filesystem/Client.cpp2
-rw-r--r--cpp/demo/book/freeze_filesystem/Filesystem.ice2
-rw-r--r--cpp/demo/book/freeze_filesystem/Makefile4
-rw-r--r--cpp/demo/book/freeze_filesystem/Makefile.mak2
-rw-r--r--cpp/demo/book/freeze_filesystem/PersistentFilesystem.ice2
-rw-r--r--cpp/demo/book/freeze_filesystem/PersistentFilesystemI.cpp8
-rw-r--r--cpp/demo/book/freeze_filesystem/PersistentFilesystemI.h2
-rw-r--r--cpp/demo/book/freeze_filesystem/Server.cpp2
-rwxr-xr-xcpp/demo/book/freeze_filesystem/expect.py2
-rw-r--r--cpp/demo/book/lifecycle/.gitignore3
-rw-r--r--cpp/demo/book/lifecycle/Client.cpp2
-rw-r--r--cpp/demo/book/lifecycle/FilesystemI.cpp2
-rw-r--r--cpp/demo/book/lifecycle/FilesystemI.h2
-rw-r--r--cpp/demo/book/lifecycle/Grammar.cpp1408
-rw-r--r--cpp/demo/book/lifecycle/Grammar.h72
-rw-r--r--cpp/demo/book/lifecycle/Grammar.y2
-rw-r--r--cpp/demo/book/lifecycle/Makefile6
-rw-r--r--cpp/demo/book/lifecycle/Makefile.mak4
-rw-r--r--cpp/demo/book/lifecycle/Parser.cpp2
-rw-r--r--cpp/demo/book/lifecycle/Parser.h2
-rw-r--r--cpp/demo/book/lifecycle/Scanner.cpp1826
-rw-r--r--cpp/demo/book/lifecycle/Scanner.l2
-rw-r--r--cpp/demo/book/lifecycle/Server.cpp2
-rwxr-xr-xcpp/demo/book/lifecycle/expect.py2
-rw-r--r--cpp/demo/book/printer/Client.cpp2
-rw-r--r--cpp/demo/book/printer/Makefile2
-rw-r--r--cpp/demo/book/printer/Makefile.mak2
-rw-r--r--cpp/demo/book/printer/Printer.ice2
-rw-r--r--cpp/demo/book/printer/Server.cpp2
-rwxr-xr-xcpp/demo/book/printer/expect.py2
-rw-r--r--cpp/demo/book/simple_filesystem/Client.cpp2
-rw-r--r--cpp/demo/book/simple_filesystem/Filesystem.ice2
-rw-r--r--cpp/demo/book/simple_filesystem/FilesystemI.cpp2
-rw-r--r--cpp/demo/book/simple_filesystem/FilesystemI.h2
-rw-r--r--cpp/demo/book/simple_filesystem/Makefile2
-rw-r--r--cpp/demo/book/simple_filesystem/Makefile.mak2
-rw-r--r--cpp/demo/book/simple_filesystem/Server.cpp2
-rwxr-xr-xcpp/demo/book/simple_filesystem/expect.py2
-rw-r--r--cpp/doc/Makefile2
-rw-r--r--cpp/doc/Makefile.mak2
-rw-r--r--cpp/doc/htmlHeader15
-rw-r--r--cpp/doc/indexFooter64
-rw-r--r--cpp/doc/indexHeader79
-rwxr-xr-xcpp/doc/swish/TemplateSlice.pm6
-rw-r--r--cpp/doc/swish/swish.conf4
-rw-r--r--cpp/doc/swish/swishcgi.conf16
-rw-r--r--cpp/doc/symboltree.js2
-rw-r--r--cpp/include/Freeze/Freeze.h2
-rw-r--r--cpp/include/Freeze/Index.h2
-rw-r--r--cpp/include/Freeze/Initialize.h2
-rw-r--r--cpp/include/Freeze/Makefile2
-rw-r--r--cpp/include/Freeze/Makefile.mak2
-rw-r--r--cpp/include/Freeze/Map.h2
-rw-r--r--cpp/include/Freeze/TransactionHolder.h2
-rw-r--r--cpp/include/Glacier2/Glacier2.h2
-rw-r--r--cpp/include/Glacier2/Makefile2
-rw-r--r--cpp/include/Glacier2/Makefile.mak2
-rw-r--r--cpp/include/Ice/Application.h2
-rw-r--r--cpp/include/Ice/BasicStream.h2
-rw-r--r--cpp/include/Ice/Buffer.h2
-rw-r--r--cpp/include/Ice/Config.h2
-rw-r--r--cpp/include/Ice/ConnectionFactoryF.h2
-rw-r--r--cpp/include/Ice/ConnectionIF.h2
-rw-r--r--cpp/include/Ice/ConnectionMonitorF.h2
-rw-r--r--cpp/include/Ice/Direct.h2
-rw-r--r--cpp/include/Ice/DispatchInterceptor.h2
-rw-r--r--cpp/include/Ice/DynamicLibrary.h2
-rw-r--r--cpp/include/Ice/DynamicLibraryF.h2
-rw-r--r--cpp/include/Ice/EndpointFactory.h2
-rw-r--r--cpp/include/Ice/EndpointFactoryF.h2
-rw-r--r--cpp/include/Ice/EndpointIF.h2
-rw-r--r--cpp/include/Ice/Exception.h2
-rw-r--r--cpp/include/Ice/FactoryTable.h2
-rw-r--r--cpp/include/Ice/FactoryTableDef.h2
-rw-r--r--cpp/include/Ice/Functional.h2
-rw-r--r--cpp/include/Ice/GCCountMap.h2
-rw-r--r--cpp/include/Ice/GCShared.h2
-rw-r--r--cpp/include/Ice/Handle.h2
-rw-r--r--cpp/include/Ice/Ice.h2
-rw-r--r--cpp/include/Ice/IconvStringConverter.h3
-rw-r--r--cpp/include/Ice/Incoming.h2
-rw-r--r--cpp/include/Ice/IncomingAsync.h2
-rw-r--r--cpp/include/Ice/IncomingAsyncF.h2
-rw-r--r--cpp/include/Ice/Initialize.h2
-rw-r--r--cpp/include/Ice/InstanceF.h2
-rw-r--r--cpp/include/Ice/LocalObject.h2
-rw-r--r--cpp/include/Ice/LocalObjectF.h2
-rw-r--r--cpp/include/Ice/LoggerUtil.h4
-rw-r--r--cpp/include/Ice/Makefile2
-rw-r--r--cpp/include/Ice/Makefile.mak2
-rw-r--r--cpp/include/Ice/Object.h2
-rw-r--r--cpp/include/Ice/ObjectAdapterFactoryF.h2
-rw-r--r--cpp/include/Ice/ObjectF.h2
-rw-r--r--cpp/include/Ice/Outgoing.h2
-rw-r--r--cpp/include/Ice/OutgoingAsync.h6
-rw-r--r--cpp/include/Ice/OutgoingAsyncF.h2
-rw-r--r--cpp/include/Ice/Protocol.h2
-rw-r--r--cpp/include/Ice/ProtocolPluginFacade.h2
-rw-r--r--cpp/include/Ice/ProtocolPluginFacadeF.h2
-rw-r--r--cpp/include/Ice/Proxy.h2
-rw-r--r--cpp/include/Ice/ProxyF.h2
-rw-r--r--cpp/include/Ice/ProxyFactoryF.h2
-rw-r--r--cpp/include/Ice/ProxyHandle.h2
-rw-r--r--cpp/include/Ice/ReferenceF.h2
-rw-r--r--cpp/include/Ice/RequestHandlerF.h2
-rw-r--r--cpp/include/Ice/ServantManagerF.h2
-rw-r--r--cpp/include/Ice/Service.h2
-rw-r--r--cpp/include/Ice/SliceChecksums.h2
-rw-r--r--cpp/include/Ice/Stream.h2
-rw-r--r--cpp/include/Ice/StreamF.h2
-rw-r--r--cpp/include/Ice/StringConverter.h4
-rw-r--r--cpp/include/Ice/UndefSysMacros.h2
-rw-r--r--cpp/include/Ice/UserExceptionFactory.h2
-rw-r--r--cpp/include/Ice/UserExceptionFactoryF.h2
-rw-r--r--cpp/include/IceBox/Makefile2
-rw-r--r--cpp/include/IceBox/Makefile.mak2
-rw-r--r--cpp/include/IceGrid/IceGrid.h2
-rw-r--r--cpp/include/IceGrid/Makefile2
-rw-r--r--cpp/include/IceGrid/Makefile.mak2
-rw-r--r--cpp/include/IceGrid/Perf.h2
-rw-r--r--cpp/include/IcePatch2/ClientUtil.h2
-rw-r--r--cpp/include/IcePatch2/Makefile2
-rw-r--r--cpp/include/IcePatch2/Makefile.mak2
-rw-r--r--cpp/include/IceSSL/Makefile2
-rw-r--r--cpp/include/IceSSL/Makefile.mak2
-rw-r--r--cpp/include/IceSSL/Plugin.h15
-rw-r--r--cpp/include/IceStorm/Makefile2
-rw-r--r--cpp/include/IceStorm/Makefile.mak2
-rw-r--r--cpp/include/IceUtil/AbstractMutex.h2
-rw-r--r--cpp/include/IceUtil/ArgVector.h2
-rw-r--r--cpp/include/IceUtil/Cache.h2
-rw-r--r--cpp/include/IceUtil/Cond.h2
-rw-r--r--cpp/include/IceUtil/Config.h6
-rw-r--r--cpp/include/IceUtil/CountDownLatch.h2
-rw-r--r--cpp/include/IceUtil/CtrlCHandler.h2
-rw-r--r--cpp/include/IceUtil/DisableWarnings.h2
-rw-r--r--cpp/include/IceUtil/Exception.h2
-rw-r--r--cpp/include/IceUtil/FileUtil.h2
-rw-r--r--cpp/include/IceUtil/Functional.h2
-rw-r--r--cpp/include/IceUtil/Handle.h2
-rw-r--r--cpp/include/IceUtil/IceUtil.h2
-rw-r--r--cpp/include/IceUtil/InputUtil.h2
-rw-r--r--cpp/include/IceUtil/Iterator.h2
-rw-r--r--cpp/include/IceUtil/Lock.h2
-rw-r--r--cpp/include/IceUtil/Makefile2
-rw-r--r--cpp/include/IceUtil/Makefile.mak2
-rw-r--r--cpp/include/IceUtil/Monitor.h2
-rw-r--r--cpp/include/IceUtil/Mutex.h2
-rw-r--r--cpp/include/IceUtil/Options.h2
-rw-r--r--cpp/include/IceUtil/OutputUtil.h2
-rw-r--r--cpp/include/IceUtil/RWRecMutex.h2
-rw-r--r--cpp/include/IceUtil/Random.h2
-rw-r--r--cpp/include/IceUtil/RecMutex.h2
-rw-r--r--cpp/include/IceUtil/ScopedArray.h2
-rw-r--r--cpp/include/IceUtil/Shared.h2
-rw-r--r--cpp/include/IceUtil/StaticMutex.h2
-rw-r--r--cpp/include/IceUtil/StringUtil.h14
-rw-r--r--cpp/include/IceUtil/Thread.h2
-rw-r--r--cpp/include/IceUtil/ThreadException.h2
-rw-r--r--cpp/include/IceUtil/Time.h2
-rw-r--r--cpp/include/IceUtil/Timer.h2
-rw-r--r--cpp/include/IceUtil/UUID.h2
-rw-r--r--cpp/include/IceUtil/Unicode.h2
-rw-r--r--cpp/include/IceXML/Makefile2
-rw-r--r--cpp/include/IceXML/Makefile.mak2
-rw-r--r--cpp/include/IceXML/Parser.h2
-rw-r--r--cpp/include/Makefile2
-rw-r--r--cpp/include/Makefile.mak2
-rw-r--r--cpp/include/Slice/CPlusPlusUtil.h2
-rw-r--r--cpp/include/Slice/Checksum.h2
-rw-r--r--cpp/include/Slice/CsUtil.h2
-rw-r--r--cpp/include/Slice/DotNetNames.h2
-rw-r--r--cpp/include/Slice/FileTracker.h62
-rw-r--r--cpp/include/Slice/JavaUtil.h6
-rw-r--r--cpp/include/Slice/Makefile2
-rw-r--r--cpp/include/Slice/Makefile.mak2
-rw-r--r--cpp/include/Slice/Parser.h2
-rw-r--r--cpp/include/Slice/Preprocessor.h8
-rw-r--r--cpp/include/Slice/PythonUtil.h2
-rw-r--r--cpp/include/Slice/RubyUtil.h2
-rw-r--r--cpp/include/Slice/SignalHandler.h43
-rw-r--r--cpp/include/Slice/Util.h2
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.cpp4
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.h2
-rw-r--r--cpp/src/Freeze/ConnectionI.cpp2
-rw-r--r--cpp/src/Freeze/ConnectionI.h2
-rw-r--r--cpp/src/Freeze/EvictorI.cpp2
-rw-r--r--cpp/src/Freeze/EvictorI.h2
-rw-r--r--cpp/src/Freeze/EvictorIteratorI.cpp2
-rw-r--r--cpp/src/Freeze/EvictorIteratorI.h2
-rw-r--r--cpp/src/Freeze/Freeze.rc10
-rw-r--r--cpp/src/Freeze/Index.cpp2
-rw-r--r--cpp/src/Freeze/IndexI.cpp2
-rw-r--r--cpp/src/Freeze/IndexI.h2
-rw-r--r--cpp/src/Freeze/Makefile2
-rw-r--r--cpp/src/Freeze/Makefile.mak2
-rw-r--r--cpp/src/Freeze/MapDb.cpp2
-rw-r--r--cpp/src/Freeze/MapDb.h2
-rw-r--r--cpp/src/Freeze/MapI.cpp2
-rw-r--r--cpp/src/Freeze/MapI.h2
-rw-r--r--cpp/src/Freeze/ObjectStore.cpp2
-rw-r--r--cpp/src/Freeze/ObjectStore.h2
-rw-r--r--cpp/src/Freeze/PingObject.ice2
-rw-r--r--cpp/src/Freeze/SharedDbEnv.cpp10
-rw-r--r--cpp/src/Freeze/SharedDbEnv.h2
-rw-r--r--cpp/src/Freeze/TransactionHolder.cpp2
-rw-r--r--cpp/src/Freeze/TransactionI.cpp7
-rw-r--r--cpp/src/Freeze/TransactionI.h2
-rw-r--r--cpp/src/Freeze/TransactionalEvictorContext.cpp2
-rw-r--r--cpp/src/Freeze/TransactionalEvictorContext.h2
-rw-r--r--cpp/src/Freeze/TransactionalEvictorI.cpp15
-rw-r--r--cpp/src/Freeze/TransactionalEvictorI.h2
-rw-r--r--cpp/src/Freeze/Util.cpp2
-rw-r--r--cpp/src/Freeze/Util.h2
-rw-r--r--cpp/src/FreezeScript/AssignVisitor.cpp2
-rw-r--r--cpp/src/FreezeScript/AssignVisitor.h2
-rw-r--r--cpp/src/FreezeScript/Data.cpp2
-rw-r--r--cpp/src/FreezeScript/Data.h2
-rw-r--r--cpp/src/FreezeScript/DumpDB.cpp2
-rw-r--r--cpp/src/FreezeScript/DumpDB.rc10
-rw-r--r--cpp/src/FreezeScript/DumpDescriptors.cpp2
-rw-r--r--cpp/src/FreezeScript/DumpDescriptors.h2
-rw-r--r--cpp/src/FreezeScript/Error.cpp2
-rw-r--r--cpp/src/FreezeScript/Error.h2
-rw-r--r--cpp/src/FreezeScript/Exception.cpp2
-rw-r--r--cpp/src/FreezeScript/Exception.h2
-rw-r--r--cpp/src/FreezeScript/Functions.cpp6
-rw-r--r--cpp/src/FreezeScript/Functions.h2
-rw-r--r--cpp/src/FreezeScript/Grammar.cpp1674
-rw-r--r--cpp/src/FreezeScript/Grammar.h102
-rw-r--r--cpp/src/FreezeScript/Grammar.y2
-rw-r--r--cpp/src/FreezeScript/GrammarUtil.h2
-rw-r--r--cpp/src/FreezeScript/Makefile7
-rw-r--r--cpp/src/FreezeScript/Makefile.mak4
-rw-r--r--cpp/src/FreezeScript/Parser.cpp2
-rw-r--r--cpp/src/FreezeScript/Parser.h2
-rw-r--r--cpp/src/FreezeScript/Print.cpp2
-rw-r--r--cpp/src/FreezeScript/Print.h2
-rw-r--r--cpp/src/FreezeScript/Scanner.cpp2000
-rw-r--r--cpp/src/FreezeScript/Scanner.l8
-rw-r--r--cpp/src/FreezeScript/TransformAnalyzer.cpp2
-rw-r--r--cpp/src/FreezeScript/TransformAnalyzer.h2
-rw-r--r--cpp/src/FreezeScript/TransformDB.rc10
-rw-r--r--cpp/src/FreezeScript/TransformVisitor.cpp4
-rw-r--r--cpp/src/FreezeScript/TransformVisitor.h2
-rw-r--r--cpp/src/FreezeScript/Transformer.cpp2
-rw-r--r--cpp/src/FreezeScript/Transformer.h2
-rw-r--r--cpp/src/FreezeScript/Util.cpp2
-rw-r--r--cpp/src/FreezeScript/Util.h2
-rw-r--r--cpp/src/FreezeScript/transformdb.cpp76
-rw-r--r--cpp/src/Glacier2/.depend34
-rw-r--r--cpp/src/Glacier2/Blobject.cpp113
-rw-r--r--cpp/src/Glacier2/Blobject.h6
-rw-r--r--cpp/src/Glacier2/ClientBlobject.cpp6
-rw-r--r--cpp/src/Glacier2/ClientBlobject.h2
-rw-r--r--cpp/src/Glacier2/CryptPermissionsVerifierI.cpp2
-rw-r--r--cpp/src/Glacier2/CryptPermissionsVerifierI.h2
-rw-r--r--cpp/src/Glacier2/FilterI.cpp2
-rw-r--r--cpp/src/Glacier2/FilterI.h3
-rw-r--r--cpp/src/Glacier2/FilterManager.cpp2
-rw-r--r--cpp/src/Glacier2/FilterManager.h2
-rw-r--r--cpp/src/Glacier2/Glacier2.rc10
-rw-r--r--cpp/src/Glacier2/Glacier2Router.cpp12
-rw-r--r--cpp/src/Glacier2/Glacier2Router.rc10
-rw-r--r--cpp/src/Glacier2/Instance.cpp13
-rw-r--r--cpp/src/Glacier2/Instance.h13
-rw-r--r--cpp/src/Glacier2/Makefile2
-rw-r--r--cpp/src/Glacier2/Makefile.mak2
-rw-r--r--cpp/src/Glacier2/ProxyVerifier.cpp128
-rw-r--r--cpp/src/Glacier2/ProxyVerifier.h11
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp55
-rw-r--r--cpp/src/Glacier2/RequestQueue.h13
-rw-r--r--cpp/src/Glacier2/RouterI.cpp2
-rw-r--r--cpp/src/Glacier2/RouterI.h2
-rw-r--r--cpp/src/Glacier2/RoutingTable.cpp8
-rw-r--r--cpp/src/Glacier2/RoutingTable.h7
-rw-r--r--cpp/src/Glacier2/ServerBlobject.cpp7
-rw-r--r--cpp/src/Glacier2/ServerBlobject.h6
-rw-r--r--cpp/src/Glacier2/SessionRouterI.cpp4
-rw-r--r--cpp/src/Glacier2/SessionRouterI.h2
-rw-r--r--cpp/src/Ice/.depend69
-rw-r--r--cpp/src/Ice/Acceptor.cpp2
-rw-r--r--cpp/src/Ice/Acceptor.h2
-rw-r--r--cpp/src/Ice/AcceptorF.h2
-rw-r--r--cpp/src/Ice/Application.cpp2
-rw-r--r--cpp/src/Ice/Base64.cpp2
-rw-r--r--cpp/src/Ice/Base64.h2
-rw-r--r--cpp/src/Ice/BasicStream.cpp2
-rw-r--r--cpp/src/Ice/Buffer.cpp2
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp30
-rw-r--r--cpp/src/Ice/CommunicatorI.h2
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.h2
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp4
-rw-r--r--cpp/src/Ice/ConnectionFactory.h2
-rw-r--r--cpp/src/Ice/ConnectionI.cpp2
-rw-r--r--cpp/src/Ice/ConnectionI.h2
-rw-r--r--cpp/src/Ice/ConnectionMonitor.cpp2
-rw-r--r--cpp/src/Ice/ConnectionMonitor.h2
-rw-r--r--cpp/src/Ice/ConnectionRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/ConnectionRequestHandler.h2
-rw-r--r--cpp/src/Ice/Connector.cpp2
-rw-r--r--cpp/src/Ice/Connector.h2
-rw-r--r--cpp/src/Ice/ConnectorF.h2
-rw-r--r--cpp/src/Ice/DLLMain.cpp2
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.cpp2
-rw-r--r--cpp/src/Ice/DefaultsAndOverrides.h2
-rw-r--r--cpp/src/Ice/DefaultsAndOverridesF.h2
-rw-r--r--cpp/src/Ice/Direct.cpp2
-rw-r--r--cpp/src/Ice/DispatchInterceptor.cpp2
-rw-r--r--cpp/src/Ice/DynamicLibrary.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactory.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.cpp2
-rw-r--r--cpp/src/Ice/EndpointFactoryManager.h2
-rw-r--r--cpp/src/Ice/EndpointFactoryManagerF.h2
-rw-r--r--cpp/src/Ice/EndpointI.cpp4
-rw-r--r--cpp/src/Ice/EndpointI.h2
-rw-r--r--cpp/src/Ice/EventHandler.cpp2
-rw-r--r--cpp/src/Ice/EventHandler.h2
-rw-r--r--cpp/src/Ice/EventHandlerF.h2
-rw-r--r--cpp/src/Ice/EventLoggerI.cpp2
-rw-r--r--cpp/src/Ice/EventLoggerI.h2
-rwxr-xr-xcpp/src/Ice/EventLoggerMsg.mc2
-rw-r--r--cpp/src/Ice/Exception.cpp4
-rw-r--r--cpp/src/Ice/FactoryTable.cpp7
-rw-r--r--cpp/src/Ice/FactoryTableDef.cpp2
-rw-r--r--cpp/src/Ice/GC.cpp2
-rw-r--r--cpp/src/Ice/GC.h2
-rw-r--r--cpp/src/Ice/Ice.rc10
-rw-r--r--cpp/src/Ice/ImplicitContextI.cpp2
-rw-r--r--cpp/src/Ice/ImplicitContextI.h2
-rw-r--r--cpp/src/Ice/Incoming.cpp2
-rw-r--r--cpp/src/Ice/IncomingAsync.cpp2
-rw-r--r--cpp/src/Ice/IncomingRequest.h2
-rw-r--r--cpp/src/Ice/Initialize.cpp2
-rw-r--r--cpp/src/Ice/Instance.cpp41
-rw-r--r--cpp/src/Ice/Instance.h5
-rw-r--r--cpp/src/Ice/LocalObject.cpp2
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp824
-rw-r--r--cpp/src/Ice/LocatorInfo.h100
-rw-r--r--cpp/src/Ice/LocatorInfoF.h2
-rw-r--r--cpp/src/Ice/LoggerI.cpp2
-rw-r--r--cpp/src/Ice/LoggerI.h2
-rw-r--r--cpp/src/Ice/LoggerUtil.cpp2
-rw-r--r--cpp/src/Ice/Makefile3
-rw-r--r--cpp/src/Ice/Makefile.mak3
-rw-r--r--cpp/src/Ice/Network.cpp4
-rw-r--r--cpp/src/Ice/Network.h2
-rw-r--r--cpp/src/Ice/Object.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterFactory.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterFactory.h2
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp2
-rw-r--r--cpp/src/Ice/ObjectAdapterI.h2
-rw-r--r--cpp/src/Ice/ObjectFactoryManager.cpp2
-rw-r--r--cpp/src/Ice/ObjectFactoryManager.h2
-rw-r--r--cpp/src/Ice/ObjectFactoryManagerF.h2
-rw-r--r--cpp/src/Ice/Outgoing.cpp2
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp34
-rw-r--r--cpp/src/Ice/PluginManagerI.cpp57
-rw-r--r--cpp/src/Ice/PluginManagerI.h2
-rw-r--r--cpp/src/Ice/PropertiesI.cpp2
-rw-r--r--cpp/src/Ice/PropertiesI.h2
-rw-r--r--cpp/src/Ice/PropertyNames.cpp28
-rw-r--r--cpp/src/Ice/PropertyNames.h5
-rw-r--r--cpp/src/Ice/Protocol.cpp2
-rw-r--r--cpp/src/Ice/ProtocolPluginFacade.cpp2
-rw-r--r--cpp/src/Ice/Proxy.cpp29
-rw-r--r--cpp/src/Ice/ProxyFactory.cpp67
-rw-r--r--cpp/src/Ice/ProxyFactory.h2
-rw-r--r--cpp/src/Ice/Reference.cpp2
-rw-r--r--cpp/src/Ice/Reference.h2
-rw-r--r--cpp/src/Ice/ReferenceFactory.cpp2
-rw-r--r--cpp/src/Ice/ReferenceFactory.h2
-rw-r--r--cpp/src/Ice/ReferenceFactoryF.h2
-rw-r--r--cpp/src/Ice/ReplyStatus.h2
-rw-r--r--cpp/src/Ice/RequestHandler.cpp2
-rw-r--r--cpp/src/Ice/RequestHandler.h2
-rw-r--r--cpp/src/Ice/RetryQueue.cpp92
-rw-r--r--cpp/src/Ice/RetryQueue.h62
-rw-r--r--cpp/src/Ice/RetryQueueF.h24
-rw-r--r--cpp/src/Ice/RouterInfo.cpp2
-rw-r--r--cpp/src/Ice/RouterInfo.h2
-rw-r--r--cpp/src/Ice/RouterInfoF.h2
-rw-r--r--cpp/src/Ice/Selector.h2
-rw-r--r--cpp/src/Ice/SelectorF.h2
-rw-r--r--cpp/src/Ice/SelectorThread.cpp9
-rw-r--r--cpp/src/Ice/SelectorThread.h2
-rw-r--r--cpp/src/Ice/SelectorThreadF.h2
-rw-r--r--cpp/src/Ice/ServantManager.cpp2
-rw-r--r--cpp/src/Ice/ServantManager.h2
-rw-r--r--cpp/src/Ice/Service.cpp2
-rw-r--r--cpp/src/Ice/SharedContext.h2
-rw-r--r--cpp/src/Ice/SliceChecksums.cpp2
-rw-r--r--cpp/src/Ice/SocketReadyCallback.h2
-rw-r--r--cpp/src/Ice/Stream.cpp2
-rw-r--r--cpp/src/Ice/StreamI.cpp11
-rw-r--r--cpp/src/Ice/StreamI.h2
-rw-r--r--cpp/src/Ice/StringConverter.cpp4
-rw-r--r--cpp/src/Ice/SysLoggerI.cpp2
-rw-r--r--cpp/src/Ice/SysLoggerI.h2
-rw-r--r--cpp/src/Ice/TcpAcceptor.cpp2
-rw-r--r--cpp/src/Ice/TcpAcceptor.h2
-rw-r--r--cpp/src/Ice/TcpConnector.cpp2
-rw-r--r--cpp/src/Ice/TcpConnector.h2
-rw-r--r--cpp/src/Ice/TcpEndpointI.cpp2
-rw-r--r--cpp/src/Ice/TcpEndpointI.h2
-rw-r--r--cpp/src/Ice/TcpTransceiver.cpp2
-rw-r--r--cpp/src/Ice/TcpTransceiver.h2
-rw-r--r--cpp/src/Ice/ThreadPool.cpp21
-rw-r--r--cpp/src/Ice/ThreadPool.h2
-rw-r--r--cpp/src/Ice/ThreadPoolF.h2
-rw-r--r--cpp/src/Ice/TraceLevels.cpp2
-rw-r--r--cpp/src/Ice/TraceLevels.h2
-rw-r--r--cpp/src/Ice/TraceLevelsF.h2
-rw-r--r--cpp/src/Ice/TraceUtil.cpp2
-rw-r--r--cpp/src/Ice/TraceUtil.h2
-rw-r--r--cpp/src/Ice/Transceiver.cpp2
-rw-r--r--cpp/src/Ice/Transceiver.h2
-rw-r--r--cpp/src/Ice/TransceiverF.h2
-rw-r--r--cpp/src/Ice/UdpConnector.cpp2
-rw-r--r--cpp/src/Ice/UdpConnector.h2
-rw-r--r--cpp/src/Ice/UdpEndpointI.cpp3
-rw-r--r--cpp/src/Ice/UdpEndpointI.h2
-rw-r--r--cpp/src/Ice/UdpTransceiver.cpp3
-rw-r--r--cpp/src/Ice/UdpTransceiver.h2
-rw-r--r--cpp/src/Ice/UnknownEndpointI.cpp2
-rw-r--r--cpp/src/Ice/UnknownEndpointI.h2
-rw-r--r--cpp/src/IceBox/Admin.cpp2
-rw-r--r--cpp/src/IceBox/Exception.cpp2
-rw-r--r--cpp/src/IceBox/IceBox.rc10
-rw-r--r--cpp/src/IceBox/IceBoxAdmin.rc10
-rw-r--r--cpp/src/IceBox/IceBoxExe.rc10
-rw-r--r--cpp/src/IceBox/Makefile2
-rw-r--r--cpp/src/IceBox/Makefile.mak8
-rw-r--r--cpp/src/IceBox/Service.cpp2
-rw-r--r--cpp/src/IceBox/ServiceManagerI.cpp4
-rw-r--r--cpp/src/IceBox/ServiceManagerI.h2
-rw-r--r--cpp/src/IceGrid/.gitignore3
-rw-r--r--cpp/src/IceGrid/Activator.cpp169
-rw-r--r--cpp/src/IceGrid/Activator.h7
-rw-r--r--cpp/src/IceGrid/AdapterCache.cpp49
-rw-r--r--cpp/src/IceGrid/AdapterCache.h15
-rw-r--r--cpp/src/IceGrid/AdminCallbackRouter.cpp2
-rw-r--r--cpp/src/IceGrid/AdminCallbackRouter.h2
-rw-r--r--cpp/src/IceGrid/AdminI.cpp2
-rw-r--r--cpp/src/IceGrid/AdminI.h2
-rw-r--r--cpp/src/IceGrid/AdminSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/AdminSessionI.h2
-rw-r--r--cpp/src/IceGrid/Allocatable.cpp11
-rw-r--r--cpp/src/IceGrid/Allocatable.h2
-rw-r--r--cpp/src/IceGrid/AllocatableObjectCache.cpp2
-rw-r--r--cpp/src/IceGrid/AllocatableObjectCache.h2
-rw-r--r--cpp/src/IceGrid/Cache.h2
-rw-r--r--cpp/src/IceGrid/Client.cpp2
-rw-r--r--cpp/src/IceGrid/Database.cpp4
-rw-r--r--cpp/src/IceGrid/Database.h2
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.h2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.h2
-rw-r--r--cpp/src/IceGrid/DescriptorParser.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorParser.h2
-rw-r--r--cpp/src/IceGrid/FileCache.cpp2
-rw-r--r--cpp/src/IceGrid/FileCache.h2
-rw-r--r--cpp/src/IceGrid/FileParserI.cpp2
-rw-r--r--cpp/src/IceGrid/FileParserI.h2
-rw-r--r--cpp/src/IceGrid/FileUserAccountMapperI.cpp2
-rw-r--r--cpp/src/IceGrid/FileUserAccountMapperI.h2
-rw-r--r--cpp/src/IceGrid/Grammar.cpp3224
-rw-r--r--cpp/src/IceGrid/Grammar.h126
-rw-r--r--cpp/src/IceGrid/Grammar.y2
-rw-r--r--cpp/src/IceGrid/IceGridAdmin.rc10
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp16
-rw-r--r--cpp/src/IceGrid/IceGridNode.rc10
-rw-r--r--cpp/src/IceGrid/IceGridRegistry.cpp2
-rw-r--r--cpp/src/IceGrid/IceGridRegistry.rc10
-rw-r--r--cpp/src/IceGrid/Internal.ice2
-rw-r--r--cpp/src/IceGrid/InternalRegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/InternalRegistryI.h2
-rw-r--r--cpp/src/IceGrid/LocatorI.cpp794
-rw-r--r--cpp/src/IceGrid/LocatorI.h56
-rw-r--r--cpp/src/IceGrid/LocatorRegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/LocatorRegistryI.h2
-rw-r--r--cpp/src/IceGrid/Makefile6
-rw-r--r--cpp/src/IceGrid/Makefile.mak4
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp35
-rw-r--r--cpp/src/IceGrid/NodeCache.h3
-rw-r--r--cpp/src/IceGrid/NodeI.cpp226
-rw-r--r--cpp/src/IceGrid/NodeI.h28
-rw-r--r--cpp/src/IceGrid/NodeServerAdminRouter.cpp2
-rw-r--r--cpp/src/IceGrid/NodeServerAdminRouter.h2
-rw-r--r--cpp/src/IceGrid/NodeSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/NodeSessionI.h2
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.cpp4
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.h2
-rw-r--r--cpp/src/IceGrid/ObjectCache.cpp2
-rw-r--r--cpp/src/IceGrid/ObjectCache.h2
-rw-r--r--cpp/src/IceGrid/Parser.cpp5
-rw-r--r--cpp/src/IceGrid/Parser.h2
-rw-r--r--cpp/src/IceGrid/PlatformInfo.cpp2
-rw-r--r--cpp/src/IceGrid/PlatformInfo.h2
-rw-r--r--cpp/src/IceGrid/QueryI.cpp2
-rw-r--r--cpp/src/IceGrid/QueryI.h2
-rw-r--r--cpp/src/IceGrid/ReapThread.cpp2
-rw-r--r--cpp/src/IceGrid/ReapThread.h2
-rw-r--r--cpp/src/IceGrid/RegistryI.cpp2
-rw-r--r--cpp/src/IceGrid/RegistryI.h2
-rw-r--r--cpp/src/IceGrid/RegistryServerAdminRouter.cpp2
-rw-r--r--cpp/src/IceGrid/RegistryServerAdminRouter.h2
-rw-r--r--cpp/src/IceGrid/ReplicaCache.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaCache.h2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionI.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionI.h2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionManager.cpp2
-rw-r--r--cpp/src/IceGrid/ReplicaSessionManager.h2
-rw-r--r--cpp/src/IceGrid/Scanner.cpp1790
-rw-r--r--cpp/src/IceGrid/Scanner.l4
-rw-r--r--cpp/src/IceGrid/ServerAdapterI.cpp17
-rw-r--r--cpp/src/IceGrid/ServerAdapterI.h2
-rw-r--r--cpp/src/IceGrid/ServerCache.cpp2
-rw-r--r--cpp/src/IceGrid/ServerCache.h2
-rw-r--r--cpp/src/IceGrid/ServerI.cpp51
-rw-r--r--cpp/src/IceGrid/ServerI.h3
-rw-r--r--cpp/src/IceGrid/SessionI.cpp2
-rw-r--r--cpp/src/IceGrid/SessionI.h2
-rw-r--r--cpp/src/IceGrid/SessionManager.h16
-rw-r--r--cpp/src/IceGrid/SessionServantManager.cpp2
-rw-r--r--cpp/src/IceGrid/SessionServantManager.h2
-rw-r--r--cpp/src/IceGrid/Topics.cpp2
-rw-r--r--cpp/src/IceGrid/Topics.h2
-rw-r--r--cpp/src/IceGrid/TraceLevels.cpp2
-rw-r--r--cpp/src/IceGrid/TraceLevels.h2
-rw-r--r--cpp/src/IceGrid/Util.cpp13
-rw-r--r--cpp/src/IceGrid/Util.h2
-rw-r--r--cpp/src/IceGrid/WaitQueue.cpp2
-rw-r--r--cpp/src/IceGrid/WaitQueue.h2
-rw-r--r--cpp/src/IceGrid/WellKnownObjectsManager.cpp2
-rw-r--r--cpp/src/IceGrid/WellKnownObjectsManager.h2
-rw-r--r--cpp/src/IceGridLib/IceGrid.rc10
-rw-r--r--cpp/src/IceGridLib/Makefile2
-rw-r--r--cpp/src/IceGridLib/Makefile.mak2
-rw-r--r--cpp/src/IcePatch2/Calc.cpp9
-rw-r--r--cpp/src/IcePatch2/Client.cpp5
-rw-r--r--cpp/src/IcePatch2/ClientUtil.cpp2
-rw-r--r--cpp/src/IcePatch2/FileServerI.cpp2
-rw-r--r--cpp/src/IcePatch2/FileServerI.h2
-rw-r--r--cpp/src/IcePatch2/IcePatch2.rc10
-rw-r--r--cpp/src/IcePatch2/IcePatch2Calc.rc10
-rw-r--r--cpp/src/IcePatch2/IcePatch2Client.rc10
-rw-r--r--cpp/src/IcePatch2/IcePatch2Server.rc10
-rw-r--r--cpp/src/IcePatch2/Makefile2
-rw-r--r--cpp/src/IcePatch2/Makefile.mak2
-rw-r--r--cpp/src/IcePatch2/OS.cpp2
-rw-r--r--cpp/src/IcePatch2/OS.h2
-rw-r--r--cpp/src/IcePatch2/Server.cpp2
-rw-r--r--cpp/src/IcePatch2/Util.cpp11
-rw-r--r--cpp/src/IcePatch2/Util.h2
-rw-r--r--cpp/src/IceSSL/AcceptorI.cpp8
-rw-r--r--cpp/src/IceSSL/AcceptorI.h2
-rw-r--r--cpp/src/IceSSL/Certificate.cpp2
-rw-r--r--cpp/src/IceSSL/ConnectorI.cpp13
-rw-r--r--cpp/src/IceSSL/ConnectorI.h5
-rw-r--r--cpp/src/IceSSL/EndpointI.cpp4
-rw-r--r--cpp/src/IceSSL/EndpointI.h2
-rw-r--r--cpp/src/IceSSL/IceSSL.rc10
-rw-r--r--cpp/src/IceSSL/Instance.cpp546
-rw-r--r--cpp/src/IceSSL/Instance.h3
-rw-r--r--cpp/src/IceSSL/InstanceF.h2
-rw-r--r--cpp/src/IceSSL/Makefile2
-rw-r--r--cpp/src/IceSSL/Makefile.mak2
-rw-r--r--cpp/src/IceSSL/PluginI.cpp4
-rw-r--r--cpp/src/IceSSL/PluginI.h2
-rw-r--r--cpp/src/IceSSL/RFC2253.cpp15
-rw-r--r--cpp/src/IceSSL/RFC2253.h2
-rw-r--r--cpp/src/IceSSL/TransceiverI.cpp9
-rw-r--r--cpp/src/IceSSL/TransceiverI.h8
-rw-r--r--cpp/src/IceSSL/TrustManager.cpp2
-rw-r--r--cpp/src/IceSSL/TrustManager.h2
-rw-r--r--cpp/src/IceSSL/TrustManagerF.h2
-rw-r--r--cpp/src/IceSSL/Util.cpp2
-rw-r--r--cpp/src/IceSSL/Util.h2
-rw-r--r--cpp/src/IceSSL/UtilF.h2
-rw-r--r--cpp/src/IceStorm/.gitignore3
-rw-r--r--cpp/src/IceStorm/Admin.cpp2
-rw-r--r--cpp/src/IceStorm/Election.ice2
-rw-r--r--cpp/src/IceStorm/Grammar.cpp1484
-rw-r--r--cpp/src/IceStorm/Grammar.h70
-rw-r--r--cpp/src/IceStorm/Grammar.y2
-rw-r--r--cpp/src/IceStorm/IceStorm.rc10
-rw-r--r--cpp/src/IceStorm/IceStormAdmin.rc10
-rw-r--r--cpp/src/IceStorm/IceStormInternal.ice2
-rw-r--r--cpp/src/IceStorm/IceStormMigrate.rc10
-rw-r--r--cpp/src/IceStorm/IceStormService.rc10
-rw-r--r--cpp/src/IceStorm/Instance.cpp2
-rw-r--r--cpp/src/IceStorm/Instance.h2
-rw-r--r--cpp/src/IceStorm/LinkRecord.ice2
-rw-r--r--cpp/src/IceStorm/Makefile4
-rw-r--r--cpp/src/IceStorm/Makefile.mak15
-rw-r--r--cpp/src/IceStorm/Migrate.cpp2
-rw-r--r--cpp/src/IceStorm/NodeI.cpp2
-rw-r--r--cpp/src/IceStorm/NodeI.h2
-rw-r--r--cpp/src/IceStorm/Observers.cpp2
-rw-r--r--cpp/src/IceStorm/Observers.h2
-rw-r--r--cpp/src/IceStorm/Parser.cpp4
-rw-r--r--cpp/src/IceStorm/Parser.h2
-rw-r--r--cpp/src/IceStorm/Replica.h2
-rw-r--r--cpp/src/IceStorm/Scanner.cpp1762
-rw-r--r--cpp/src/IceStorm/Scanner.l4
-rw-r--r--cpp/src/IceStorm/Service.cpp6
-rw-r--r--cpp/src/IceStorm/Service.h2
-rw-r--r--cpp/src/IceStorm/Subscriber.cpp2
-rw-r--r--cpp/src/IceStorm/Subscriber.h2
-rw-r--r--cpp/src/IceStorm/SubscriberRecord.ice2
-rw-r--r--cpp/src/IceStorm/TopicI.cpp2
-rw-r--r--cpp/src/IceStorm/TopicI.h2
-rw-r--r--cpp/src/IceStorm/TopicManagerI.cpp2
-rw-r--r--cpp/src/IceStorm/TopicManagerI.h2
-rw-r--r--cpp/src/IceStorm/TraceLevels.cpp2
-rw-r--r--cpp/src/IceStorm/TraceLevels.h2
-rw-r--r--cpp/src/IceStorm/TransientTopicI.cpp2
-rw-r--r--cpp/src/IceStorm/TransientTopicI.h2
-rw-r--r--cpp/src/IceStorm/TransientTopicManagerI.cpp2
-rw-r--r--cpp/src/IceStorm/TransientTopicManagerI.h2
-rw-r--r--cpp/src/IceStorm/V31Format.ice2
-rw-r--r--cpp/src/IceStorm/V32Format.ice2
-rw-r--r--cpp/src/IceUtil/.depend3
-rw-r--r--cpp/src/IceUtil/ArgVector.cpp2
-rw-r--r--cpp/src/IceUtil/Cond.cpp2
-rw-r--r--cpp/src/IceUtil/ConvertUTF.cpp2
-rw-r--r--cpp/src/IceUtil/ConvertUTF.h2
-rw-r--r--cpp/src/IceUtil/CountDownLatch.cpp2
-rw-r--r--cpp/src/IceUtil/CtrlCHandler.cpp2
-rw-r--r--cpp/src/IceUtil/Exception.cpp2
-rw-r--r--cpp/src/IceUtil/FileUtil.cpp4
-rw-r--r--cpp/src/IceUtil/IceUtil.rc10
-rw-r--r--cpp/src/IceUtil/InputUtil.cpp8
-rw-r--r--cpp/src/IceUtil/Makefile2
-rw-r--r--cpp/src/IceUtil/Makefile.mak2
-rw-r--r--cpp/src/IceUtil/Options.cpp15
-rw-r--r--cpp/src/IceUtil/OutputUtil.cpp2
-rw-r--r--cpp/src/IceUtil/RWRecMutex.cpp2
-rw-r--r--cpp/src/IceUtil/Random.cpp2
-rw-r--r--cpp/src/IceUtil/RecMutex.cpp2
-rw-r--r--cpp/src/IceUtil/Shared.cpp2
-rw-r--r--cpp/src/IceUtil/StaticMutex.cpp2
-rw-r--r--cpp/src/IceUtil/StringUtil.cpp40
-rw-r--r--cpp/src/IceUtil/Thread.cpp2
-rw-r--r--cpp/src/IceUtil/ThreadException.cpp2
-rw-r--r--cpp/src/IceUtil/Time.cpp2
-rw-r--r--cpp/src/IceUtil/Timer.cpp4
-rw-r--r--cpp/src/IceUtil/UUID.cpp2
-rw-r--r--cpp/src/IceUtil/Unicode.cpp2
-rw-r--r--cpp/src/IceXML/IceXML.rc10
-rw-r--r--cpp/src/IceXML/Makefile2
-rw-r--r--cpp/src/IceXML/Makefile.mak2
-rw-r--r--cpp/src/IceXML/Parser.cpp2
-rw-r--r--cpp/src/Makefile2
-rw-r--r--cpp/src/Makefile.mak2
-rw-r--r--cpp/src/Slice/.depend7
-rw-r--r--cpp/src/Slice/CPlusPlusUtil.cpp6
-rw-r--r--cpp/src/Slice/Checksum.cpp2
-rw-r--r--cpp/src/Slice/CsUtil.cpp14
-rw-r--r--cpp/src/Slice/DotNetNames.cpp4
-rw-r--r--cpp/src/Slice/FileTracker.cpp117
-rw-r--r--cpp/src/Slice/Grammar.cpp3655
-rw-r--r--cpp/src/Slice/Grammar.h130
-rw-r--r--cpp/src/Slice/Grammar.y2
-rw-r--r--cpp/src/Slice/GrammarUtil.h2
-rw-r--r--cpp/src/Slice/JavaUtil.cpp82
-rw-r--r--cpp/src/Slice/MD5.cpp2
-rw-r--r--cpp/src/Slice/MD5.h2
-rw-r--r--cpp/src/Slice/Makefile10
-rw-r--r--cpp/src/Slice/Makefile.mak8
-rw-r--r--cpp/src/Slice/Parser.cpp103
-rw-r--r--cpp/src/Slice/Preprocessor.cpp105
-rw-r--r--cpp/src/Slice/PythonUtil.cpp10
-rw-r--r--cpp/src/Slice/RubyUtil.cpp4
-rw-r--r--cpp/src/Slice/Scanner.cpp2133
-rw-r--r--cpp/src/Slice/Scanner.l8
-rw-r--r--cpp/src/Slice/SignalHandler.cpp84
-rw-r--r--cpp/src/Slice/Slice.rc10
-rw-r--r--cpp/src/Slice/Util.cpp2
-rw-r--r--cpp/src/ca/ImportKey.java2
-rw-r--r--cpp/src/ca/Makefile2
-rw-r--r--cpp/src/ca/Makefile.mak2
-rwxr-xr-xcpp/src/ca/iceca14
-rwxr-xr-xcpp/src/ca/iceca.bat2
-rw-r--r--cpp/src/iceserviceinstall/IceServiceInstall.rc10
-rw-r--r--cpp/src/iceserviceinstall/Install.cpp2
-rw-r--r--cpp/src/iceserviceinstall/Makefile.mak2
-rw-r--r--cpp/src/iceserviceinstall/ServiceInstaller.cpp2
-rw-r--r--cpp/src/iceserviceinstall/ServiceInstaller.h2
-rw-r--r--cpp/src/slice2cpp/.depend4
-rw-r--r--cpp/src/slice2cpp/Gen.cpp97
-rw-r--r--cpp/src/slice2cpp/Gen.h5
-rw-r--r--cpp/src/slice2cpp/Main.cpp54
-rw-r--r--cpp/src/slice2cpp/Makefile2
-rw-r--r--cpp/src/slice2cpp/Makefile.mak2
-rw-r--r--cpp/src/slice2cpp/Slice2Cpp.rc10
-rw-r--r--cpp/src/slice2cs/.depend4
-rw-r--r--cpp/src/slice2cs/Gen.cpp66
-rw-r--r--cpp/src/slice2cs/Gen.h5
-rw-r--r--cpp/src/slice2cs/Main.cpp84
-rw-r--r--cpp/src/slice2cs/Makefile2
-rw-r--r--cpp/src/slice2cs/Makefile.mak2
-rw-r--r--cpp/src/slice2cs/Slice2Cs.rc10
-rw-r--r--cpp/src/slice2docbook/.depend2
-rw-r--r--cpp/src/slice2docbook/Gen.cpp39
-rw-r--r--cpp/src/slice2docbook/Gen.h6
-rw-r--r--cpp/src/slice2docbook/Main.cpp60
-rw-r--r--cpp/src/slice2docbook/Makefile2
-rw-r--r--cpp/src/slice2docbook/Makefile.mak2
-rw-r--r--cpp/src/slice2docbook/Slice2Docbook.rc10
-rw-r--r--cpp/src/slice2freeze/.depend2
-rw-r--r--cpp/src/slice2freeze/Main.cpp483
-rw-r--r--cpp/src/slice2freeze/Makefile2
-rw-r--r--cpp/src/slice2freeze/Makefile.mak2
-rw-r--r--cpp/src/slice2freeze/Slice2Freeze.rc10
-rw-r--r--cpp/src/slice2freezej/.depend1
-rw-r--r--cpp/src/slice2freezej/Main.cpp204
-rw-r--r--cpp/src/slice2freezej/Makefile2
-rw-r--r--cpp/src/slice2freezej/Makefile.mak2
-rw-r--r--cpp/src/slice2freezej/Slice2FreezeJ.rc10
-rw-r--r--cpp/src/slice2html/.depend4
-rw-r--r--cpp/src/slice2html/Gen.cpp155
-rw-r--r--cpp/src/slice2html/Gen.h8
-rw-r--r--cpp/src/slice2html/Main.cpp52
-rw-r--r--cpp/src/slice2html/Makefile2
-rw-r--r--cpp/src/slice2html/Makefile.mak2
-rw-r--r--cpp/src/slice2html/Slice2Html.rc10
-rw-r--r--cpp/src/slice2java/.depend2
-rw-r--r--cpp/src/slice2java/Gen.cpp380
-rw-r--r--cpp/src/slice2java/Gen.h2
-rw-r--r--cpp/src/slice2java/Main.cpp114
-rw-r--r--cpp/src/slice2java/Makefile2
-rw-r--r--cpp/src/slice2java/Makefile.mak2
-rw-r--r--cpp/src/slice2java/Slice2Java.rc10
-rw-r--r--cpp/src/slice2py/.depend2
-rw-r--r--cpp/src/slice2py/Main.cpp245
-rw-r--r--cpp/src/slice2py/Makefile2
-rw-r--r--cpp/src/slice2py/Makefile.mak2
-rw-r--r--cpp/src/slice2py/Slice2Py.rc10
-rw-r--r--cpp/src/slice2rb/.depend2
-rw-r--r--cpp/src/slice2rb/Main.cpp79
-rw-r--r--cpp/src/slice2rb/Makefile2
-rw-r--r--cpp/src/slice2rb/Makefile.mak2
-rw-r--r--cpp/src/slice2rb/Slice2Rb.rc10
-rw-r--r--cpp/test/Freeze/Makefile2
-rw-r--r--cpp/test/Freeze/Makefile.mak2
-rw-r--r--cpp/test/Freeze/complex/.gitignore3
-rw-r--r--cpp/test/Freeze/complex/Client.cpp2
-rw-r--r--cpp/test/Freeze/complex/Complex.ice2
-rw-r--r--cpp/test/Freeze/complex/Grammar.cpp1261
-rw-r--r--cpp/test/Freeze/complex/Grammar.h50
-rw-r--r--cpp/test/Freeze/complex/Grammar.y2
-rw-r--r--cpp/test/Freeze/complex/Makefile4
-rw-r--r--cpp/test/Freeze/complex/Makefile.mak4
-rw-r--r--cpp/test/Freeze/complex/NodeI.h2
-rw-r--r--cpp/test/Freeze/complex/Parser.cpp2
-rw-r--r--cpp/test/Freeze/complex/Parser.h2
-rw-r--r--cpp/test/Freeze/complex/Scanner.cpp1543
-rw-r--r--cpp/test/Freeze/complex/Scanner.l2
-rwxr-xr-xcpp/test/Freeze/complex/run.py47
-rw-r--r--cpp/test/Freeze/dbmap/Client.cpp2
-rw-r--r--cpp/test/Freeze/dbmap/Makefile2
-rw-r--r--cpp/test/Freeze/dbmap/Makefile.mak2
-rwxr-xr-xcpp/test/Freeze/dbmap/run.py40
-rw-r--r--cpp/test/Freeze/evictor/Client.cpp2
-rw-r--r--cpp/test/Freeze/evictor/Makefile2
-rw-r--r--cpp/test/Freeze/evictor/Makefile.mak2
-rw-r--r--cpp/test/Freeze/evictor/Server.cpp2
-rw-r--r--cpp/test/Freeze/evictor/Test.ice2
-rw-r--r--cpp/test/Freeze/evictor/TestI.cpp36
-rw-r--r--cpp/test/Freeze/evictor/TestI.h2
-rwxr-xr-xcpp/test/Freeze/evictor/run.py29
-rw-r--r--cpp/test/Freeze/oldevictor/Client.cpp2
-rw-r--r--cpp/test/Freeze/oldevictor/Makefile2
-rw-r--r--cpp/test/Freeze/oldevictor/Makefile.mak2
-rw-r--r--cpp/test/Freeze/oldevictor/Server.cpp2
-rw-r--r--cpp/test/Freeze/oldevictor/Test.ice2
-rw-r--r--cpp/test/Freeze/oldevictor/TestI.cpp2
-rw-r--r--cpp/test/Freeze/oldevictor/TestI.h2
-rwxr-xr-xcpp/test/Freeze/oldevictor/run.py29
-rw-r--r--cpp/test/FreezeScript/Makefile2
-rw-r--r--cpp/test/FreezeScript/Makefile.mak2
-rw-r--r--cpp/test/FreezeScript/dbmap/Makefile2
-rw-r--r--cpp/test/FreezeScript/dbmap/Makefile.mak2
-rw-r--r--cpp/test/FreezeScript/dbmap/makedb.cpp2
-rwxr-xr-xcpp/test/FreezeScript/dbmap/run.py55
-rw-r--r--cpp/test/FreezeScript/evictor/Makefile2
-rw-r--r--cpp/test/FreezeScript/evictor/Makefile.mak2
-rw-r--r--cpp/test/FreezeScript/evictor/makedb.cpp2
-rwxr-xr-xcpp/test/FreezeScript/evictor/run.py69
-rw-r--r--cpp/test/Glacier2/Makefile2
-rw-r--r--cpp/test/Glacier2/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/attack/Backend.ice2
-rw-r--r--cpp/test/Glacier2/attack/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/attack/BackendI.h2
-rw-r--r--cpp/test/Glacier2/attack/Client.cpp2
-rw-r--r--cpp/test/Glacier2/attack/Makefile2
-rw-r--r--cpp/test/Glacier2/attack/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/attack/Server.cpp2
-rwxr-xr-xcpp/test/Glacier2/attack/run.py41
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/BackendI.h2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Client.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Makefile2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Server.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/SessionI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/SessionI.h2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Test.ice2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/TestControllerI.h2
-rwxr-xr-xcpp/test/Glacier2/dynamicFiltering/run.py50
-rw-r--r--cpp/test/Glacier2/router/Callback.ice2
-rw-r--r--cpp/test/Glacier2/router/CallbackI.cpp2
-rw-r--r--cpp/test/Glacier2/router/CallbackI.h2
-rw-r--r--cpp/test/Glacier2/router/Client.cpp2
-rw-r--r--cpp/test/Glacier2/router/Makefile2
-rw-r--r--cpp/test/Glacier2/router/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/router/Server.cpp2
-rwxr-xr-xcpp/test/Glacier2/router/run.py74
-rw-r--r--cpp/test/Glacier2/sessionControl/Client.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile2
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/sessionControl/Server.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/Session.ice2
-rw-r--r--cpp/test/Glacier2/sessionControl/SessionI.cpp2
-rw-r--r--cpp/test/Glacier2/sessionControl/SessionI.h2
-rwxr-xr-xcpp/test/Glacier2/sessionControl/run.py61
-rw-r--r--cpp/test/Glacier2/ssl/Client.cpp2
-rw-r--r--cpp/test/Glacier2/ssl/Makefile2
-rw-r--r--cpp/test/Glacier2/ssl/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/ssl/Server.cpp2
-rwxr-xr-xcpp/test/Glacier2/ssl/run.py69
-rw-r--r--cpp/test/Glacier2/staticFiltering/Backend.ice2
-rw-r--r--cpp/test/Glacier2/staticFiltering/BackendI.cpp2
-rw-r--r--cpp/test/Glacier2/staticFiltering/BackendI.h2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Client.cpp2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Server.cpp2
-rwxr-xr-xcpp/test/Glacier2/staticFiltering/run.py116
-rw-r--r--cpp/test/Ice/Makefile5
-rw-r--r--cpp/test/Ice/Makefile.mak5
-rw-r--r--cpp/test/Ice/adapterDeactivation/AllTests.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Client.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Collocated.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Makefile2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Makefile.mak2
-rw-r--r--cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/ServantLocatorI.h2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Server.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Test.ice2
-rw-r--r--cpp/test/Ice/adapterDeactivation/TestI.cpp2
-rw-r--r--cpp/test/Ice/adapterDeactivation/TestI.h2
-rwxr-xr-xcpp/test/Ice/adapterDeactivation/run.py26
-rw-r--r--cpp/test/Ice/background/.gitignore2
-rw-r--r--cpp/test/Ice/background/Acceptor.cpp2
-rw-r--r--cpp/test/Ice/background/Acceptor.h2
-rw-r--r--cpp/test/Ice/background/AllTests.cpp2
-rw-r--r--cpp/test/Ice/background/Client.cpp4
-rw-r--r--cpp/test/Ice/background/Configuration.cpp2
-rw-r--r--cpp/test/Ice/background/Configuration.h2
-rw-r--r--cpp/test/Ice/background/Connector.cpp2
-rw-r--r--cpp/test/Ice/background/Connector.h2
-rw-r--r--cpp/test/Ice/background/EndpointFactory.cpp2
-rw-r--r--cpp/test/Ice/background/EndpointFactory.h2
-rw-r--r--cpp/test/Ice/background/EndpointI.cpp2
-rw-r--r--cpp/test/Ice/background/EndpointI.h2
-rw-r--r--cpp/test/Ice/background/Makefile2
-rw-r--r--cpp/test/Ice/background/Makefile.mak2
-rw-r--r--cpp/test/Ice/background/PluginI.cpp2
-rw-r--r--cpp/test/Ice/background/PluginI.h2
-rw-r--r--cpp/test/Ice/background/Server.cpp4
-rw-r--r--cpp/test/Ice/background/Test.ice2
-rw-r--r--cpp/test/Ice/background/TestI.cpp2
-rw-r--r--cpp/test/Ice/background/TestI.h2
-rw-r--r--cpp/test/Ice/background/Transceiver.cpp2
-rw-r--r--cpp/test/Ice/background/Transceiver.h2
-rwxr-xr-xcpp/test/Ice/background/run.py27
-rw-r--r--cpp/test/Ice/binding/AllTests.cpp2
-rw-r--r--cpp/test/Ice/binding/Client.cpp2
-rw-r--r--cpp/test/Ice/binding/Makefile2
-rw-r--r--cpp/test/Ice/binding/Makefile.mak2
-rw-r--r--cpp/test/Ice/binding/Server.cpp2
-rw-r--r--cpp/test/Ice/binding/Test.ice2
-rw-r--r--cpp/test/Ice/binding/TestI.cpp2
-rw-r--r--cpp/test/Ice/binding/TestI.h2
-rwxr-xr-xcpp/test/Ice/binding/run.py24
-rw-r--r--cpp/test/Ice/checksum/.depend (renamed from cpp/test/Ice/checksum/client/.depend)8
-rw-r--r--cpp/test/Ice/checksum/.gitignore13
-rw-r--r--cpp/test/Ice/checksum/AllTests.cpp (renamed from cpp/test/Ice/checksum/client/AllTests.cpp)2
-rw-r--r--cpp/test/Ice/checksum/Client.cpp (renamed from cpp/test/Ice/checksum/client/Client.cpp)2
-rw-r--r--cpp/test/Ice/checksum/Makefile29
-rw-r--r--cpp/test/Ice/checksum/Makefile.mak36
-rw-r--r--cpp/test/Ice/checksum/Test.ice (renamed from cpp/test/Ice/checksum/client/Test.ice)2
-rw-r--r--cpp/test/Ice/checksum/Types.ice (renamed from cs/test/Ice/checksum/client/Types.ice)2
-rw-r--r--cpp/test/Ice/checksum/client/Makefile35
-rwxr-xr-xcpp/test/Ice/checksum/run.py27
-rw-r--r--cpp/test/Ice/checksum/server/.depend8
-rw-r--r--cpp/test/Ice/checksum/server/Makefile2
-rw-r--r--cpp/test/Ice/checksum/server/Makefile.mak2
-rw-r--r--cpp/test/Ice/checksum/server/Server.cpp2
-rw-r--r--cpp/test/Ice/checksum/server/Test.ice2
-rw-r--r--cpp/test/Ice/checksum/server/TestI.cpp2
-rw-r--r--cpp/test/Ice/checksum/server/TestI.h2
-rw-r--r--cpp/test/Ice/checksum/server/Types.ice2
-rw-r--r--cpp/test/Ice/custom/AllTests.cpp2
-rw-r--r--cpp/test/Ice/custom/Client.cpp2
-rw-r--r--cpp/test/Ice/custom/Collocated.cpp2
-rw-r--r--cpp/test/Ice/custom/Makefile2
-rw-r--r--cpp/test/Ice/custom/Makefile.mak2
-rw-r--r--cpp/test/Ice/custom/MyByteSeq.cpp2
-rw-r--r--cpp/test/Ice/custom/MyByteSeq.h2
-rw-r--r--cpp/test/Ice/custom/Server.cpp2
-rw-r--r--cpp/test/Ice/custom/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/custom/StringConverterI.cpp2
-rw-r--r--cpp/test/Ice/custom/StringConverterI.h2
-rw-r--r--cpp/test/Ice/custom/Test.ice2
-rw-r--r--cpp/test/Ice/custom/TestAMD.ice2
-rw-r--r--cpp/test/Ice/custom/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/custom/TestAMDI.h2
-rw-r--r--cpp/test/Ice/custom/TestI.cpp2
-rw-r--r--cpp/test/Ice/custom/TestI.h2
-rw-r--r--cpp/test/Ice/custom/Wstring.ice2
-rw-r--r--cpp/test/Ice/custom/WstringAMD.ice2
-rw-r--r--cpp/test/Ice/custom/WstringAMDI.cpp2
-rw-r--r--cpp/test/Ice/custom/WstringAMDI.h2
-rw-r--r--cpp/test/Ice/custom/WstringI.cpp2
-rw-r--r--cpp/test/Ice/custom/WstringI.h2
-rwxr-xr-xcpp/test/Ice/custom/run.py28
-rw-r--r--cpp/test/Ice/exceptions/AllTests.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Client.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Collocated.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Makefile2
-rw-r--r--cpp/test/Ice/exceptions/Makefile.mak2
-rw-r--r--cpp/test/Ice/exceptions/Server.cpp2
-rw-r--r--cpp/test/Ice/exceptions/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/exceptions/Test.ice2
-rw-r--r--cpp/test/Ice/exceptions/TestAMD.ice2
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestAMDI.h2
-rw-r--r--cpp/test/Ice/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/exceptions/TestI.h2
-rwxr-xr-xcpp/test/Ice/exceptions/run.py28
-rw-r--r--cpp/test/Ice/facets/AllTests.cpp2
-rw-r--r--cpp/test/Ice/facets/Client.cpp2
-rw-r--r--cpp/test/Ice/facets/Collocated.cpp2
-rw-r--r--cpp/test/Ice/facets/Makefile2
-rw-r--r--cpp/test/Ice/facets/Makefile.mak2
-rw-r--r--cpp/test/Ice/facets/Server.cpp2
-rw-r--r--cpp/test/Ice/facets/Test.ice2
-rw-r--r--cpp/test/Ice/facets/TestI.cpp2
-rw-r--r--cpp/test/Ice/facets/TestI.h2
-rwxr-xr-xcpp/test/Ice/facets/run.py26
-rw-r--r--cpp/test/Ice/faultTolerance/AllTests.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Client.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Makefile2
-rw-r--r--cpp/test/Ice/faultTolerance/Makefile.mak2
-rw-r--r--cpp/test/Ice/faultTolerance/Server.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/Test.ice2
-rw-r--r--cpp/test/Ice/faultTolerance/TestI.cpp2
-rw-r--r--cpp/test/Ice/faultTolerance/TestI.h2
-rwxr-xr-xcpp/test/Ice/faultTolerance/run.py46
-rw-r--r--cpp/test/Ice/gc/Client.cpp2
-rw-r--r--cpp/test/Ice/gc/Makefile2
-rw-r--r--cpp/test/Ice/gc/Makefile.mak2
-rw-r--r--cpp/test/Ice/gc/Test.ice2
-rwxr-xr-xcpp/test/Ice/gc/run.py40
-rw-r--r--cpp/test/Ice/hold/AllTests.cpp2
-rw-r--r--cpp/test/Ice/hold/Client.cpp2
-rw-r--r--cpp/test/Ice/hold/Makefile2
-rw-r--r--cpp/test/Ice/hold/Makefile.mak2
-rw-r--r--cpp/test/Ice/hold/Server.cpp2
-rw-r--r--cpp/test/Ice/hold/Test.ice2
-rw-r--r--cpp/test/Ice/hold/TestI.cpp2
-rw-r--r--cpp/test/Ice/hold/TestI.h2
-rwxr-xr-xcpp/test/Ice/hold/run.py24
-rw-r--r--cpp/test/Ice/inheritance/AllTests.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Client.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Collocated.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Makefile2
-rw-r--r--cpp/test/Ice/inheritance/Makefile.mak2
-rw-r--r--cpp/test/Ice/inheritance/Server.cpp2
-rw-r--r--cpp/test/Ice/inheritance/Test.ice2
-rw-r--r--cpp/test/Ice/inheritance/TestI.cpp2
-rw-r--r--cpp/test/Ice/inheritance/TestI.h2
-rwxr-xr-xcpp/test/Ice/inheritance/run.py26
-rw-r--r--cpp/test/Ice/interceptor/AMDInterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/AMDInterceptorI.h2
-rw-r--r--cpp/test/Ice/interceptor/Client.cpp2
-rw-r--r--cpp/test/Ice/interceptor/InterceptorI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/InterceptorI.h2
-rw-r--r--cpp/test/Ice/interceptor/Makefile2
-rw-r--r--cpp/test/Ice/interceptor/Makefile.mak2
-rw-r--r--cpp/test/Ice/interceptor/MyObjectI.cpp2
-rw-r--r--cpp/test/Ice/interceptor/MyObjectI.h2
-rw-r--r--cpp/test/Ice/interceptor/Test.ice2
-rw-r--r--cpp/test/Ice/interceptor/TestI.cpp2
-rwxr-xr-xcpp/test/Ice/interceptor/run.py36
-rw-r--r--cpp/test/Ice/location/AllTests.cpp253
-rw-r--r--cpp/test/Ice/location/Client.cpp2
-rw-r--r--cpp/test/Ice/location/Makefile2
-rw-r--r--cpp/test/Ice/location/Makefile.mak2
-rw-r--r--cpp/test/Ice/location/Server.cpp2
-rw-r--r--cpp/test/Ice/location/ServerLocator.cpp23
-rw-r--r--cpp/test/Ice/location/ServerLocator.h2
-rw-r--r--cpp/test/Ice/location/Test.ice4
-rw-r--r--cpp/test/Ice/location/TestI.cpp3
-rw-r--r--cpp/test/Ice/location/TestI.h2
-rwxr-xr-xcpp/test/Ice/location/run.py24
-rw-r--r--cpp/test/Ice/objects/AllTests.cpp2
-rw-r--r--cpp/test/Ice/objects/Client.cpp2
-rw-r--r--cpp/test/Ice/objects/Collocated.cpp2
-rw-r--r--cpp/test/Ice/objects/Makefile2
-rw-r--r--cpp/test/Ice/objects/Makefile.mak2
-rw-r--r--cpp/test/Ice/objects/Server.cpp2
-rw-r--r--cpp/test/Ice/objects/Test.ice2
-rw-r--r--cpp/test/Ice/objects/TestI.cpp2
-rw-r--r--cpp/test/Ice/objects/TestI.h2
-rwxr-xr-xcpp/test/Ice/objects/run.py26
-rw-r--r--cpp/test/Ice/operations/AllTests.cpp2
-rw-r--r--cpp/test/Ice/operations/BatchOneways.cpp2
-rw-r--r--cpp/test/Ice/operations/Client.cpp2
-rw-r--r--cpp/test/Ice/operations/Collocated.cpp2
-rw-r--r--cpp/test/Ice/operations/Makefile2
-rw-r--r--cpp/test/Ice/operations/Makefile.mak2
-rw-r--r--cpp/test/Ice/operations/Oneways.cpp2
-rw-r--r--cpp/test/Ice/operations/OnewaysAMI.cpp2
-rw-r--r--cpp/test/Ice/operations/Server.cpp2
-rw-r--r--cpp/test/Ice/operations/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/operations/Test.ice2
-rw-r--r--cpp/test/Ice/operations/TestAMD.ice2
-rw-r--r--cpp/test/Ice/operations/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestAMDI.h2
-rw-r--r--cpp/test/Ice/operations/TestI.cpp2
-rw-r--r--cpp/test/Ice/operations/TestI.h2
-rw-r--r--cpp/test/Ice/operations/Twoways.cpp2
-rw-r--r--cpp/test/Ice/operations/TwowaysAMI.cpp2
-rwxr-xr-xcpp/test/Ice/operations/run.py28
-rw-r--r--cpp/test/Ice/proxy/AllTests.cpp2
-rw-r--r--cpp/test/Ice/proxy/Client.cpp2
-rw-r--r--cpp/test/Ice/proxy/Collocated.cpp2
-rw-r--r--cpp/test/Ice/proxy/Makefile2
-rw-r--r--cpp/test/Ice/proxy/Makefile.mak2
-rw-r--r--cpp/test/Ice/proxy/Server.cpp2
-rw-r--r--cpp/test/Ice/proxy/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/proxy/Test.ice2
-rw-r--r--cpp/test/Ice/proxy/TestAMD.ice2
-rw-r--r--cpp/test/Ice/proxy/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/proxy/TestAMDI.h2
-rw-r--r--cpp/test/Ice/proxy/TestI.cpp2
-rw-r--r--cpp/test/Ice/proxy/TestI.h2
-rwxr-xr-xcpp/test/Ice/proxy/run.py28
-rw-r--r--cpp/test/Ice/retry/AllTests.cpp2
-rw-r--r--cpp/test/Ice/retry/Client.cpp2
-rw-r--r--cpp/test/Ice/retry/Makefile2
-rw-r--r--cpp/test/Ice/retry/Makefile.mak2
-rw-r--r--cpp/test/Ice/retry/Server.cpp2
-rw-r--r--cpp/test/Ice/retry/Test.ice2
-rw-r--r--cpp/test/Ice/retry/TestI.cpp2
-rw-r--r--cpp/test/Ice/retry/TestI.h2
-rwxr-xr-xcpp/test/Ice/retry/run.py24
-rw-r--r--cpp/test/Ice/servantLocator/AllTests.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Client.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Collocated.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Makefile2
-rw-r--r--cpp/test/Ice/servantLocator/Makefile.mak2
-rw-r--r--cpp/test/Ice/servantLocator/ServantLocatorI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/ServantLocatorI.h2
-rw-r--r--cpp/test/Ice/servantLocator/Server.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/Test.ice2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMD.ice2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/TestAMDI.h2
-rw-r--r--cpp/test/Ice/servantLocator/TestI.cpp2
-rw-r--r--cpp/test/Ice/servantLocator/TestI.h2
-rwxr-xr-xcpp/test/Ice/servantLocator/run.py28
-rw-r--r--cpp/test/Ice/slicing/Makefile2
-rw-r--r--cpp/test/Ice/slicing/Makefile.mak2
-rw-r--r--cpp/test/Ice/slicing/exceptions/AllTests.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Client.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Makefile2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Makefile.mak2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Server.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Test.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestAMDI.h2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/exceptions/TestI.h2
-rwxr-xr-xcpp/test/Ice/slicing/exceptions/run.py26
-rw-r--r--cpp/test/Ice/slicing/objects/AllTests.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/Client.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/Forward.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/Makefile2
-rw-r--r--cpp/test/Ice/slicing/objects/Makefile.mak2
-rw-r--r--cpp/test/Ice/slicing/objects/Server.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerAMD.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerPrivate.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/Test.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMD.ice2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMDI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestAMDI.h2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.cpp2
-rw-r--r--cpp/test/Ice/slicing/objects/TestI.h2
-rwxr-xr-xcpp/test/Ice/slicing/objects/run.py26
-rw-r--r--cpp/test/Ice/stream/Client.cpp2
-rw-r--r--cpp/test/Ice/stream/Makefile2
-rw-r--r--cpp/test/Ice/stream/Makefile.mak2
-rw-r--r--cpp/test/Ice/stream/Test.ice2
-rwxr-xr-xcpp/test/Ice/stream/run.py36
-rw-r--r--cpp/test/Ice/stringConverter/Client.cpp2
-rw-r--r--cpp/test/Ice/stringConverter/Makefile2
-rw-r--r--cpp/test/Ice/stringConverter/Makefile.mak2
-rw-r--r--cpp/test/Ice/stringConverter/Test.ice2
-rwxr-xr-xcpp/test/Ice/stringConverter/run.py36
-rw-r--r--cpp/test/Ice/timeout/AllTests.cpp2
-rw-r--r--cpp/test/Ice/timeout/Client.cpp2
-rw-r--r--cpp/test/Ice/timeout/Makefile2
-rw-r--r--cpp/test/Ice/timeout/Makefile.mak2
-rw-r--r--cpp/test/Ice/timeout/Server.cpp2
-rw-r--r--cpp/test/Ice/timeout/Test.ice2
-rw-r--r--cpp/test/Ice/timeout/TestI.cpp2
-rw-r--r--cpp/test/Ice/timeout/TestI.h2
-rwxr-xr-xcpp/test/Ice/timeout/run.py24
-rw-r--r--cpp/test/Ice/udp/.depend7
-rw-r--r--cpp/test/Ice/udp/.gitignore (renamed from cpp/test/Ice/checksum/client/.gitignore)3
-rw-r--r--cpp/test/Ice/udp/AllTests.cpp148
-rw-r--r--cpp/test/Ice/udp/Client.cpp63
-rw-r--r--cpp/test/Ice/udp/Makefile43
-rw-r--r--cpp/test/Ice/udp/Makefile.mak50
-rw-r--r--cpp/test/Ice/udp/Server.cpp82
-rw-r--r--cpp/test/Ice/udp/Test.ice (renamed from cs/test/Glacier2/attack/Backend.ice)17
-rw-r--r--cpp/test/Ice/udp/TestI.cpp47
-rw-r--r--cpp/test/Ice/udp/TestI.h24
-rwxr-xr-xcpp/test/Ice/udp/run.py40
-rw-r--r--cpp/test/IceBox/Makefile2
-rw-r--r--cpp/test/IceBox/Makefile.mak2
-rw-r--r--cpp/test/IceBox/configuration/AllTests.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Client.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Makefile2
-rw-r--r--cpp/test/IceBox/configuration/Makefile.mak16
-rw-r--r--cpp/test/IceBox/configuration/Service.cpp2
-rw-r--r--cpp/test/IceBox/configuration/Test.ice2
-rw-r--r--cpp/test/IceBox/configuration/TestI.cpp2
-rw-r--r--cpp/test/IceBox/configuration/TestI.h2
-rwxr-xr-xcpp/test/IceBox/configuration/run.py38
-rw-r--r--cpp/test/IceGrid/Makefile4
-rw-r--r--cpp/test/IceGrid/Makefile.mak4
-rw-r--r--cpp/test/IceGrid/activation/AllTests.cpp22
-rw-r--r--cpp/test/IceGrid/activation/Client.cpp2
-rw-r--r--cpp/test/IceGrid/activation/Makefile2
-rw-r--r--cpp/test/IceGrid/activation/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/activation/Server.cpp2
-rw-r--r--cpp/test/IceGrid/activation/Test.ice2
-rw-r--r--cpp/test/IceGrid/activation/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/activation/TestI.h2
-rw-r--r--cpp/test/IceGrid/activation/application.xml7
-rwxr-xr-xcpp/test/IceGrid/activation/run.py29
-rw-r--r--cpp/test/IceGrid/admin/.depend1
-rw-r--r--cpp/test/IceGrid/admin/.gitignore (renamed from cpp/src/FreezeScript/.gitignore)7
-rw-r--r--cpp/test/IceGrid/admin/Makefile29
-rw-r--r--cpp/test/IceGrid/admin/Makefile.mak (renamed from cpp/test/Ice/checksum/client/Makefile.mak)29
-rw-r--r--cpp/test/IceGrid/admin/Server.cpp49
-rw-r--r--cpp/test/IceGrid/admin/application.xml11
-rw-r--r--cpp/test/IceGrid/admin/db/.gitignore (renamed from cs/test/Glacier2/attack/generated/.gitignore)0
-rwxr-xr-xcpp/test/IceGrid/admin/run.py242
-rw-r--r--cpp/test/IceGrid/allocation/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Client.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Makefile2
-rw-r--r--cpp/test/IceGrid/allocation/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/allocation/PermissionsVerifier.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Server.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/Test.ice2
-rw-r--r--cpp/test/IceGrid/allocation/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/allocation/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/allocation/run.py25
-rw-r--r--cpp/test/IceGrid/deployer/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Client.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Makefile2
-rw-r--r--cpp/test/IceGrid/deployer/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/deployer/Server.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Service.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/Test.ice2
-rw-r--r--cpp/test/IceGrid/deployer/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/deployer/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/deployer/run.py37
-rw-r--r--cpp/test/IceGrid/distribution/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Client.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Makefile2
-rw-r--r--cpp/test/IceGrid/distribution/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/distribution/Server.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/Test.ice2
-rw-r--r--cpp/test/IceGrid/distribution/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/distribution/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/distribution/run.py40
-rw-r--r--cpp/test/IceGrid/replicaGroup/AllTests.cpp106
-rw-r--r--cpp/test/IceGrid/replicaGroup/Client.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Server.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Service.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Test.ice2
-rw-r--r--cpp/test/IceGrid/replicaGroup/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/replicaGroup/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/replicaGroup/run.py30
-rw-r--r--cpp/test/IceGrid/replication/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Client.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Makefile2
-rw-r--r--cpp/test/IceGrid/replication/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/replication/Server.cpp2
-rw-r--r--cpp/test/IceGrid/replication/Test.ice2
-rw-r--r--cpp/test/IceGrid/replication/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/replication/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/replication/run.py31
-rw-r--r--cpp/test/IceGrid/session/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/session/Client.cpp2
-rw-r--r--cpp/test/IceGrid/session/Makefile2
-rw-r--r--cpp/test/IceGrid/session/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/session/PermissionsVerifier.cpp2
-rw-r--r--cpp/test/IceGrid/session/Server.cpp2
-rwxr-xr-xcpp/test/IceGrid/session/run.py38
-rw-r--r--cpp/test/IceGrid/simple/AllTests.cpp8
-rw-r--r--cpp/test/IceGrid/simple/Client.cpp2
-rw-r--r--cpp/test/IceGrid/simple/Makefile2
-rw-r--r--cpp/test/IceGrid/simple/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/simple/Server.cpp2
-rw-r--r--cpp/test/IceGrid/simple/Test.ice2
-rw-r--r--cpp/test/IceGrid/simple/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/simple/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/simple/run.py29
-rw-r--r--cpp/test/IceGrid/update/AllTests.cpp2
-rw-r--r--cpp/test/IceGrid/update/Client.cpp2
-rw-r--r--cpp/test/IceGrid/update/Makefile2
-rw-r--r--cpp/test/IceGrid/update/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/update/Server.cpp2
-rw-r--r--cpp/test/IceGrid/update/Test.ice2
-rw-r--r--cpp/test/IceGrid/update/TestI.cpp2
-rw-r--r--cpp/test/IceGrid/update/TestI.h2
-rwxr-xr-xcpp/test/IceGrid/update/run.py36
-rw-r--r--cpp/test/IceSSL/Makefile2
-rw-r--r--cpp/test/IceSSL/Makefile.mak2
-rw-r--r--cpp/test/IceSSL/certs/client.cnf2
-rwxr-xr-xcpp/test/IceSSL/certs/makecerts2
-rw-r--r--cpp/test/IceSSL/certs/server.cnf2
-rw-r--r--cpp/test/IceSSL/certs/test_ca1.cnf2
-rw-r--r--cpp/test/IceSSL/certs/test_ca2.cnf2
-rw-r--r--cpp/test/IceSSL/configuration/AllTests.cpp35
-rw-r--r--cpp/test/IceSSL/configuration/Client.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/Makefile2
-rw-r--r--cpp/test/IceSSL/configuration/Makefile.mak2
-rw-r--r--cpp/test/IceSSL/configuration/Server.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/Test.ice2
-rw-r--r--cpp/test/IceSSL/configuration/TestI.cpp2
-rw-r--r--cpp/test/IceSSL/configuration/TestI.h2
-rwxr-xr-xcpp/test/IceSSL/configuration/run.py26
-rw-r--r--cpp/test/IceStorm/Makefile2
-rw-r--r--cpp/test/IceStorm/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/federation/Event.ice2
-rw-r--r--cpp/test/IceStorm/federation/Makefile2
-rw-r--r--cpp/test/IceStorm/federation/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/federation/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/federation/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/federation/run.py55
-rw-r--r--cpp/test/IceStorm/federation2/Event.ice2
-rw-r--r--cpp/test/IceStorm/federation2/Makefile2
-rw-r--r--cpp/test/IceStorm/federation2/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/federation2/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/federation2/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/federation2/run.py177
-rw-r--r--cpp/test/IceStorm/rep1/Makefile2
-rw-r--r--cpp/test/IceStorm/rep1/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/rep1/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/rep1/Single.ice2
-rw-r--r--cpp/test/IceStorm/rep1/Sub.cpp2
-rw-r--r--cpp/test/IceStorm/rep1/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/rep1/run.py246
-rw-r--r--cpp/test/IceStorm/repgrid/Client.cpp2
-rw-r--r--cpp/test/IceStorm/repgrid/Makefile2
-rw-r--r--cpp/test/IceStorm/repgrid/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/repgrid/Single.ice2
-rw-r--r--cpp/test/IceStorm/repgrid/application.xml2
-rwxr-xr-xcpp/test/IceStorm/repgrid/run.py26
-rw-r--r--cpp/test/IceStorm/repstress/Control.cpp2
-rw-r--r--cpp/test/IceStorm/repstress/Controller.ice2
-rw-r--r--cpp/test/IceStorm/repstress/Makefile2
-rw-r--r--cpp/test/IceStorm/repstress/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/repstress/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/repstress/Single.ice2
-rw-r--r--cpp/test/IceStorm/repstress/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/repstress/run.py110
-rw-r--r--cpp/test/IceStorm/single/Makefile2
-rw-r--r--cpp/test/IceStorm/single/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/single/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/single/Single.ice2
-rw-r--r--cpp/test/IceStorm/single/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/single/run.py44
-rw-r--r--cpp/test/IceStorm/stress/Event.ice2
-rw-r--r--cpp/test/IceStorm/stress/Makefile2
-rw-r--r--cpp/test/IceStorm/stress/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/stress/Publisher.cpp2
-rw-r--r--cpp/test/IceStorm/stress/Subscriber.cpp2
-rwxr-xr-xcpp/test/IceStorm/stress/run.py159
-rw-r--r--cpp/test/IceUtil/Makefile2
-rw-r--r--cpp/test/IceUtil/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/condvar/Makefile2
-rw-r--r--cpp/test/IceUtil/condvar/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/condvar/Match.cpp2
-rw-r--r--cpp/test/IceUtil/condvar/WorkQueue.cpp159
-rwxr-xr-xcpp/test/IceUtil/condvar/run.py65
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Client.cpp2
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Makefile2
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/inputUtil/Client.cpp2
-rw-r--r--cpp/test/IceUtil/inputUtil/Makefile2
-rw-r--r--cpp/test/IceUtil/inputUtil/Makefile.mak2
-rwxr-xr-xcpp/test/IceUtil/inputUtil/run.py38
-rw-r--r--cpp/test/IceUtil/thread/AliveTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/AliveTest.h2
-rw-r--r--cpp/test/IceUtil/thread/Client.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CountDownLatchTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CountDownLatchTest.h2
-rw-r--r--cpp/test/IceUtil/thread/CreateTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/CreateTest.h2
-rw-r--r--cpp/test/IceUtil/thread/Makefile2
-rw-r--r--cpp/test/IceUtil/thread/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/thread/MonitorMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MonitorRecMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/MutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/MutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/RWRecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/RWRecMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/RecMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/RecMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/StartTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/StartTest.h2
-rw-r--r--cpp/test/IceUtil/thread/StaticMutexTest.cpp2
-rw-r--r--cpp/test/IceUtil/thread/StaticMutexTest.h2
-rw-r--r--cpp/test/IceUtil/thread/TestBase.cpp2
-rw-r--r--cpp/test/IceUtil/thread/TestBase.h2
-rw-r--r--cpp/test/IceUtil/thread/TestSuite.cpp2
-rw-r--r--cpp/test/IceUtil/thread/TestSuite.h2
-rwxr-xr-xcpp/test/IceUtil/thread/run.py40
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp2
-rw-r--r--cpp/test/IceUtil/timer/Makefile2
-rw-r--r--cpp/test/IceUtil/timer/Makefile.mak2
-rwxr-xr-xcpp/test/IceUtil/timer/run.py37
-rw-r--r--cpp/test/IceUtil/unicode/Client.cpp2
-rw-r--r--cpp/test/IceUtil/unicode/Makefile2
-rw-r--r--cpp/test/IceUtil/unicode/Makefile.mak2
-rwxr-xr-xcpp/test/IceUtil/unicode/run.py37
-rw-r--r--cpp/test/IceUtil/uuid/Client.cpp2
-rw-r--r--cpp/test/IceUtil/uuid/Makefile2
-rw-r--r--cpp/test/IceUtil/uuid/Makefile.mak2
-rwxr-xr-xcpp/test/IceUtil/uuid/run.py39
-rw-r--r--cpp/test/Makefile2
-rw-r--r--cpp/test/Makefile.mak2
-rw-r--r--cpp/test/Slice/Makefile2
-rw-r--r--cpp/test/Slice/Makefile.mak2
-rw-r--r--cpp/test/Slice/errorDetection/CaseInsensitive.ice2
-rw-r--r--cpp/test/Slice/errorDetection/CaseSensitive.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ChangedMeaning.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ClassRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ConstDef.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DataMemberRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DeclaratorMissing.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DerivedRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DictionaryRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DuplicateParameter.ice2
-rw-r--r--cpp/test/Slice/errorDetection/DuplicateThrows.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumEmpty.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IdentAsKeyword.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalDeclaration.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalDictionary.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalIdentifier.ice42
-rw-r--r--cpp/test/Slice/errorDetection/IllegalLocal.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalMI.ice2
-rw-r--r--cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice2
-rw-r--r--cpp/test/Slice/errorDetection/InterfaceMismatch.ice2
-rw-r--r--cpp/test/Slice/errorDetection/InterfaceRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/LocalMismatch.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotClassOrInterface.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotException.ice2
-rw-r--r--cpp/test/Slice/errorDetection/NotType.ice2
-rw-r--r--cpp/test/Slice/errorDetection/OperationRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsClass.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsEnumerator.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsModule.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice2
-rw-r--r--cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice2
-rw-r--r--cpp/test/Slice/errorDetection/Reserved.ice2
-rw-r--r--cpp/test/Slice/errorDetection/SelfContainment.ice2
-rw-r--r--cpp/test/Slice/errorDetection/SequenceRedefinition.ice2
-rw-r--r--cpp/test/Slice/errorDetection/StructMembers.ice2
-rw-r--r--cpp/test/Slice/errorDetection/Undefined.ice2
-rw-r--r--cpp/test/Slice/errorDetection/WrongProxyType.ice2
-rw-r--r--cpp/test/Slice/errorDetection/include/IcePrefix.ice2
-rwxr-xr-xcpp/test/Slice/errorDetection/run.py39
-rw-r--r--cpp/test/Slice/keyword/Client.cpp2
-rw-r--r--cpp/test/Slice/keyword/Key.ice2
-rw-r--r--cpp/test/Slice/keyword/Makefile2
-rw-r--r--cpp/test/Slice/keyword/Makefile.mak2
-rwxr-xr-xcpp/test/Slice/keyword/run.py38
-rw-r--r--cpp/test/include/TestCommon.h2
-rw-r--r--cs/CHANGES14
-rw-r--r--cs/INSTALL.VISUAL_C#4
-rw-r--r--cs/Makefile2
-rw-r--r--cs/Makefile.mak2
-rwxr-xr-xcs/allDemos.py6
-rwxr-xr-xcs/allTests.py10
-rw-r--r--cs/config/Make.rules.cs2
-rw-r--r--cs/config/Make.rules.mak.cs2
-rw-r--r--cs/demo/Glacier2/Makefile2
-rw-r--r--cs/demo/Glacier2/Makefile.mak2
-rw-r--r--cs/demo/Glacier2/callback/Callback.ice2
-rw-r--r--cs/demo/Glacier2/callback/CallbackI.cs2
-rw-r--r--cs/demo/Glacier2/callback/CallbackReceiverI.cs2
-rw-r--r--cs/demo/Glacier2/callback/Client.cs2
-rw-r--r--cs/demo/Glacier2/callback/Makefile2
-rw-r--r--cs/demo/Glacier2/callback/Makefile.mak2
-rw-r--r--cs/demo/Glacier2/callback/Server.cs2
-rw-r--r--cs/demo/Glacier2/callback/SessionI.cs2
-rw-r--r--cs/demo/Glacier2/callback/SessionManagerI.cs2
-rw-r--r--cs/demo/Glacier2/callback/SessionServer.cs2
-rwxr-xr-xcs/demo/Glacier2/callback/expect.py2
-rw-r--r--cs/demo/Ice/Makefile2
-rw-r--r--cs/demo/Ice/Makefile.mak2
-rw-r--r--cs/demo/Ice/async/Client.cs2
-rw-r--r--cs/demo/Ice/async/Hello.ice4
-rw-r--r--cs/demo/Ice/async/HelloI.cs2
-rw-r--r--cs/demo/Ice/async/Makefile2
-rw-r--r--cs/demo/Ice/async/Makefile.mak2
-rw-r--r--cs/demo/Ice/async/Server.cs2
-rw-r--r--cs/demo/Ice/async/WorkQueue.cs2
-rwxr-xr-xcs/demo/Ice/async/expect.py2
-rw-r--r--cs/demo/Ice/bidir/Callback.ice2
-rw-r--r--cs/demo/Ice/bidir/CallbackReceiverI.cs2
-rw-r--r--cs/demo/Ice/bidir/CallbackSenderI.cs2
-rw-r--r--cs/demo/Ice/bidir/Client.cs2
-rw-r--r--cs/demo/Ice/bidir/Makefile2
-rw-r--r--cs/demo/Ice/bidir/Makefile.mak2
-rw-r--r--cs/demo/Ice/bidir/Server.cs2
-rwxr-xr-xcs/demo/Ice/bidir/expect.py2
-rw-r--r--cs/demo/Ice/callback/Callback.ice2
-rw-r--r--cs/demo/Ice/callback/CallbackReceiverI.cs2
-rw-r--r--cs/demo/Ice/callback/CallbackSenderI.cs2
-rw-r--r--cs/demo/Ice/callback/Client.cs2
-rw-r--r--cs/demo/Ice/callback/Makefile2
-rw-r--r--cs/demo/Ice/callback/Makefile.mak2
-rw-r--r--cs/demo/Ice/callback/Server.cs2
-rwxr-xr-xcs/demo/Ice/callback/expect.py2
-rw-r--r--cs/demo/Ice/hello/Client.cs2
-rw-r--r--cs/demo/Ice/hello/Hello.ice4
-rw-r--r--cs/demo/Ice/hello/HelloI.cs2
-rw-r--r--cs/demo/Ice/hello/Makefile2
-rw-r--r--cs/demo/Ice/hello/Makefile.mak2
-rw-r--r--cs/demo/Ice/hello/Server.cs2
-rw-r--r--cs/demo/Ice/hello/config.server2
-rwxr-xr-xcs/demo/Ice/hello/expect.py6
-rw-r--r--cs/demo/Ice/invoke/Client.cs2
-rw-r--r--cs/demo/Ice/invoke/Makefile2
-rw-r--r--cs/demo/Ice/invoke/Makefile.mak2
-rw-r--r--cs/demo/Ice/invoke/Printer.ice2
-rw-r--r--cs/demo/Ice/invoke/PrinterI.cs2
-rw-r--r--cs/demo/Ice/invoke/Server.cs2
-rwxr-xr-xcs/demo/Ice/invoke/expect.py2
-rw-r--r--cs/demo/Ice/latency/Client.cs2
-rw-r--r--cs/demo/Ice/latency/Latency.ice2
-rw-r--r--cs/demo/Ice/latency/Makefile2
-rw-r--r--cs/demo/Ice/latency/Makefile.mak2
-rw-r--r--cs/demo/Ice/latency/Server.cs2
-rwxr-xr-xcs/demo/Ice/latency/expect.py2
-rw-r--r--cs/demo/Ice/minimal/Client.cs2
-rw-r--r--cs/demo/Ice/minimal/Hello.ice2
-rw-r--r--cs/demo/Ice/minimal/HelloI.cs2
-rw-r--r--cs/demo/Ice/minimal/Makefile2
-rw-r--r--cs/demo/Ice/minimal/Makefile.mak2
-rw-r--r--cs/demo/Ice/minimal/Server.cs2
-rwxr-xr-xcs/demo/Ice/minimal/expect.py2
-rw-r--r--cs/demo/Ice/multicast/Client.cs2
-rw-r--r--cs/demo/Ice/multicast/DiscoverI.cs2
-rw-r--r--cs/demo/Ice/multicast/DiscoverReplyI.cs2
-rw-r--r--cs/demo/Ice/multicast/Discovery.ice2
-rw-r--r--cs/demo/Ice/multicast/Hello.ice4
-rw-r--r--cs/demo/Ice/multicast/HelloI.cs2
-rw-r--r--cs/demo/Ice/multicast/Makefile2
-rw-r--r--cs/demo/Ice/multicast/Makefile.mak2
-rw-r--r--cs/demo/Ice/multicast/Server.cs2
-rwxr-xr-xcs/demo/Ice/multicast/expect.py2
-rw-r--r--cs/demo/Ice/nested/Client.cs2
-rw-r--r--cs/demo/Ice/nested/Makefile2
-rw-r--r--cs/demo/Ice/nested/Makefile.mak2
-rw-r--r--cs/demo/Ice/nested/Nested.ice2
-rw-r--r--cs/demo/Ice/nested/NestedI.cs2
-rw-r--r--cs/demo/Ice/nested/Server.cs2
-rwxr-xr-xcs/demo/Ice/nested/expect.py2
-rw-r--r--cs/demo/Ice/session/Client.cs2
-rw-r--r--cs/demo/Ice/session/HelloI.cs2
-rw-r--r--cs/demo/Ice/session/Makefile2
-rw-r--r--cs/demo/Ice/session/Makefile.mak2
-rw-r--r--cs/demo/Ice/session/ReapThread.cs2
-rw-r--r--cs/demo/Ice/session/Server.cs2
-rw-r--r--cs/demo/Ice/session/Session.ice2
-rw-r--r--cs/demo/Ice/session/SessionFactoryI.cs2
-rw-r--r--cs/demo/Ice/session/SessionI.cs2
-rwxr-xr-xcs/demo/Ice/session/expect.py2
-rw-r--r--cs/demo/Ice/throughput/Client.cs2
-rw-r--r--cs/demo/Ice/throughput/Makefile2
-rw-r--r--cs/demo/Ice/throughput/Makefile.mak2
-rw-r--r--cs/demo/Ice/throughput/Server.cs2
-rw-r--r--cs/demo/Ice/throughput/Throughput.ice2
-rw-r--r--cs/demo/Ice/throughput/ThroughputI.cs2
-rwxr-xr-xcs/demo/Ice/throughput/expect.py2
-rw-r--r--cs/demo/Ice/value/Client.cs2
-rw-r--r--cs/demo/Ice/value/DerivedPrinterI.cs2
-rw-r--r--cs/demo/Ice/value/InitialI.cs4
-rw-r--r--cs/demo/Ice/value/Makefile2
-rw-r--r--cs/demo/Ice/value/Makefile.mak2
-rw-r--r--cs/demo/Ice/value/ObjectFactory.cs2
-rw-r--r--cs/demo/Ice/value/PrinterI.cs2
-rw-r--r--cs/demo/Ice/value/Server.cs2
-rw-r--r--cs/demo/Ice/value/Value.ice4
-rwxr-xr-xcs/demo/Ice/value/expect.py2
-rw-r--r--cs/demo/IceBox/Makefile2
-rw-r--r--cs/demo/IceBox/Makefile.mak2
-rw-r--r--cs/demo/IceBox/hello/Client.cs2
-rw-r--r--cs/demo/IceBox/hello/Hello.ice4
-rw-r--r--cs/demo/IceBox/hello/HelloI.cs2
-rw-r--r--cs/demo/IceBox/hello/HelloServiceI.cs2
-rw-r--r--cs/demo/IceBox/hello/Makefile2
-rw-r--r--cs/demo/IceBox/hello/Makefile.mak2
-rw-r--r--cs/demo/IceBox/hello/config.client2
-rw-r--r--cs/demo/IceBox/hello/config.service2
-rwxr-xr-xcs/demo/IceBox/hello/expect.py2
-rw-r--r--cs/demo/IceGrid/Makefile2
-rw-r--r--cs/demo/IceGrid/Makefile.mak2
-rw-r--r--cs/demo/IceGrid/icebox/Client.cs2
-rw-r--r--cs/demo/IceGrid/icebox/Hello.ice4
-rw-r--r--cs/demo/IceGrid/icebox/HelloI.cs2
-rw-r--r--cs/demo/IceGrid/icebox/HelloServiceI.cs2
-rw-r--r--cs/demo/IceGrid/icebox/Makefile2
-rw-r--r--cs/demo/IceGrid/icebox/Makefile.mak2
-rwxr-xr-xcs/demo/IceGrid/icebox/expect.py2
-rw-r--r--cs/demo/IceGrid/simple/Client.cs2
-rw-r--r--cs/demo/IceGrid/simple/Hello.ice2
-rw-r--r--cs/demo/IceGrid/simple/HelloI.cs2
-rw-r--r--cs/demo/IceGrid/simple/Makefile2
-rw-r--r--cs/demo/IceGrid/simple/Makefile.mak2
-rw-r--r--cs/demo/IceGrid/simple/Server.cs2
-rw-r--r--cs/demo/IceGrid/simple/application.xml2
-rw-r--r--cs/demo/IceGrid/simple/application_with_replication.xml2
-rw-r--r--cs/demo/IceGrid/simple/application_with_template.xml2
-rwxr-xr-xcs/demo/IceGrid/simple/expect.py2
-rw-r--r--cs/demo/IceStorm/Makefile2
-rw-r--r--cs/demo/IceStorm/Makefile.mak2
-rw-r--r--cs/demo/IceStorm/clock/Clock.ice2
-rw-r--r--cs/demo/IceStorm/clock/Makefile2
-rw-r--r--cs/demo/IceStorm/clock/Makefile.mak2
-rw-r--r--cs/demo/IceStorm/clock/Publisher.cs2
-rw-r--r--cs/demo/IceStorm/clock/Subscriber.cs2
-rwxr-xr-xcs/demo/IceStorm/clock/expect.py2
-rw-r--r--cs/demo/Makefile2
-rw-r--r--cs/demo/Makefile.mak2
-rw-r--r--cs/demo/book/Makefile2
-rw-r--r--cs/demo/book/Makefile.mak2
-rw-r--r--cs/demo/book/lifecycle/Client.cs2
-rw-r--r--cs/demo/book/lifecycle/DirectoryI.cs2
-rw-r--r--cs/demo/book/lifecycle/FileI.cs2
-rw-r--r--cs/demo/book/lifecycle/Grammar.cs2
-rw-r--r--cs/demo/book/lifecycle/Makefile2
-rw-r--r--cs/demo/book/lifecycle/Makefile.mak2
-rw-r--r--cs/demo/book/lifecycle/NodeI.cs2
-rw-r--r--cs/demo/book/lifecycle/Parser.cs2
-rw-r--r--cs/demo/book/lifecycle/Scanner.cs2
-rw-r--r--cs/demo/book/lifecycle/Server.cs2
-rw-r--r--cs/demo/book/lifecycle/Token.cs2
-rwxr-xr-xcs/demo/book/lifecycle/expect.py2
-rw-r--r--cs/demo/book/printer/Client.cs2
-rw-r--r--cs/demo/book/printer/Makefile2
-rw-r--r--cs/demo/book/printer/Makefile.mak2
-rw-r--r--cs/demo/book/printer/Printer.ice2
-rw-r--r--cs/demo/book/printer/Server.cs2
-rwxr-xr-xcs/demo/book/printer/expect.py2
-rw-r--r--cs/demo/book/simple_filesystem/Client.cs2
-rw-r--r--cs/demo/book/simple_filesystem/DirectoryI.cs2
-rw-r--r--cs/demo/book/simple_filesystem/FileI.cs2
-rw-r--r--cs/demo/book/simple_filesystem/Filesystem.ice2
-rw-r--r--cs/demo/book/simple_filesystem/Makefile2
-rw-r--r--cs/demo/book/simple_filesystem/Makefile.mak2
-rw-r--r--cs/demo/book/simple_filesystem/Server.cs2
-rwxr-xr-xcs/demo/book/simple_filesystem/expect.py2
-rw-r--r--cs/lib/pkgconfig/Glacier2.pc2
-rw-r--r--cs/lib/pkgconfig/Ice.pc2
-rw-r--r--cs/lib/pkgconfig/IceBox.pc2
-rw-r--r--cs/lib/pkgconfig/IceGrid.pc2
-rw-r--r--cs/lib/pkgconfig/IcePatch2.pc2
-rw-r--r--cs/lib/pkgconfig/IceStorm.pc2
-rwxr-xr-xcs/makedist.py2
-rw-r--r--cs/src/Glacier2/AssemblyInfo.cs6
-rw-r--r--cs/src/Glacier2/Makefile2
-rw-r--r--cs/src/Glacier2/Makefile.mak2
-rw-r--r--cs/src/Ice/Acceptor.cs3
-rw-r--r--cs/src/Ice/Application.cs2
-rw-r--r--cs/src/Ice/Arrays.cs2
-rw-r--r--cs/src/Ice/AssemblyInfo.cs6
-rw-r--r--cs/src/Ice/AssemblyUtil.cs17
-rw-r--r--cs/src/Ice/AsyncIOThread.cs141
-rw-r--r--cs/src/Ice/Base64.cs2
-rw-r--r--cs/src/Ice/BasicStream.cs4
-rw-r--r--cs/src/Ice/Buffer.cs2
-rw-r--r--cs/src/Ice/ByteBuffer.cs2
-rw-r--r--cs/src/Ice/CollectionBase.cs2
-rw-r--r--cs/src/Ice/Collections.cs2
-rw-r--r--cs/src/Ice/CommunicatorI.cs2
-rw-r--r--cs/src/Ice/Compare.cs2
-rw-r--r--cs/src/Ice/ConnectRequestHandler.cs2
-rw-r--r--cs/src/Ice/ConnectionFactory.cs16
-rw-r--r--cs/src/Ice/ConnectionI.cs52
-rw-r--r--cs/src/Ice/ConnectionMonitor.cs2
-rw-r--r--cs/src/Ice/ConnectionRequestHandler.cs2
-rw-r--r--cs/src/Ice/Connector.cs2
-rw-r--r--cs/src/Ice/DefaultsAndOverrides.cs2
-rw-r--r--cs/src/Ice/DictionaryBase.cs2
-rw-r--r--cs/src/Ice/Direct.cs2
-rw-r--r--cs/src/Ice/DispatchInterceptor.cs2
-rw-r--r--cs/src/Ice/EndpointFactory.cs2
-rw-r--r--cs/src/Ice/EndpointFactoryManager.cs2
-rw-r--r--cs/src/Ice/EndpointHostResolver.cs2
-rw-r--r--cs/src/Ice/EndpointI.cs2
-rw-r--r--cs/src/Ice/Exception.cs2
-rw-r--r--cs/src/Ice/ImplicitContextI.cs2
-rw-r--r--cs/src/Ice/Incoming.cs2
-rw-r--r--cs/src/Ice/IncomingAsync.cs2
-rw-r--r--cs/src/Ice/Instance.cs74
-rw-r--r--cs/src/Ice/LinkedList.cs2
-rw-r--r--cs/src/Ice/LocalObject.cs2
-rw-r--r--cs/src/Ice/LocatorInfo.cs835
-rw-r--r--cs/src/Ice/LoggerI.cs2
-rw-r--r--cs/src/Ice/LoggerPlugin.cs2
-rw-r--r--cs/src/Ice/Makefile4
-rw-r--r--cs/src/Ice/Makefile.mak4
-rw-r--r--cs/src/Ice/Network.cs2
-rw-r--r--cs/src/Ice/Object.cs2
-rw-r--r--cs/src/Ice/ObjectAdapterFactory.cs2
-rw-r--r--cs/src/Ice/ObjectAdapterI.cs2
-rw-r--r--cs/src/Ice/ObjectFactoryManager.cs2
-rw-r--r--cs/src/Ice/Options.cs2
-rw-r--r--cs/src/Ice/Outgoing.cs2
-rw-r--r--cs/src/Ice/OutgoingAsync.cs26
-rw-r--r--cs/src/Ice/OutputBase.cs2
-rw-r--r--cs/src/Ice/Patcher.cs2
-rw-r--r--cs/src/Ice/PluginManagerI.cs44
-rw-r--r--cs/src/Ice/ProcessI.cs2
-rw-r--r--cs/src/Ice/PropertiesAdminI.cs2
-rw-r--r--cs/src/Ice/PropertiesI.cs2
-rw-r--r--cs/src/Ice/Property.cs2
-rw-r--r--cs/src/Ice/PropertyNames.cs28
-rw-r--r--cs/src/Ice/Protocol.cs2
-rw-r--r--cs/src/Ice/ProtocolPluginFacade.cs2
-rw-r--r--cs/src/Ice/Proxy.cs2
-rw-r--r--cs/src/Ice/ProxyFactory.cs47
-rw-r--r--cs/src/Ice/ProxyIdentityKey.cs2
-rw-r--r--cs/src/Ice/Reference.cs2
-rw-r--r--cs/src/Ice/ReferenceFactory.cs2
-rw-r--r--cs/src/Ice/ReplyStatus.cs2
-rw-r--r--cs/src/Ice/RequestHandler.cs2
-rw-r--r--cs/src/Ice/RetryQueue.cs90
-rw-r--r--cs/src/Ice/RouterInfo.cs2
-rw-r--r--cs/src/Ice/ServantManager.cs2
-rw-r--r--cs/src/Ice/Set.cs2
-rw-r--r--cs/src/Ice/SliceChecksums.cs2
-rw-r--r--cs/src/Ice/Stream.cs10
-rw-r--r--cs/src/Ice/StreamI.cs2
-rw-r--r--cs/src/Ice/StringUtil.cs2
-rw-r--r--cs/src/Ice/SysLoggerI.cs2
-rw-r--r--cs/src/Ice/TcpAcceptor.cs7
-rw-r--r--cs/src/Ice/TcpConnector.cs2
-rw-r--r--cs/src/Ice/TcpEndpointI.cs2
-rw-r--r--cs/src/Ice/TcpTransceiver.cs8
-rw-r--r--cs/src/Ice/ThreadPool.cs2
-rw-r--r--cs/src/Ice/TieBase.cs2
-rw-r--r--cs/src/Ice/Time.cs2
-rw-r--r--cs/src/Ice/Timer.cs2
-rw-r--r--cs/src/Ice/TraceLevels.cs2
-rw-r--r--cs/src/Ice/TraceUtil.cs2
-rw-r--r--cs/src/Ice/Transceiver.cs4
-rw-r--r--cs/src/Ice/UdpConnector.cs2
-rw-r--r--cs/src/Ice/UdpEndpointI.cs2
-rw-r--r--cs/src/Ice/UdpTransceiver.cs8
-rw-r--r--cs/src/Ice/UnknownEndpointI.cs2
-rw-r--r--cs/src/Ice/UserExceptionFactory.cs2
-rw-r--r--cs/src/Ice/Util.cs6
-rw-r--r--cs/src/Ice/ValueWriter.cs2
-rw-r--r--cs/src/Ice/XMLOutput.cs2
-rw-r--r--cs/src/IceBox/AssemblyInfo.cs6
-rw-r--r--cs/src/IceBox/Makefile2
-rw-r--r--cs/src/IceBox/Makefile.mak2
-rw-r--r--cs/src/IceBox/Server.cs2
-rw-r--r--cs/src/IceBox/ServiceManagerI.cs4
-rw-r--r--cs/src/IceGrid/AssemblyInfo.cs6
-rw-r--r--cs/src/IceGrid/Makefile2
-rw-r--r--cs/src/IceGrid/Makefile.mak3
-rw-r--r--cs/src/IcePatch2/AssemblyInfo.cs6
-rw-r--r--cs/src/IcePatch2/Makefile2
-rw-r--r--cs/src/IcePatch2/Makefile.mak2
-rw-r--r--cs/src/IceSSL/AcceptorI.cs11
-rw-r--r--cs/src/IceSSL/AssemblyInfo.cs6
-rw-r--r--cs/src/IceSSL/ConnectorI.cs6
-rw-r--r--cs/src/IceSSL/EndpointI.cs2
-rw-r--r--cs/src/IceSSL/Instance.cs6
-rw-r--r--cs/src/IceSSL/Makefile2
-rw-r--r--cs/src/IceSSL/Makefile.mak2
-rw-r--r--cs/src/IceSSL/Plugin.cs10
-rw-r--r--cs/src/IceSSL/PluginI.cs2
-rw-r--r--cs/src/IceSSL/RFC2253.cs2
-rw-r--r--cs/src/IceSSL/TransceiverI.cs8
-rw-r--r--cs/src/IceSSL/TrustManager.cs2
-rw-r--r--cs/src/IceSSL/Util.cs2
-rw-r--r--cs/src/IceStorm/AssemblyInfo.cs6
-rw-r--r--cs/src/IceStorm/Makefile2
-rw-r--r--cs/src/IceStorm/Makefile.mak2
-rw-r--r--cs/src/Makefile2
-rw-r--r--cs/src/Makefile.mak2
-rw-r--r--cs/test/Glacier2/Makefile4
-rw-r--r--cs/test/Glacier2/Makefile.mak4
-rw-r--r--cs/test/Glacier2/attack/.depend1
-rw-r--r--cs/test/Glacier2/attack/BackendI.cs23
-rw-r--r--cs/test/Glacier2/attack/Client.cs155
-rw-r--r--cs/test/Glacier2/attack/Makefile35
-rw-r--r--cs/test/Glacier2/attack/Makefile.mak36
-rw-r--r--cs/test/Glacier2/attack/Server.cs71
-rw-r--r--cs/test/Glacier2/attack/passwords1
-rwxr-xr-xcs/test/Glacier2/attack/run.py50
-rw-r--r--cs/test/Glacier2/router/Callback.ice2
-rw-r--r--cs/test/Glacier2/router/CallbackI.cs2
-rw-r--r--cs/test/Glacier2/router/Client.cs2
-rw-r--r--cs/test/Glacier2/router/Makefile2
-rw-r--r--cs/test/Glacier2/router/Makefile.mak2
-rw-r--r--cs/test/Glacier2/router/Server.cs2
-rwxr-xr-xcs/test/Glacier2/router/run.py64
-rw-r--r--cs/test/Ice/Makefile5
-rw-r--r--cs/test/Ice/Makefile.mak5
-rw-r--r--cs/test/Ice/adapterDeactivation/AllTests.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/Client.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/Collocated.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/CookieI.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/Makefile2
-rw-r--r--cs/test/Ice/adapterDeactivation/Makefile.mak2
-rw-r--r--cs/test/Ice/adapterDeactivation/ServantLocatorI.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/Server.cs2
-rw-r--r--cs/test/Ice/adapterDeactivation/Test.ice2
-rw-r--r--cs/test/Ice/adapterDeactivation/TestI.cs2
-rwxr-xr-xcs/test/Ice/adapterDeactivation/run.py26
-rw-r--r--cs/test/Ice/application/Client.cs2
-rw-r--r--cs/test/Ice/application/Makefile2
-rw-r--r--cs/test/Ice/application/Makefile.mak2
-rw-r--r--cs/test/Ice/background/Acceptor.cs7
-rw-r--r--cs/test/Ice/background/AllTests.cs2
-rw-r--r--cs/test/Ice/background/BackgroundControllerI.cs2
-rw-r--r--cs/test/Ice/background/BackgroundI.cs2
-rw-r--r--cs/test/Ice/background/Client.cs4
-rw-r--r--cs/test/Ice/background/Configuration.cs2
-rw-r--r--cs/test/Ice/background/Connector.cs2
-rw-r--r--cs/test/Ice/background/EndpointFactory.cs2
-rw-r--r--cs/test/Ice/background/EndpointI.cs2
-rw-r--r--cs/test/Ice/background/Makefile2
-rw-r--r--cs/test/Ice/background/Makefile.mak2
-rw-r--r--cs/test/Ice/background/PluginI.cs2
-rw-r--r--cs/test/Ice/background/Server.cs4
-rw-r--r--cs/test/Ice/background/Test.ice2
-rw-r--r--cs/test/Ice/background/Transceiver.cs7
-rwxr-xr-xcs/test/Ice/background/run.py24
-rw-r--r--cs/test/Ice/binding/AllTests.cs2
-rw-r--r--cs/test/Ice/binding/Client.cs2
-rw-r--r--cs/test/Ice/binding/Makefile2
-rw-r--r--cs/test/Ice/binding/Makefile.mak2
-rw-r--r--cs/test/Ice/binding/RemoteCommunicatorI.cs2
-rw-r--r--cs/test/Ice/binding/RemoteObjectAdapterI.cs2
-rw-r--r--cs/test/Ice/binding/Server.cs2
-rw-r--r--cs/test/Ice/binding/Test.ice2
-rw-r--r--cs/test/Ice/binding/TestI.cs2
-rwxr-xr-xcs/test/Ice/binding/run.py24
-rw-r--r--cs/test/Ice/checksum/.depend (renamed from cs/test/Ice/checksum/client/.depend)0
-rw-r--r--cs/test/Ice/checksum/AllTests.cs (renamed from cs/test/Ice/checksum/client/AllTests.cs)2
-rw-r--r--cs/test/Ice/checksum/Client.cs (renamed from cs/test/Ice/checksum/client/Client.cs)2
-rw-r--r--cs/test/Ice/checksum/Makefile23
-rw-r--r--cs/test/Ice/checksum/Makefile.mak29
-rw-r--r--cs/test/Ice/checksum/Test.ice (renamed from java/test/Ice/checksum/client/Test.ice)2
-rw-r--r--cs/test/Ice/checksum/Types.ice (renamed from cpp/test/Ice/checksum/client/Types.ice)2
-rw-r--r--cs/test/Ice/checksum/generated/.gitignore (renamed from cs/test/Ice/checksum/client/generated/.gitignore)0
-rwxr-xr-xcs/test/Ice/checksum/run.py25
-rw-r--r--cs/test/Ice/checksum/server/Makefile2
-rw-r--r--cs/test/Ice/checksum/server/Makefile.mak2
-rw-r--r--cs/test/Ice/checksum/server/Server.cs2
-rw-r--r--cs/test/Ice/checksum/server/Test.ice2
-rw-r--r--cs/test/Ice/checksum/server/TestI.cs2
-rw-r--r--cs/test/Ice/checksum/server/Types.ice2
-rw-r--r--cs/test/Ice/dictMapping/AllTests.cs2
-rw-r--r--cs/test/Ice/dictMapping/Client.cs2
-rw-r--r--cs/test/Ice/dictMapping/Collocated.cs2
-rw-r--r--cs/test/Ice/dictMapping/Makefile2
-rw-r--r--cs/test/Ice/dictMapping/Makefile.mak2
-rw-r--r--cs/test/Ice/dictMapping/MyClassAMDI.cs2
-rw-r--r--cs/test/Ice/dictMapping/MyClassI.cs2
-rw-r--r--cs/test/Ice/dictMapping/Server.cs2
-rw-r--r--cs/test/Ice/dictMapping/Test.ice2
-rw-r--r--cs/test/Ice/dictMapping/TestAMD.ice2
-rw-r--r--cs/test/Ice/dictMapping/Twoways.cs2
-rw-r--r--cs/test/Ice/dictMapping/TwowaysAMI.cs2
-rwxr-xr-xcs/test/Ice/dictMapping/run.py28
-rw-r--r--cs/test/Ice/exceptions/AllTests.cs2
-rw-r--r--cs/test/Ice/exceptions/Client.cs2
-rw-r--r--cs/test/Ice/exceptions/Collocated.cs2
-rw-r--r--cs/test/Ice/exceptions/EmptyI.cs2
-rw-r--r--cs/test/Ice/exceptions/Makefile2
-rw-r--r--cs/test/Ice/exceptions/Makefile.mak2
-rw-r--r--cs/test/Ice/exceptions/ObjectFactoryI.cs2
-rw-r--r--cs/test/Ice/exceptions/ServantLocatorI.cs2
-rw-r--r--cs/test/Ice/exceptions/Server.cs2
-rw-r--r--cs/test/Ice/exceptions/Test.ice2
-rw-r--r--cs/test/Ice/exceptions/TestAMD.ice2
-rw-r--r--cs/test/Ice/exceptions/ThrowerAMDI.cs4
-rw-r--r--cs/test/Ice/exceptions/ThrowerI.cs2
-rwxr-xr-xcs/test/Ice/exceptions/run.py28
-rw-r--r--cs/test/Ice/facets/AI.cs2
-rw-r--r--cs/test/Ice/facets/AllTests.cs2
-rw-r--r--cs/test/Ice/facets/BI.cs2
-rw-r--r--cs/test/Ice/facets/CI.cs2
-rw-r--r--cs/test/Ice/facets/Client.cs2
-rw-r--r--cs/test/Ice/facets/Collocated.cs2
-rw-r--r--cs/test/Ice/facets/DI.cs2
-rw-r--r--cs/test/Ice/facets/EI.cs2
-rw-r--r--cs/test/Ice/facets/EmptyI.cs2
-rw-r--r--cs/test/Ice/facets/FI.cs2
-rw-r--r--cs/test/Ice/facets/GI.cs2
-rw-r--r--cs/test/Ice/facets/HI.cs2
-rw-r--r--cs/test/Ice/facets/Makefile2
-rw-r--r--cs/test/Ice/facets/Makefile.mak2
-rw-r--r--cs/test/Ice/facets/Server.cs2
-rw-r--r--cs/test/Ice/facets/Test.ice2
-rwxr-xr-xcs/test/Ice/facets/run.py26
-rw-r--r--cs/test/Ice/faultTolerance/AllTests.cs2
-rw-r--r--cs/test/Ice/faultTolerance/Client.cs2
-rw-r--r--cs/test/Ice/faultTolerance/Makefile2
-rw-r--r--cs/test/Ice/faultTolerance/Makefile.mak2
-rw-r--r--cs/test/Ice/faultTolerance/Server.cs2
-rw-r--r--cs/test/Ice/faultTolerance/Test.ice2
-rw-r--r--cs/test/Ice/faultTolerance/TestI.cs2
-rwxr-xr-xcs/test/Ice/faultTolerance/run.py55
-rw-r--r--cs/test/Ice/hold/AllTests.cs2
-rw-r--r--cs/test/Ice/hold/Client.cs2
-rw-r--r--cs/test/Ice/hold/HoldI.cs2
-rw-r--r--cs/test/Ice/hold/Makefile2
-rw-r--r--cs/test/Ice/hold/Makefile.mak2
-rw-r--r--cs/test/Ice/hold/Server.cs2
-rw-r--r--cs/test/Ice/hold/Test.ice2
-rwxr-xr-xcs/test/Ice/hold/run.py24
-rw-r--r--cs/test/Ice/inheritance/AllTests.cs2
-rw-r--r--cs/test/Ice/inheritance/CAI.cs2
-rw-r--r--cs/test/Ice/inheritance/CBI.cs2
-rw-r--r--cs/test/Ice/inheritance/CCI.cs2
-rw-r--r--cs/test/Ice/inheritance/CDI.cs2
-rw-r--r--cs/test/Ice/inheritance/Client.cs2
-rw-r--r--cs/test/Ice/inheritance/Collocated.cs2
-rw-r--r--cs/test/Ice/inheritance/IAI.cs2
-rw-r--r--cs/test/Ice/inheritance/IB1I.cs2
-rw-r--r--cs/test/Ice/inheritance/IB2I.cs2
-rw-r--r--cs/test/Ice/inheritance/ICI.cs2
-rw-r--r--cs/test/Ice/inheritance/InitialI.cs2
-rw-r--r--cs/test/Ice/inheritance/Makefile2
-rw-r--r--cs/test/Ice/inheritance/Makefile.mak2
-rw-r--r--cs/test/Ice/inheritance/Server.cs2
-rw-r--r--cs/test/Ice/inheritance/Test.ice2
-rwxr-xr-xcs/test/Ice/inheritance/run.py26
-rw-r--r--cs/test/Ice/interceptor/AMDInterceptorI.cs2
-rw-r--r--cs/test/Ice/interceptor/Client.cs2
-rw-r--r--cs/test/Ice/interceptor/InterceptorI.cs2
-rw-r--r--cs/test/Ice/interceptor/Makefile2
-rw-r--r--cs/test/Ice/interceptor/Makefile.mak2
-rw-r--r--cs/test/Ice/interceptor/MyObjectI.cs2
-rw-r--r--cs/test/Ice/interceptor/Test.ice2
-rwxr-xr-xcs/test/Ice/interceptor/run.py35
-rw-r--r--cs/test/Ice/location/AllTests.cs324
-rw-r--r--cs/test/Ice/location/Client.cs2
-rw-r--r--cs/test/Ice/location/HelloI.cs2
-rw-r--r--cs/test/Ice/location/Makefile2
-rw-r--r--cs/test/Ice/location/Makefile.mak2
-rw-r--r--cs/test/Ice/location/Server.cs2
-rw-r--r--cs/test/Ice/location/ServerLocator.cs2
-rw-r--r--cs/test/Ice/location/ServerLocatorRegistry.cs23
-rw-r--r--cs/test/Ice/location/ServerManagerI.cs3
-rw-r--r--cs/test/Ice/location/Test.ice4
-rw-r--r--cs/test/Ice/location/TestI.cs2
-rwxr-xr-xcs/test/Ice/location/run.py24
-rw-r--r--cs/test/Ice/objects/AllTests.cs2
-rw-r--r--cs/test/Ice/objects/BI.cs2
-rw-r--r--cs/test/Ice/objects/CI.cs2
-rw-r--r--cs/test/Ice/objects/Client.cs2
-rw-r--r--cs/test/Ice/objects/Collocated.cs2
-rw-r--r--cs/test/Ice/objects/DI.cs2
-rw-r--r--cs/test/Ice/objects/EI.cs2
-rw-r--r--cs/test/Ice/objects/FI.cs2
-rw-r--r--cs/test/Ice/objects/HI.cs2
-rw-r--r--cs/test/Ice/objects/II.cs2
-rw-r--r--cs/test/Ice/objects/InitialI.cs2
-rw-r--r--cs/test/Ice/objects/JI.cs2
-rw-r--r--cs/test/Ice/objects/Makefile2
-rw-r--r--cs/test/Ice/objects/Makefile.mak2
-rw-r--r--cs/test/Ice/objects/Server.cs2
-rw-r--r--cs/test/Ice/objects/Test.ice2
-rw-r--r--cs/test/Ice/objects/UnexpectedObjectExceptionTestI.cs2
-rwxr-xr-xcs/test/Ice/objects/run.py26
-rw-r--r--cs/test/Ice/operations/AllTests.cs2
-rw-r--r--cs/test/Ice/operations/BatchOneways.cs2
-rw-r--r--cs/test/Ice/operations/Client.cs2
-rw-r--r--cs/test/Ice/operations/Collocated.cs2
-rw-r--r--cs/test/Ice/operations/Makefile2
-rw-r--r--cs/test/Ice/operations/Makefile.mak2
-rw-r--r--cs/test/Ice/operations/MyDerivedClassAMDI.cs2
-rw-r--r--cs/test/Ice/operations/MyDerivedClassI.cs2
-rw-r--r--cs/test/Ice/operations/Oneways.cs2
-rw-r--r--cs/test/Ice/operations/OnewaysAMI.cs2
-rw-r--r--cs/test/Ice/operations/Server.cs2
-rw-r--r--cs/test/Ice/operations/Test.ice2
-rw-r--r--cs/test/Ice/operations/TestAMD.ice2
-rw-r--r--cs/test/Ice/operations/Twoways.cs2
-rw-r--r--cs/test/Ice/operations/TwowaysAMI.cs2
-rwxr-xr-xcs/test/Ice/operations/run.py28
-rw-r--r--cs/test/Ice/proxy/AllTests.cs2
-rw-r--r--cs/test/Ice/proxy/Client.cs2
-rw-r--r--cs/test/Ice/proxy/Collocated.cs2
-rw-r--r--cs/test/Ice/proxy/Makefile2
-rw-r--r--cs/test/Ice/proxy/Makefile.mak2
-rw-r--r--cs/test/Ice/proxy/MyDerivedClassAMDI.cs2
-rw-r--r--cs/test/Ice/proxy/MyDerivedClassI.cs2
-rw-r--r--cs/test/Ice/proxy/Server.cs2
-rw-r--r--cs/test/Ice/proxy/Test.ice2
-rw-r--r--cs/test/Ice/proxy/TestAMD.ice2
-rwxr-xr-xcs/test/Ice/proxy/run.py28
-rw-r--r--cs/test/Ice/retry/AllTests.cs2
-rw-r--r--cs/test/Ice/retry/Client.cs2
-rw-r--r--cs/test/Ice/retry/Makefile2
-rw-r--r--cs/test/Ice/retry/Makefile.mak2
-rw-r--r--cs/test/Ice/retry/RetryI.cs2
-rw-r--r--cs/test/Ice/retry/Server.cs2
-rw-r--r--cs/test/Ice/retry/Test.ice2
-rwxr-xr-xcs/test/Ice/retry/run.py24
-rw-r--r--cs/test/Ice/seqMapping/AllTests.cs2
-rw-r--r--cs/test/Ice/seqMapping/Client.cs2
-rw-r--r--cs/test/Ice/seqMapping/Collocated.cs2
-rw-r--r--cs/test/Ice/seqMapping/Custom.cs2
-rw-r--r--cs/test/Ice/seqMapping/Makefile2
-rw-r--r--cs/test/Ice/seqMapping/Makefile.mak2
-rw-r--r--cs/test/Ice/seqMapping/MyClassAMDI.cs2
-rw-r--r--cs/test/Ice/seqMapping/MyClassI.cs2
-rw-r--r--cs/test/Ice/seqMapping/Server.cs2
-rw-r--r--cs/test/Ice/seqMapping/Test.ice2
-rw-r--r--cs/test/Ice/seqMapping/TestAMD.ice2
-rw-r--r--cs/test/Ice/seqMapping/Twoways.cs2
-rw-r--r--cs/test/Ice/seqMapping/TwowaysAMI.cs2
-rwxr-xr-xcs/test/Ice/seqMapping/run.py28
-rw-r--r--cs/test/Ice/servantLocator/AllTests.cs2
-rw-r--r--cs/test/Ice/servantLocator/Client.cs2
-rw-r--r--cs/test/Ice/servantLocator/Collocated.cs2
-rw-r--r--cs/test/Ice/servantLocator/CookieI.cs2
-rw-r--r--cs/test/Ice/servantLocator/Makefile2
-rw-r--r--cs/test/Ice/servantLocator/Makefile.mak2
-rw-r--r--cs/test/Ice/servantLocator/ServantLocatorI.cs2
-rw-r--r--cs/test/Ice/servantLocator/Server.cs2
-rw-r--r--cs/test/Ice/servantLocator/Test.ice2
-rw-r--r--cs/test/Ice/servantLocator/TestAMD.ice2
-rw-r--r--cs/test/Ice/servantLocator/TestAMDI.cs2
-rw-r--r--cs/test/Ice/servantLocator/TestI.cs2
-rwxr-xr-xcs/test/Ice/servantLocator/run.py29
-rw-r--r--cs/test/Ice/slicing/Makefile2
-rw-r--r--cs/test/Ice/slicing/Makefile.mak2
-rw-r--r--cs/test/Ice/slicing/exceptions/AllTests.cs2
-rw-r--r--cs/test/Ice/slicing/exceptions/Client.cs2
-rw-r--r--cs/test/Ice/slicing/exceptions/Makefile2
-rw-r--r--cs/test/Ice/slicing/exceptions/Makefile.mak2
-rw-r--r--cs/test/Ice/slicing/exceptions/Server.cs2
-rw-r--r--cs/test/Ice/slicing/exceptions/ServerPrivate.ice2
-rw-r--r--cs/test/Ice/slicing/exceptions/ServerPrivateAMD.ice2
-rw-r--r--cs/test/Ice/slicing/exceptions/Test.ice2
-rw-r--r--cs/test/Ice/slicing/exceptions/TestAMD.ice2
-rw-r--r--cs/test/Ice/slicing/exceptions/TestAMDI.cs2
-rw-r--r--cs/test/Ice/slicing/exceptions/TestI.cs2
-rwxr-xr-xcs/test/Ice/slicing/exceptions/run.py26
-rw-r--r--cs/test/Ice/slicing/objects/AllTests.cs2
-rw-r--r--cs/test/Ice/slicing/objects/Client.cs2
-rw-r--r--cs/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--cs/test/Ice/slicing/objects/Forward.ice2
-rw-r--r--cs/test/Ice/slicing/objects/Makefile2
-rw-r--r--cs/test/Ice/slicing/objects/Makefile.mak2
-rw-r--r--cs/test/Ice/slicing/objects/Server.cs2
-rw-r--r--cs/test/Ice/slicing/objects/ServerPrivate.ice2
-rw-r--r--cs/test/Ice/slicing/objects/ServerPrivateAMD.ice2
-rw-r--r--cs/test/Ice/slicing/objects/Test.ice2
-rw-r--r--cs/test/Ice/slicing/objects/TestAMD.ice2
-rw-r--r--cs/test/Ice/slicing/objects/TestAMDI.cs2
-rw-r--r--cs/test/Ice/slicing/objects/TestI.cs2
-rwxr-xr-xcs/test/Ice/slicing/objects/run.py26
-rw-r--r--cs/test/Ice/stream/Client.cs2
-rw-r--r--cs/test/Ice/stream/Makefile2
-rw-r--r--cs/test/Ice/stream/Makefile.mak2
-rw-r--r--cs/test/Ice/stream/Test.ice2
-rwxr-xr-xcs/test/Ice/stream/run.py37
-rw-r--r--cs/test/Ice/timeout/AllTests.cs2
-rw-r--r--cs/test/Ice/timeout/Client.cs2
-rw-r--r--cs/test/Ice/timeout/Makefile2
-rw-r--r--cs/test/Ice/timeout/Makefile.mak2
-rw-r--r--cs/test/Ice/timeout/Server.cs2
-rw-r--r--cs/test/Ice/timeout/Test.ice2
-rw-r--r--cs/test/Ice/timeout/TimeoutI.cs2
-rwxr-xr-xcs/test/Ice/timeout/run.py24
-rw-r--r--cs/test/Ice/udp/.depend1
-rw-r--r--cs/test/Ice/udp/AllTests.cs155
-rw-r--r--cs/test/Ice/udp/Client.cs72
-rw-r--r--cs/test/Ice/udp/Makefile (renamed from cs/test/Ice/checksum/client/Makefile)14
-rw-r--r--cs/test/Ice/udp/Makefile.mak (renamed from cs/test/Ice/checksum/client/Makefile.mak)18
-rw-r--r--cs/test/Ice/udp/Server.cs93
-rw-r--r--cs/test/Ice/udp/Test.ice32
-rw-r--r--cs/test/Ice/udp/TestIntfI.cs42
-rw-r--r--cs/test/Ice/udp/generated/.gitignore0
-rwxr-xr-xcs/test/Ice/udp/run.py40
-rw-r--r--cs/test/IceBox/Makefile2
-rw-r--r--cs/test/IceBox/Makefile.mak2
-rw-r--r--cs/test/IceBox/configuration/AllTests.cs2
-rw-r--r--cs/test/IceBox/configuration/Client.cs2
-rw-r--r--cs/test/IceBox/configuration/Makefile2
-rw-r--r--cs/test/IceBox/configuration/Makefile.mak2
-rw-r--r--cs/test/IceBox/configuration/Test.ice2
-rw-r--r--cs/test/IceBox/configuration/TestI.cs2
-rw-r--r--cs/test/IceBox/configuration/TestServiceI.cs2
-rwxr-xr-xcs/test/IceBox/configuration/run.py37
-rw-r--r--cs/test/IceGrid/Makefile2
-rw-r--r--cs/test/IceGrid/Makefile.mak2
-rw-r--r--cs/test/IceGrid/simple/AllTests.cs7
-rw-r--r--cs/test/IceGrid/simple/Client.cs2
-rw-r--r--cs/test/IceGrid/simple/Makefile2
-rw-r--r--cs/test/IceGrid/simple/Makefile.mak2
-rw-r--r--cs/test/IceGrid/simple/Server.cs2
-rw-r--r--cs/test/IceGrid/simple/Test.ice2
-rw-r--r--cs/test/IceGrid/simple/TestI.cs2
-rwxr-xr-xcs/test/IceGrid/simple/run.py31
-rw-r--r--cs/test/IceSSL/Makefile2
-rw-r--r--cs/test/IceSSL/Makefile.mak2
-rwxr-xr-xcs/test/IceSSL/certs/makecerts.py4
-rw-r--r--cs/test/IceSSL/configuration/AllTests.cs2
-rw-r--r--cs/test/IceSSL/configuration/CertificateVerifierI.cs2
-rw-r--r--cs/test/IceSSL/configuration/Client.cs2
-rw-r--r--cs/test/IceSSL/configuration/Makefile2
-rw-r--r--cs/test/IceSSL/configuration/Makefile.mak2
-rw-r--r--cs/test/IceSSL/configuration/PasswordCallbackI.cs2
-rw-r--r--cs/test/IceSSL/configuration/Server.cs2
-rw-r--r--cs/test/IceSSL/configuration/Test.ice2
-rw-r--r--cs/test/IceSSL/configuration/TestI.cs2
-rwxr-xr-xcs/test/IceSSL/configuration/run.py28
-rw-r--r--cs/test/IceUtil/Makefile2
-rw-r--r--cs/test/IceUtil/Makefile.mak2
-rw-r--r--cs/test/IceUtil/inputUtil/Client.cs2
-rw-r--r--cs/test/IceUtil/inputUtil/Makefile2
-rw-r--r--cs/test/IceUtil/inputUtil/Makefile.mak2
-rwxr-xr-xcs/test/IceUtil/inputUtil/run.py34
-rw-r--r--cs/test/Makefile2
-rw-r--r--cs/test/Makefile.mak2
-rw-r--r--cs/test/Slice/Makefile2
-rw-r--r--cs/test/Slice/Makefile.mak2
-rw-r--r--cs/test/Slice/keyword/Client.cs2
-rw-r--r--cs/test/Slice/keyword/Key.ice2
-rw-r--r--cs/test/Slice/keyword/Makefile2
-rw-r--r--cs/test/Slice/keyword/Makefile.mak2
-rwxr-xr-xcs/test/Slice/keyword/run.py34
-rwxr-xr-xdemoscript/Freeze/__init__.py2
-rwxr-xr-xdemoscript/Freeze/bench.py2
-rwxr-xr-xdemoscript/Freeze/casino.py2
-rwxr-xr-xdemoscript/Freeze/library.py4
-rwxr-xr-xdemoscript/Freeze/phonebook.py4
-rwxr-xr-xdemoscript/Freeze/transform.py4
-rwxr-xr-xdemoscript/Glacier2/__init__.py2
-rwxr-xr-xdemoscript/Glacier2/callback.py4
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/__init__.py2
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/async.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/bidir.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/callback.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/hello.py11
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/invoke.py5
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/multicast.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/nested.py3
-rw-r--r--demoscript/Ice/nrvo.py27
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/session.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/throughput.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Ice/value.py3
-rwxr-xr-xdemoscript/IceBox/__init__.py2
-rwxr-xr-xdemoscript/IceBox/hello.py4
-rwxr-xr-xdemoscript/IceGrid/__init__.py2
-rwxr-xr-xdemoscript/IceGrid/allocate.py3
-rwxr-xr-xdemoscript/IceGrid/icebox.py3
-rwxr-xr-xdemoscript/IceGrid/sessionActivation.py3
-rwxr-xr-xdemoscript/IceGrid/simple.py3
-rwxr-xr-xdemoscript/IceStorm/__init__.py2
-rwxr-xr-xdemoscript/IceStorm/clock.py3
-rw-r--r--[-rwxr-xr-x]demoscript/Util.py82
-rw-r--r--[-rwxr-xr-x]demoscript/__init__.py4
-rwxr-xr-xdemoscript/book/__init__.py2
-rwxr-xr-xdemoscript/book/freeze_filesystem.py2
-rwxr-xr-xdemoscript/book/lifecycle.py2
-rwxr-xr-xdistribution/bin/makebindist.py2
-rwxr-xr-xdistribution/bin/makemsi.py4
-rwxr-xr-xdistribution/bin/makethirdpartiesmsi.py6
-rw-r--r--distribution/lib/DistUtils.py2
-rw-r--r--distribution/src/common/Make.rules2
-rw-r--r--distribution/src/common/Make.rules.cs2
-rw-r--r--distribution/src/common/build.properties4
-rw-r--r--distribution/src/rpm/db46.spec2
-rwxr-xr-xdistribution/src/rpm/glacier2router.redhat2
-rwxr-xr-xdistribution/src/rpm/glacier2router.suse2
-rw-r--r--distribution/src/rpm/ice.spec8
-rwxr-xr-xdistribution/src/rpm/icegridnode.redhat2
-rwxr-xr-xdistribution/src/rpm/icegridnode.suse2
-rwxr-xr-xdistribution/src/rpm/icegridregistry.redhat2
-rwxr-xr-xdistribution/src/rpm/icegridregistry.suse2
-rw-r--r--distribution/src/rpm/mcpp-devel.spec13
-rw-r--r--distribution/src/thirdparty/README35
-rw-r--r--distribution/src/thirdparty/README.txt22
-rw-r--r--distribution/src/thirdparty/bzip2/Makefile.mak2
-rw-r--r--distribution/src/thirdparty/db/README6
-rw-r--r--distribution/src/thirdparty/db/patch.4.6.21.190
-rw-r--r--distribution/src/thirdparty/db/patch.4.6.21.15663135
-rw-r--r--distribution/src/thirdparty/db/patch.4.6.21.227
-rw-r--r--distribution/src/thirdparty/db/patch.4.6.21.353
-rw-r--r--distribution/src/thirdparty/mcpp/mcpp-2.7.1.patch39
-rw-r--r--distribution/src/thirdparty/mcpp/mcpp-2.7.2.patch20
-rw-r--r--distribution/src/windows/bcc/doc/README.txt12
-rwxr-xr-xdistribution/src/windows/components/generated.installer.docs1
-rwxr-xr-xdistribution/src/windows/components/installer.docs1
-rwxr-xr-xdistribution/src/windows/vc60/MCPPDevKit.ism2
-rwxr-xr-xdistribution/src/windows/vc60/ThirdParty.ism24
-rw-r--r--distribution/src/windows/vc60/doc/README.txt109
-rwxr-xr-xdistribution/src/windows/vc60/doc/SOURCES.txt (renamed from distribution/src/windows/vc60/doc/SOURCES)0
-rwxr-xr-xdistribution/src/windows/vc80/MCPPDevKit.ism1
-rwxr-xr-xdistribution/src/windows/vc80/ThirdParty.ism24
-rw-r--r--distribution/src/windows/vc80/doc/README.txt8
-rwxr-xr-xdistribution/src/windows/vc80/doc/SOURCES.txt6
-rwxr-xr-xdistribution/src/windows/vc90/MCPPDevKit.ism1
-rwxr-xr-xdistribution/src/windows/vc90/ThirdParty.ism24
-rwxr-xr-xdistribution/src/windows/vc90/doc/SOURCES.txt6
-rwxr-xr-xfixCopyright.py22
-rwxr-xr-xfixVersion.py51
-rw-r--r--java/CHANGES6
-rw-r--r--java/INSTALL2
-rw-r--r--java/Makefile2
-rw-r--r--java/Makefile.mak2
-rwxr-xr-xjava/allDemos.py6
-rwxr-xr-xjava/allTests.py10
-rwxr-xr-xjava/bin/icegridgui.rpm2
-rw-r--r--java/build.xml5
-rw-r--r--java/config/build.properties8
-rw-r--r--java/config/common.xml2
-rw-r--r--java/demo/Database/.DS_Storebin0 -> 6148 bytes
-rw-r--r--java/demo/Database/library/BookI.java382
-rw-r--r--java/demo/Database/library/BookQueryResultI.java97
-rw-r--r--java/demo/Database/library/Client.java53
-rw-r--r--java/demo/Database/library/ConnectionPool.java156
-rw-r--r--java/demo/Database/library/DispatchInterceptorI.java58
-rw-r--r--java/demo/Database/library/Glacier2Session.ice50
-rw-r--r--java/demo/Database/library/Glacier2SessionManagerI.java38
-rw-r--r--java/demo/Database/library/Grammar.java176
-rw-r--r--java/demo/Database/library/Library.ice288
-rw-r--r--java/demo/Database/library/LibraryI.java387
-rw-r--r--java/demo/Database/library/Parser.java443
-rw-r--r--java/demo/Database/library/README103
-rw-r--r--java/demo/Database/library/ReapThread.java127
-rw-r--r--java/demo/Database/library/RunParser.java216
-rw-r--r--java/demo/Database/library/SQLRequestContext.java181
-rw-r--r--java/demo/Database/library/Scanner.java283
-rw-r--r--java/demo/Database/library/Server.java142
-rw-r--r--java/demo/Database/library/Session.ice82
-rw-r--r--java/demo/Database/library/SessionFactoryI.java46
-rw-r--r--java/demo/Database/library/SessionI.java96
-rw-r--r--java/demo/Database/library/Token.java40
-rw-r--r--java/demo/Database/library/books30
-rw-r--r--java/demo/Database/library/build.xml (renamed from java/test/Ice/checksum/client/build.xml)34
-rw-r--r--java/demo/Database/library/config.client62
-rw-r--r--java/demo/Database/library/config.glacier255
-rw-r--r--java/demo/Database/library/config.server64
-rw-r--r--java/demo/Database/library/createTypes.sql43
-rw-r--r--java/demo/Freeze/bench/Client.java29
-rw-r--r--java/demo/Freeze/bench/StopWatch.java2
-rw-r--r--java/demo/Freeze/bench/Test.ice2
-rw-r--r--java/demo/Freeze/bench/build.xml2
-rwxr-xr-xjava/demo/Freeze/bench/expect.py2
-rw-r--r--java/demo/Freeze/build.xml2
-rw-r--r--java/demo/Freeze/casino/BankI.java2
-rw-r--r--java/demo/Freeze/casino/BetI.java2
-rw-r--r--java/demo/Freeze/casino/BetResolver.java2
-rw-r--r--java/demo/Freeze/casino/Casino.ice2
-rw-r--r--java/demo/Freeze/casino/CasinoStore.ice2
-rw-r--r--java/demo/Freeze/casino/Client.java2
-rw-r--r--java/demo/Freeze/casino/PlayerI.java2
-rw-r--r--java/demo/Freeze/casino/Server.java23
-rw-r--r--java/demo/Freeze/casino/build.xml2
-rwxr-xr-xjava/demo/Freeze/casino/expect.py2
-rw-r--r--java/demo/Freeze/library/BookFactory.java2
-rw-r--r--java/demo/Freeze/library/BookI.java2
-rw-r--r--java/demo/Freeze/library/Client.java2
-rw-r--r--java/demo/Freeze/library/Collocated.java15
-rw-r--r--java/demo/Freeze/library/Grammar.java2
-rw-r--r--java/demo/Freeze/library/Library.ice2
-rw-r--r--java/demo/Freeze/library/LibraryI.java2
-rw-r--r--java/demo/Freeze/library/Parser.java2
-rw-r--r--java/demo/Freeze/library/RunParser.java2
-rw-r--r--java/demo/Freeze/library/Scanner.java2
-rw-r--r--java/demo/Freeze/library/Server.java15
-rw-r--r--java/demo/Freeze/library/Token.java2
-rw-r--r--java/demo/Freeze/library/build.xml2
-rwxr-xr-xjava/demo/Freeze/library/expect.py2
-rw-r--r--java/demo/Freeze/phonebook/Client.java2
-rw-r--r--java/demo/Freeze/phonebook/Collocated.java15
-rw-r--r--java/demo/Freeze/phonebook/ContactFactory.java2
-rw-r--r--java/demo/Freeze/phonebook/ContactI.java2
-rw-r--r--java/demo/Freeze/phonebook/Grammar.java2
-rw-r--r--java/demo/Freeze/phonebook/Parser.java2
-rw-r--r--java/demo/Freeze/phonebook/PhoneBook.ice2
-rw-r--r--java/demo/Freeze/phonebook/PhoneBookI.java2
-rw-r--r--java/demo/Freeze/phonebook/RunParser.java2
-rw-r--r--java/demo/Freeze/phonebook/Scanner.java2
-rw-r--r--java/demo/Freeze/phonebook/Server.java15
-rw-r--r--java/demo/Freeze/phonebook/Token.java2
-rw-r--r--java/demo/Freeze/phonebook/build.xml2
-rwxr-xr-xjava/demo/Freeze/phonebook/expect.py2
-rw-r--r--java/demo/Freeze/transform/ContactData.ice2
-rw-r--r--java/demo/Freeze/transform/Create.java4
-rw-r--r--java/demo/Freeze/transform/NewContactData.ice2
-rw-r--r--java/demo/Freeze/transform/Read.java4
-rw-r--r--java/demo/Freeze/transform/ReadNew.java4
-rw-r--r--java/demo/Freeze/transform/Recreate.java4
-rw-r--r--java/demo/Freeze/transform/build.xml2
-rwxr-xr-xjava/demo/Freeze/transform/expect.py2
-rw-r--r--java/demo/Glacier2/build.xml2
-rw-r--r--java/demo/Glacier2/callback/Callback.ice2
-rw-r--r--java/demo/Glacier2/callback/CallbackI.java2
-rw-r--r--java/demo/Glacier2/callback/CallbackReceiverI.java2
-rw-r--r--java/demo/Glacier2/callback/Client.java2
-rw-r--r--java/demo/Glacier2/callback/Server.java2
-rw-r--r--java/demo/Glacier2/callback/SessionI.java2
-rw-r--r--java/demo/Glacier2/callback/SessionManagerI.java2
-rw-r--r--java/demo/Glacier2/callback/SessionServer.java2
-rw-r--r--java/demo/Glacier2/callback/build.xml2
-rwxr-xr-xjava/demo/Glacier2/callback/expect.py2
-rw-r--r--java/demo/Ice/README9
-rw-r--r--java/demo/Ice/applet/.gitignore1
-rw-r--r--java/demo/Ice/applet/Hello.ice (renamed from java/test/Glacier2/attack/Backend.ice)13
-rw-r--r--java/demo/Ice/applet/HelloApplet.java617
-rw-r--r--java/demo/Ice/applet/README52
-rw-r--r--java/demo/Ice/applet/applet.pro53
-rw-r--r--java/demo/Ice/applet/build.xml98
-rw-r--r--java/demo/Ice/applet/hello.html35
-rw-r--r--java/demo/Ice/async/Client.java2
-rw-r--r--java/demo/Ice/async/Hello.ice4
-rw-r--r--java/demo/Ice/async/HelloI.java2
-rw-r--r--java/demo/Ice/async/Server.java2
-rw-r--r--java/demo/Ice/async/WorkQueue.java2
-rw-r--r--java/demo/Ice/async/build.xml2
-rwxr-xr-xjava/demo/Ice/async/expect.py2
-rw-r--r--java/demo/Ice/bidir/Callback.ice2
-rw-r--r--java/demo/Ice/bidir/CallbackReceiverI.java2
-rw-r--r--java/demo/Ice/bidir/CallbackSenderI.java2
-rw-r--r--java/demo/Ice/bidir/Client.java2
-rw-r--r--java/demo/Ice/bidir/Server.java2
-rw-r--r--java/demo/Ice/bidir/build.xml2
-rwxr-xr-xjava/demo/Ice/bidir/expect.py2
-rw-r--r--java/demo/Ice/build.xml16
-rw-r--r--java/demo/Ice/callback/Callback.ice2
-rw-r--r--java/demo/Ice/callback/CallbackReceiverI.java2
-rw-r--r--java/demo/Ice/callback/CallbackSenderI.java2
-rw-r--r--java/demo/Ice/callback/Client.java2
-rw-r--r--java/demo/Ice/callback/Server.java2
-rw-r--r--java/demo/Ice/callback/build.xml2
-rwxr-xr-xjava/demo/Ice/callback/expect.py2
-rw-r--r--java/demo/Ice/hello/Client.java2
-rw-r--r--java/demo/Ice/hello/Hello.ice4
-rw-r--r--java/demo/Ice/hello/HelloI.java2
-rw-r--r--java/demo/Ice/hello/Server.java2
-rw-r--r--java/demo/Ice/hello/build.xml2
-rwxr-xr-xjava/demo/Ice/hello/expect.py2
-rw-r--r--java/demo/Ice/invoke/Client.java2
-rw-r--r--java/demo/Ice/invoke/Printer.ice2
-rw-r--r--java/demo/Ice/invoke/PrinterI.java2
-rw-r--r--java/demo/Ice/invoke/Server.java2
-rw-r--r--java/demo/Ice/invoke/build.xml2
-rwxr-xr-xjava/demo/Ice/invoke/expect.py2
-rw-r--r--java/demo/Ice/latency/Client.java2
-rw-r--r--java/demo/Ice/latency/Latency.ice2
-rw-r--r--java/demo/Ice/latency/Server.java2
-rw-r--r--java/demo/Ice/latency/build.xml2
-rwxr-xr-xjava/demo/Ice/latency/expect.py2
-rw-r--r--java/demo/Ice/minimal/Client.java2
-rw-r--r--java/demo/Ice/minimal/Hello.ice2
-rw-r--r--java/demo/Ice/minimal/HelloI.java2
-rw-r--r--java/demo/Ice/minimal/Server.java2
-rw-r--r--java/demo/Ice/minimal/build.xml2
-rwxr-xr-xjava/demo/Ice/minimal/expect.py2
-rw-r--r--java/demo/Ice/multicast/Client.java2
-rw-r--r--java/demo/Ice/multicast/DiscoverI.java2
-rw-r--r--java/demo/Ice/multicast/DiscoverReplyI.java2
-rw-r--r--java/demo/Ice/multicast/Discovery.ice2
-rw-r--r--java/demo/Ice/multicast/Hello.ice4
-rw-r--r--java/demo/Ice/multicast/HelloI.java2
-rw-r--r--java/demo/Ice/multicast/Server.java2
-rw-r--r--java/demo/Ice/multicast/build.xml2
-rwxr-xr-xjava/demo/Ice/multicast/expect.py2
-rw-r--r--java/demo/Ice/nested/Client.java2
-rw-r--r--java/demo/Ice/nested/Nested.ice2
-rw-r--r--java/demo/Ice/nested/NestedI.java2
-rw-r--r--java/demo/Ice/nested/Server.java2
-rw-r--r--java/demo/Ice/nested/build.xml2
-rwxr-xr-xjava/demo/Ice/nested/expect.py2
-rw-r--r--java/demo/Ice/session/Client.java2
-rw-r--r--java/demo/Ice/session/HelloI.java2
-rw-r--r--java/demo/Ice/session/ReapThread.java2
-rw-r--r--java/demo/Ice/session/Server.java2
-rw-r--r--java/demo/Ice/session/Session.ice2
-rw-r--r--java/demo/Ice/session/SessionFactoryI.java2
-rw-r--r--java/demo/Ice/session/SessionI.java2
-rw-r--r--java/demo/Ice/session/build.xml2
-rwxr-xr-xjava/demo/Ice/session/expect.py2
-rw-r--r--java/demo/Ice/throughput/Client.java2
-rw-r--r--java/demo/Ice/throughput/Server.java2
-rw-r--r--java/demo/Ice/throughput/Throughput.ice2
-rw-r--r--java/demo/Ice/throughput/ThroughputI.java2
-rw-r--r--java/demo/Ice/throughput/build.xml2
-rwxr-xr-xjava/demo/Ice/throughput/expect.py2
-rw-r--r--java/demo/Ice/value/Client.java2
-rw-r--r--java/demo/Ice/value/DerivedPrinterI.java2
-rw-r--r--java/demo/Ice/value/InitialI.java4
-rw-r--r--java/demo/Ice/value/ObjectFactory.java2
-rw-r--r--java/demo/Ice/value/PrinterI.java2
-rw-r--r--java/demo/Ice/value/Server.java2
-rw-r--r--java/demo/Ice/value/Value.ice4
-rw-r--r--java/demo/Ice/value/build.xml2
-rwxr-xr-xjava/demo/Ice/value/expect.py2
-rw-r--r--java/demo/IceBox/build.xml2
-rw-r--r--java/demo/IceBox/hello/Client.java2
-rw-r--r--java/demo/IceBox/hello/Hello.ice4
-rw-r--r--java/demo/IceBox/hello/HelloI.java2
-rw-r--r--java/demo/IceBox/hello/HelloServiceI.java2
-rw-r--r--java/demo/IceBox/hello/build.xml2
-rwxr-xr-xjava/demo/IceBox/hello/expect.py2
-rw-r--r--java/demo/IceGrid/build.xml2
-rw-r--r--java/demo/IceGrid/icebox/Client.java2
-rw-r--r--java/demo/IceGrid/icebox/Hello.ice4
-rw-r--r--java/demo/IceGrid/icebox/HelloI.java2
-rw-r--r--java/demo/IceGrid/icebox/HelloServiceI.java2
-rw-r--r--java/demo/IceGrid/icebox/build.xml2
-rwxr-xr-xjava/demo/IceGrid/icebox/expect.py2
-rw-r--r--java/demo/IceGrid/simple/Client.java2
-rw-r--r--java/demo/IceGrid/simple/Hello.ice2
-rw-r--r--java/demo/IceGrid/simple/HelloI.java2
-rw-r--r--java/demo/IceGrid/simple/Server.java2
-rw-r--r--java/demo/IceGrid/simple/application.xml2
-rw-r--r--java/demo/IceGrid/simple/application_with_replication.xml2
-rw-r--r--java/demo/IceGrid/simple/application_with_template.xml2
-rw-r--r--java/demo/IceGrid/simple/build.xml2
-rwxr-xr-xjava/demo/IceGrid/simple/expect.py2
-rw-r--r--java/demo/IceStorm/build.xml2
-rw-r--r--java/demo/IceStorm/clock/Clock.ice2
-rw-r--r--java/demo/IceStorm/clock/Publisher.java2
-rw-r--r--java/demo/IceStorm/clock/Subscriber.java2
-rw-r--r--java/demo/IceStorm/clock/build.xml2
-rwxr-xr-xjava/demo/IceStorm/clock/expect.py2
-rw-r--r--java/demo/book/build.xml2
-rw-r--r--java/demo/book/evictor/LinkedList.java2
-rw-r--r--java/demo/book/freeze_filesystem/Client.java2
-rw-r--r--java/demo/book/freeze_filesystem/DirectoryI.java2
-rw-r--r--java/demo/book/freeze_filesystem/FileI.java2
-rw-r--r--java/demo/book/freeze_filesystem/Filesystem.ice2
-rw-r--r--java/demo/book/freeze_filesystem/NodeFactory.java6
-rw-r--r--java/demo/book/freeze_filesystem/NodeInitializer.java2
-rw-r--r--java/demo/book/freeze_filesystem/PersistentFilesystem.ice2
-rw-r--r--java/demo/book/freeze_filesystem/Server.java2
-rw-r--r--java/demo/book/freeze_filesystem/build.xml2
-rwxr-xr-xjava/demo/book/freeze_filesystem/expect.py2
-rw-r--r--java/demo/book/lifecycle/Client.java2
-rw-r--r--java/demo/book/lifecycle/FilesystemI/DirectoryI.java2
-rw-r--r--java/demo/book/lifecycle/FilesystemI/FileI.java2
-rw-r--r--java/demo/book/lifecycle/FilesystemI/NodeI.java2
-rw-r--r--java/demo/book/lifecycle/Grammar.java2
-rw-r--r--java/demo/book/lifecycle/Parser.java2
-rw-r--r--java/demo/book/lifecycle/Scanner.java2
-rw-r--r--java/demo/book/lifecycle/Server.java9
-rw-r--r--java/demo/book/lifecycle/Token.java2
-rw-r--r--java/demo/book/lifecycle/build.xml2
-rwxr-xr-xjava/demo/book/lifecycle/expect.py2
-rw-r--r--java/demo/book/printer/Client.java2
-rwxr-xr-xjava/demo/book/printer/Printer.ice2
-rw-r--r--java/demo/book/printer/PrinterI.java2
-rw-r--r--java/demo/book/printer/Server.java2
-rwxr-xr-xjava/demo/book/printer/build.xml2
-rwxr-xr-xjava/demo/book/printer/expect.py2
-rw-r--r--java/demo/book/simple_filesystem/Client.java2
-rwxr-xr-xjava/demo/book/simple_filesystem/Filesystem.ice2
-rw-r--r--java/demo/book/simple_filesystem/Filesystem/DirectoryI.java2
-rw-r--r--java/demo/book/simple_filesystem/Filesystem/FileI.java2
-rw-r--r--java/demo/book/simple_filesystem/Server.java2
-rwxr-xr-xjava/demo/book/simple_filesystem/build.xml2
-rwxr-xr-xjava/demo/book/simple_filesystem/expect.py2
-rw-r--r--java/demo/build.xml2
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/icegridadmin_content_dyn.html0
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/icegridadmin_content_static.html0
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/icegridadmin_ftsearch.html0
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/icegridadmin_kwindex_dyn.html0
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/icegridadmin_kwindex_static.html0
-rwxr-xr-x[-rw-r--r--]java/resources/IceGridAdmin/index.html0
-rw-r--r--java/src/Freeze/BackgroundSaveEvictorI.java2
-rw-r--r--java/src/Freeze/ConnectionI.java2
-rw-r--r--java/src/Freeze/EvictorElement.java2
-rw-r--r--java/src/Freeze/EvictorI.java2
-rw-r--r--java/src/Freeze/EvictorIteratorI.java2
-rw-r--r--java/src/Freeze/FatalErrorCallback.java2
-rw-r--r--java/src/Freeze/Index.java2
-rw-r--r--java/src/Freeze/KeyCodec.java2
-rw-r--r--java/src/Freeze/LinkedList.java2
-rw-r--r--java/src/Freeze/Map.java2
-rw-r--r--java/src/Freeze/MapDb.java2
-rw-r--r--java/src/Freeze/ObjectStore.java2
-rw-r--r--java/src/Freeze/PingObject.ice2
-rw-r--r--java/src/Freeze/PostCompletionCallback.java2
-rw-r--r--java/src/Freeze/SharedDbEnv.java2
-rw-r--r--java/src/Freeze/SubMap.java2
-rw-r--r--java/src/Freeze/TransactionI.java11
-rw-r--r--java/src/Freeze/TransactionalEvictorContext.java2
-rw-r--r--java/src/Freeze/TransactionalEvictorDeadlockException.java2
-rw-r--r--java/src/Freeze/TransactionalEvictorI.java12
-rw-r--r--java/src/Freeze/Util.java2
-rw-r--r--java/src/Ice/AMD_Object_ice_invoke.java2
-rw-r--r--java/src/Ice/AMISentCallback.java2
-rw-r--r--java/src/Ice/AMI_Object_ice_flushBatchRequests.java2
-rw-r--r--java/src/Ice/AMI_Object_ice_invoke.java2
-rw-r--r--java/src/Ice/Application.java2
-rw-r--r--java/src/Ice/ArrayListHolder.java2
-rw-r--r--java/src/Ice/Blobject.java2
-rw-r--r--java/src/Ice/BlobjectAsync.java2
-rw-r--r--java/src/Ice/BooleanHolder.java2
-rw-r--r--java/src/Ice/ByteHolder.java2
-rw-r--r--java/src/Ice/CommunicatorI.java2
-rw-r--r--java/src/Ice/ConnectionI.java2
-rw-r--r--java/src/Ice/DispatchInterceptor.java2
-rw-r--r--java/src/Ice/DispatchStatus.java2
-rw-r--r--java/src/Ice/DoubleHolder.java2
-rw-r--r--java/src/Ice/FloatHolder.java2
-rw-r--r--java/src/Ice/Holder.java2
-rw-r--r--java/src/Ice/ImplicitContextI.java2
-rw-r--r--java/src/Ice/InitializationData.java2
-rw-r--r--java/src/Ice/InputStream.java2
-rw-r--r--java/src/Ice/InputStreamI.java2
-rw-r--r--java/src/Ice/IntHolder.java2
-rw-r--r--java/src/Ice/LinkedListHolder.java2
-rw-r--r--java/src/Ice/ListHolder.java2
-rw-r--r--java/src/Ice/LocalException.java2
-rw-r--r--java/src/Ice/LocalObject.java2
-rw-r--r--java/src/Ice/LocalObjectHolder.java2
-rw-r--r--java/src/Ice/LocalObjectImpl.java2
-rw-r--r--java/src/Ice/LoggerI.java4
-rw-r--r--java/src/Ice/LoggerPlugin.java2
-rw-r--r--java/src/Ice/LongHolder.java2
-rw-r--r--java/src/Ice/MapHolder.java2
-rw-r--r--java/src/Ice/Object.java2
-rw-r--r--java/src/Ice/ObjectAdapterI.java2
-rw-r--r--java/src/Ice/ObjectHolder.java2
-rw-r--r--java/src/Ice/ObjectImpl.java2
-rw-r--r--java/src/Ice/ObjectPrx.java2
-rw-r--r--java/src/Ice/ObjectPrxHelper.java2
-rw-r--r--java/src/Ice/ObjectPrxHelperBase.java4
-rw-r--r--java/src/Ice/ObjectPrxHolder.java2
-rw-r--r--java/src/Ice/ObjectReader.java2
-rw-r--r--java/src/Ice/ObjectWriter.java2
-rw-r--r--java/src/Ice/OutputStream.java2
-rw-r--r--java/src/Ice/OutputStreamI.java2
-rw-r--r--java/src/Ice/PluginFactory.java2
-rw-r--r--java/src/Ice/PluginManagerI.java41
-rw-r--r--java/src/Ice/PropertiesI.java39
-rw-r--r--java/src/Ice/ProxyIdentityFacetKey.java2
-rw-r--r--java/src/Ice/ProxyIdentityKey.java2
-rw-r--r--java/src/Ice/ReadObjectCallback.java2
-rw-r--r--java/src/Ice/Request.java2
-rw-r--r--java/src/Ice/ShortHolder.java2
-rw-r--r--java/src/Ice/SignalPolicy.java2
-rw-r--r--java/src/Ice/StringHolder.java2
-rw-r--r--java/src/Ice/SysLoggerI.java2
-rw-r--r--java/src/Ice/SystemException.java2
-rw-r--r--java/src/Ice/ThreadNotification.java2
-rw-r--r--java/src/Ice/TieBase.java2
-rw-r--r--java/src/Ice/UserException.java2
-rw-r--r--java/src/Ice/UserExceptionWriter.java8
-rw-r--r--java/src/Ice/Util.java6
-rw-r--r--java/src/Ice/_AMD_Object_ice_invoke.java2
-rw-r--r--java/src/Ice/_ObjectDel.java2
-rw-r--r--java/src/Ice/_ObjectDelD.java2
-rw-r--r--java/src/Ice/_ObjectDelM.java2
-rw-r--r--java/src/IceBox/Admin.java2
-rw-r--r--java/src/IceBox/Server.java4
-rw-r--r--java/src/IceBox/ServiceManagerI.java4
-rw-r--r--java/src/IceGridGUI/AdapterObserverI.java2
-rw-r--r--java/src/IceGridGUI/AdminRouter.java2
-rw-r--r--java/src/IceGridGUI/Application/AbstractServerEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/Adapter.java2
-rw-r--r--java/src/IceGridGUI/Application/AdapterEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ApplicationEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/Communicator.java2
-rw-r--r--java/src/IceGridGUI/Application/CommunicatorChildEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/CommunicatorSubEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/DbEnv.java2
-rw-r--r--java/src/IceGridGUI/Application/DbEnvEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/DescriptorHolder.java2
-rw-r--r--java/src/IceGridGUI/Application/Editable.java2
-rw-r--r--java/src/IceGridGUI/Application/Editor.java2
-rw-r--r--java/src/IceGridGUI/Application/ListTextField.java2
-rw-r--r--java/src/IceGridGUI/Application/ListTreeNode.java2
-rw-r--r--java/src/IceGridGUI/Application/MapField.java2
-rw-r--r--java/src/IceGridGUI/Application/Node.java2
-rw-r--r--java/src/IceGridGUI/Application/NodeEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/Nodes.java2
-rw-r--r--java/src/IceGridGUI/Application/ParameterValuesField.java2
-rw-r--r--java/src/IceGridGUI/Application/ParametersField.java2
-rw-r--r--java/src/IceGridGUI/Application/PlainServer.java2
-rw-r--r--java/src/IceGridGUI/Application/PlainServerEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/PlainService.java2
-rw-r--r--java/src/IceGridGUI/Application/PlainServiceEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/PropertiesField.java2
-rw-r--r--java/src/IceGridGUI/Application/PropertySet.java2
-rw-r--r--java/src/IceGridGUI/Application/PropertySetEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/PropertySetParent.java2
-rw-r--r--java/src/IceGridGUI/Application/PropertySets.java2
-rw-r--r--java/src/IceGridGUI/Application/ReplicaGroup.java2
-rw-r--r--java/src/IceGridGUI/Application/ReplicaGroupEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ReplicaGroups.java2
-rw-r--r--java/src/IceGridGUI/Application/Root.java2
-rw-r--r--java/src/IceGridGUI/Application/Server.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerInstance.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerInstanceEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerInstancePropertySetEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerSubEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerTemplate.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerTemplateEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServerTemplates.java2
-rw-r--r--java/src/IceGridGUI/Application/Service.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceInstance.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceInstanceEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceSubEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceTemplate.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceTemplateEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/ServiceTemplates.java2
-rw-r--r--java/src/IceGridGUI/Application/TemplateEditor.java2
-rw-r--r--java/src/IceGridGUI/Application/TemplateInstance.java2
-rw-r--r--java/src/IceGridGUI/Application/Templates.java2
-rw-r--r--java/src/IceGridGUI/Application/TreeNode.java2
-rw-r--r--java/src/IceGridGUI/Application/UpdateFailedException.java2
-rw-r--r--java/src/IceGridGUI/ApplicationActions.java2
-rw-r--r--java/src/IceGridGUI/ApplicationObserverI.java2
-rw-r--r--java/src/IceGridGUI/ApplicationPane.java2
-rw-r--r--java/src/IceGridGUI/CellRenderer.java2
-rw-r--r--java/src/IceGridGUI/Coordinator.java11
-rw-r--r--java/src/IceGridGUI/EditorBase.java2
-rw-r--r--java/src/IceGridGUI/LiveActions.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Adapter.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/AdapterEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ApplicationDetailsDialog.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/CommunicatorEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/DbEnv.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/DbEnvEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Editor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ListArrayTreeNode.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ListTreeNode.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Node.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/NodeEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ObjectDialog.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/RegistryEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Root.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Server.java142
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ServerEditor.java28
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Service.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ServiceEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ShowLogDialog.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/ShowLogPrefsDialog.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/Slave.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/SlaveEditor.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/TableField.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/TreeNode.java2
-rw-r--r--java/src/IceGridGUI/LiveDeployment/WriteMessageDialog.java2
-rw-r--r--java/src/IceGridGUI/LiveDeploymentPane.java2
-rw-r--r--java/src/IceGridGUI/Logger.java2
-rw-r--r--java/src/IceGridGUI/Main.java2
-rw-r--r--java/src/IceGridGUI/MainPane.java2
-rw-r--r--java/src/IceGridGUI/NodeObserverI.java2
-rw-r--r--java/src/IceGridGUI/ObjectObserverI.java2
-rw-r--r--java/src/IceGridGUI/RegistryObserverI.java2
-rw-r--r--java/src/IceGridGUI/SessionKeeper.java40
-rw-r--r--java/src/IceGridGUI/StatusBar.java2
-rw-r--r--java/src/IceGridGUI/Tab.java2
-rw-r--r--java/src/IceGridGUI/TreeNodeBase.java2
-rw-r--r--java/src/IceGridGUI/Utils.java2
-rw-r--r--java/src/IceGridGUI/XMLWriter.java4
-rw-r--r--java/src/IceInternal/Acceptor.java2
-rw-r--r--java/src/IceInternal/BasicStream.java4
-rw-r--r--java/src/IceInternal/BatchOutgoing.java2
-rw-r--r--java/src/IceInternal/BatchOutgoingAsync.java2
-rw-r--r--java/src/IceInternal/Buffer.java2
-rw-r--r--java/src/IceInternal/ConnectRequestHandler.java2
-rw-r--r--java/src/IceInternal/ConnectionMonitor.java2
-rw-r--r--java/src/IceInternal/ConnectionRequestHandler.java2
-rw-r--r--java/src/IceInternal/Connector.java2
-rw-r--r--java/src/IceInternal/DefaultsAndOverrides.java2
-rw-r--r--java/src/IceInternal/DictionaryPatcher.java2
-rw-r--r--java/src/IceInternal/Direct.java2
-rw-r--r--java/src/IceInternal/EndpointFactory.java2
-rw-r--r--java/src/IceInternal/EndpointFactoryManager.java2
-rw-r--r--java/src/IceInternal/EndpointHostResolver.java2
-rw-r--r--java/src/IceInternal/EndpointI.java2
-rw-r--r--java/src/IceInternal/EndpointIHolder.java2
-rw-r--r--java/src/IceInternal/EndpointI_connectors.java2
-rw-r--r--java/src/IceInternal/EventHandler.java2
-rw-r--r--java/src/IceInternal/Ex.java2
-rw-r--r--java/src/IceInternal/FixedReference.java2
-rw-r--r--java/src/IceInternal/Incoming.java2
-rw-r--r--java/src/IceInternal/IncomingAsync.java2
-rw-r--r--java/src/IceInternal/IncomingBase.java2
-rw-r--r--java/src/IceInternal/IncomingConnectionFactory.java2
-rw-r--r--java/src/IceInternal/Instance.java36
-rw-r--r--java/src/IceInternal/ListPatcher.java2
-rw-r--r--java/src/IceInternal/LocalExceptionWrapper.java2
-rw-r--r--java/src/IceInternal/LocatorInfo.java802
-rw-r--r--java/src/IceInternal/LocatorManager.java9
-rw-r--r--java/src/IceInternal/LocatorTable.java46
-rw-r--r--java/src/IceInternal/Network.java81
-rw-r--r--java/src/IceInternal/ObjectAdapterFactory.java2
-rw-r--r--java/src/IceInternal/ObjectFactoryManager.java2
-rw-r--r--java/src/IceInternal/Outgoing.java2
-rw-r--r--java/src/IceInternal/OutgoingAsync.java19
-rw-r--r--java/src/IceInternal/OutgoingAsyncMessageCallback.java2
-rw-r--r--java/src/IceInternal/OutgoingConnectionFactory.java2
-rw-r--r--java/src/IceInternal/OutgoingMessageCallback.java2
-rw-r--r--java/src/IceInternal/Patcher.java2
-rw-r--r--java/src/IceInternal/ProcessI.java2
-rw-r--r--java/src/IceInternal/PropertiesAdminI.java2
-rw-r--r--java/src/IceInternal/Property.java2
-rw-r--r--java/src/IceInternal/PropertyNames.java28
-rw-r--r--java/src/IceInternal/Protocol.java2
-rw-r--r--java/src/IceInternal/ProtocolPluginFacade.java2
-rw-r--r--java/src/IceInternal/ProtocolPluginFacadeI.java2
-rw-r--r--java/src/IceInternal/ProxyFactory.java51
-rw-r--r--java/src/IceInternal/Reference.java2
-rw-r--r--java/src/IceInternal/ReferenceFactory.java2
-rw-r--r--java/src/IceInternal/ReplyStatus.java2
-rw-r--r--java/src/IceInternal/RequestHandler.java2
-rw-r--r--java/src/IceInternal/RetryQueue.java49
-rw-r--r--java/src/IceInternal/RetryTask.java44
-rw-r--r--java/src/IceInternal/RoutableReference.java2
-rw-r--r--java/src/IceInternal/RouterInfo.java2
-rw-r--r--java/src/IceInternal/RouterManager.java2
-rw-r--r--java/src/IceInternal/Selector.java2
-rw-r--r--java/src/IceInternal/SelectorHandler.java2
-rw-r--r--java/src/IceInternal/SelectorThread.java2
-rw-r--r--java/src/IceInternal/SequencePatcher.java2
-rw-r--r--java/src/IceInternal/ServantManager.java2
-rw-r--r--java/src/IceInternal/SocketStatus.java2
-rw-r--r--java/src/IceInternal/TcpAcceptor.java2
-rw-r--r--java/src/IceInternal/TcpConnector.java2
-rw-r--r--java/src/IceInternal/TcpEndpointFactory.java2
-rw-r--r--java/src/IceInternal/TcpEndpointI.java2
-rw-r--r--java/src/IceInternal/TcpTransceiver.java2
-rw-r--r--java/src/IceInternal/ThreadPool.java18
-rw-r--r--java/src/IceInternal/ThreadPoolWorkItem.java2
-rw-r--r--java/src/IceInternal/Time.java2
-rw-r--r--java/src/IceInternal/Timer.java2
-rw-r--r--java/src/IceInternal/TimerTask.java2
-rw-r--r--java/src/IceInternal/TraceLevels.java2
-rw-r--r--java/src/IceInternal/TraceUtil.java2
-rw-r--r--java/src/IceInternal/Transceiver.java2
-rw-r--r--java/src/IceInternal/UdpConnector.java2
-rw-r--r--java/src/IceInternal/UdpEndpointFactory.java2
-rw-r--r--java/src/IceInternal/UdpEndpointI.java2
-rw-r--r--java/src/IceInternal/UdpTransceiver.java2
-rw-r--r--java/src/IceInternal/UnknownEndpointI.java2
-rw-r--r--java/src/IceInternal/UserExceptionFactory.java2
-rw-r--r--java/src/IceInternal/ValueWriter.java25
-rw-r--r--java/src/IceSSL/AcceptorI.java6
-rw-r--r--java/src/IceSSL/CertificateVerifier.java2
-rw-r--r--java/src/IceSSL/ConnectionInfo.java6
-rw-r--r--java/src/IceSSL/ConnectionInvalidException.java2
-rw-r--r--java/src/IceSSL/ConnectorI.java6
-rw-r--r--java/src/IceSSL/EndpointFactoryI.java2
-rw-r--r--java/src/IceSSL/EndpointI.java2
-rw-r--r--java/src/IceSSL/Instance.java225
-rw-r--r--java/src/IceSSL/PasswordCallback.java4
-rw-r--r--java/src/IceSSL/Plugin.java32
-rw-r--r--java/src/IceSSL/PluginFactory.java2
-rw-r--r--java/src/IceSSL/PluginI.java20
-rw-r--r--java/src/IceSSL/RFC2253.java2
-rw-r--r--java/src/IceSSL/TransceiverI.java2
-rw-r--r--java/src/IceSSL/TrustManager.java2
-rw-r--r--java/src/IceSSL/Util.java2
-rw-r--r--java/src/IceSSL/X509KeyManagerI.java2
-rw-r--r--java/src/IceSSL/X509TrustManagerI.java2
-rw-r--r--java/src/IceUtil/Cache.java2
-rw-r--r--java/src/IceUtil/Store.java2
-rw-r--r--java/src/IceUtil/Version.java6
-rw-r--r--java/src/IceUtilInternal/Assert.java2
-rw-r--r--java/src/IceUtilInternal/Base64.java2
-rw-r--r--java/src/IceUtilInternal/Options.java2
-rw-r--r--java/src/IceUtilInternal/OutputBase.java2
-rw-r--r--java/src/IceUtilInternal/StringUtil.java2
-rw-r--r--java/src/IceUtilInternal/XMLOutput.java2
-rw-r--r--java/src/ant/Slice2FreezeJTask.java2
-rw-r--r--java/src/ant/Slice2JavaTask.java2
-rw-r--r--java/src/ant/SliceDefine.java2
-rw-r--r--java/src/ant/SliceMeta.java2
-rw-r--r--java/src/ant/SliceTask.java2
-rw-r--r--java/test/Freeze/build.xml2
-rw-r--r--java/test/Freeze/complex/Client.java2
-rw-r--r--java/test/Freeze/complex/Complex.ice2
-rw-r--r--java/test/Freeze/complex/Complex/AddNodeI.java2
-rw-r--r--java/test/Freeze/complex/Complex/MultiplyNodeI.java2
-rw-r--r--java/test/Freeze/complex/Complex/NumberNodeI.java2
-rw-r--r--java/test/Freeze/complex/Complex/ObjectFactoryI.java2
-rw-r--r--java/test/Freeze/complex/ParseError.java2
-rw-r--r--java/test/Freeze/complex/Parser.java2
-rw-r--r--java/test/Freeze/complex/build.xml3
-rwxr-xr-xjava/test/Freeze/complex/run.py49
-rw-r--r--java/test/Freeze/dbmap/Client.java2
-rw-r--r--java/test/Freeze/dbmap/build.xml5
-rwxr-xr-xjava/test/Freeze/dbmap/run.py38
-rw-r--r--java/test/Freeze/evictor/AccountI.java11
-rw-r--r--java/test/Freeze/evictor/Client.java2
-rw-r--r--java/test/Freeze/evictor/FacetI.java2
-rw-r--r--java/test/Freeze/evictor/RemoteEvictorFactoryI.java2
-rw-r--r--java/test/Freeze/evictor/RemoteEvictorI.java2
-rw-r--r--java/test/Freeze/evictor/ServantI.java2
-rw-r--r--java/test/Freeze/evictor/Server.java2
-rw-r--r--java/test/Freeze/evictor/Test.ice2
-rw-r--r--java/test/Freeze/evictor/build.xml3
-rwxr-xr-xjava/test/Freeze/evictor/run.py30
-rw-r--r--java/test/Freeze/oldevictor/Client.java2
-rw-r--r--java/test/Freeze/oldevictor/FacetI.java2
-rw-r--r--java/test/Freeze/oldevictor/RemoteEvictorFactoryI.java2
-rw-r--r--java/test/Freeze/oldevictor/RemoteEvictorI.java2
-rw-r--r--java/test/Freeze/oldevictor/ServantI.java2
-rw-r--r--java/test/Freeze/oldevictor/Server.java2
-rw-r--r--java/test/Freeze/oldevictor/Test.ice2
-rw-r--r--java/test/Freeze/oldevictor/build.xml3
-rwxr-xr-xjava/test/Freeze/oldevictor/run.py30
-rw-r--r--java/test/Glacier2/attack/AttackClient.java138
-rw-r--r--java/test/Glacier2/attack/BackendI.java23
-rw-r--r--java/test/Glacier2/attack/BackendServer.java24
-rw-r--r--java/test/Glacier2/attack/Client.java29
-rw-r--r--java/test/Glacier2/attack/ServantLocatorI.java33
-rw-r--r--java/test/Glacier2/attack/Server.java20
-rw-r--r--java/test/Glacier2/attack/passwords1
-rwxr-xr-xjava/test/Glacier2/attack/run.py51
-rw-r--r--java/test/Glacier2/build.xml4
-rw-r--r--java/test/Glacier2/router/Callback.ice2
-rw-r--r--java/test/Glacier2/router/CallbackClient.java2
-rw-r--r--java/test/Glacier2/router/CallbackI.java2
-rw-r--r--java/test/Glacier2/router/CallbackReceiverI.java2
-rw-r--r--java/test/Glacier2/router/CallbackServer.java2
-rw-r--r--java/test/Glacier2/router/Client.java2
-rw-r--r--java/test/Glacier2/router/Server.java2
-rw-r--r--java/test/Glacier2/router/build.xml2
-rwxr-xr-xjava/test/Glacier2/router/run.py71
-rw-r--r--java/test/Ice/adapterDeactivation/AllTests.java2
-rw-r--r--java/test/Ice/adapterDeactivation/Client.java2
-rw-r--r--java/test/Ice/adapterDeactivation/Collocated.java2
-rw-r--r--java/test/Ice/adapterDeactivation/CookieI.java2
-rw-r--r--java/test/Ice/adapterDeactivation/ServantLocatorI.java2
-rw-r--r--java/test/Ice/adapterDeactivation/Server.java2
-rw-r--r--java/test/Ice/adapterDeactivation/Test.ice2
-rw-r--r--java/test/Ice/adapterDeactivation/TestI.java2
-rw-r--r--java/test/Ice/adapterDeactivation/build.xml2
-rwxr-xr-xjava/test/Ice/adapterDeactivation/run.py33
-rw-r--r--java/test/Ice/background/Acceptor.java2
-rw-r--r--java/test/Ice/background/AllTests.java2
-rw-r--r--java/test/Ice/background/BackgroundControllerI.java2
-rw-r--r--java/test/Ice/background/BackgroundI.java2
-rw-r--r--java/test/Ice/background/Client.java4
-rw-r--r--java/test/Ice/background/Configuration.java2
-rw-r--r--java/test/Ice/background/Connector.java2
-rw-r--r--java/test/Ice/background/EndpointFactory.java2
-rw-r--r--java/test/Ice/background/EndpointI.java2
-rw-r--r--java/test/Ice/background/PluginFactory.java2
-rw-r--r--java/test/Ice/background/Server.java4
-rw-r--r--java/test/Ice/background/Test.ice2
-rw-r--r--java/test/Ice/background/Transceiver.java2
-rw-r--r--java/test/Ice/background/build.xml2
-rwxr-xr-xjava/test/Ice/background/run.py27
-rw-r--r--java/test/Ice/binding/AllTests.java2
-rw-r--r--java/test/Ice/binding/Client.java2
-rw-r--r--java/test/Ice/binding/RemoteCommunicatorI.java2
-rw-r--r--java/test/Ice/binding/RemoteObjectAdapterI.java2
-rw-r--r--java/test/Ice/binding/Server.java2
-rw-r--r--java/test/Ice/binding/Test.ice2
-rw-r--r--java/test/Ice/binding/TestI.java2
-rw-r--r--java/test/Ice/binding/build.xml2
-rwxr-xr-xjava/test/Ice/binding/run.py26
-rw-r--r--java/test/Ice/build.xml4
-rw-r--r--java/test/Ice/checksum/AllTests.java (renamed from java/test/Ice/checksum/client/AllTests.java)2
-rw-r--r--java/test/Ice/checksum/Client.java (renamed from java/test/Ice/checksum/client/Client.java)2
-rw-r--r--java/test/Ice/checksum/Test.ice (renamed from cs/test/Ice/checksum/client/Test.ice)2
-rw-r--r--java/test/Ice/checksum/Types.ice (renamed from java/test/Ice/checksum/client/Types.ice)2
-rw-r--r--java/test/Ice/checksum/build.xml42
-rwxr-xr-xjava/test/Ice/checksum/run.py30
-rw-r--r--java/test/Ice/checksum/server/ChecksumI.java2
-rw-r--r--java/test/Ice/checksum/server/Server.java2
-rw-r--r--java/test/Ice/checksum/server/Test.ice2
-rw-r--r--java/test/Ice/checksum/server/Types.ice2
-rw-r--r--java/test/Ice/checksum/server/build.xml2
-rw-r--r--java/test/Ice/custom/Client.java2
-rw-r--r--java/test/Ice/custom/Collocated.java2
-rw-r--r--java/test/Ice/custom/Server.java2
-rw-r--r--java/test/Ice/custom/build.xml2
-rw-r--r--java/test/Ice/custom/jdk1.4/AllTests.java2
-rw-r--r--java/test/Ice/custom/jdk1.4/Test.ice2
-rw-r--r--java/test/Ice/custom/jdk1.4/TestI.java2
-rw-r--r--java/test/Ice/custom/jdk1.5/AllTests.java2
-rw-r--r--java/test/Ice/custom/jdk1.5/Test.ice2
-rw-r--r--java/test/Ice/custom/jdk1.5/TestI.java2
-rwxr-xr-xjava/test/Ice/custom/run.py28
-rw-r--r--java/test/Ice/exceptions/AllTests.java2
-rw-r--r--java/test/Ice/exceptions/Client.java2
-rw-r--r--java/test/Ice/exceptions/Collocated.java2
-rw-r--r--java/test/Ice/exceptions/DummyLogger.java2
-rw-r--r--java/test/Ice/exceptions/EmptyI.java2
-rw-r--r--java/test/Ice/exceptions/ObjectFactoryI.java2
-rw-r--r--java/test/Ice/exceptions/ServantLocatorI.java2
-rw-r--r--java/test/Ice/exceptions/Server.java2
-rw-r--r--java/test/Ice/exceptions/Test.ice2
-rw-r--r--java/test/Ice/exceptions/ThrowerI.java2
-rw-r--r--java/test/Ice/exceptions/build.xml2
-rwxr-xr-xjava/test/Ice/exceptions/run.py38
-rw-r--r--java/test/Ice/exceptionsAMD/DummyLogger.java2
-rw-r--r--java/test/Ice/exceptionsAMD/Server.java2
-rw-r--r--java/test/Ice/exceptionsAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/exceptionsAMD/ThrowerI.java2
-rw-r--r--java/test/Ice/exceptionsAMD/build.xml2
-rw-r--r--java/test/Ice/facets/AI.java2
-rw-r--r--java/test/Ice/facets/AllTests.java2
-rw-r--r--java/test/Ice/facets/BI.java2
-rw-r--r--java/test/Ice/facets/CI.java2
-rw-r--r--java/test/Ice/facets/Client.java2
-rw-r--r--java/test/Ice/facets/Collocated.java2
-rw-r--r--java/test/Ice/facets/DI.java2
-rw-r--r--java/test/Ice/facets/EI.java2
-rw-r--r--java/test/Ice/facets/EmptyI.java2
-rw-r--r--java/test/Ice/facets/FI.java2
-rw-r--r--java/test/Ice/facets/GI.java2
-rw-r--r--java/test/Ice/facets/HI.java2
-rw-r--r--java/test/Ice/facets/Server.java2
-rw-r--r--java/test/Ice/facets/Test.ice2
-rw-r--r--java/test/Ice/facets/build.xml2
-rwxr-xr-xjava/test/Ice/facets/run.py28
-rw-r--r--java/test/Ice/faultTolerance/AllTests.java2
-rw-r--r--java/test/Ice/faultTolerance/Client.java2
-rw-r--r--java/test/Ice/faultTolerance/Server.java2
-rw-r--r--java/test/Ice/faultTolerance/Test.ice2
-rw-r--r--java/test/Ice/faultTolerance/TestI.java2
-rw-r--r--java/test/Ice/faultTolerance/build.xml2
-rwxr-xr-xjava/test/Ice/faultTolerance/run.py40
-rw-r--r--java/test/Ice/hold/AllTests.java2
-rw-r--r--java/test/Ice/hold/Client.java2
-rw-r--r--java/test/Ice/hold/HoldI.java2
-rw-r--r--java/test/Ice/hold/Server.java2
-rw-r--r--java/test/Ice/hold/Test.ice2
-rw-r--r--java/test/Ice/hold/build.xml2
-rwxr-xr-xjava/test/Ice/hold/run.py26
-rw-r--r--java/test/Ice/inheritance/AllTests.java2
-rw-r--r--java/test/Ice/inheritance/CAI.java2
-rw-r--r--java/test/Ice/inheritance/CBI.java2
-rw-r--r--java/test/Ice/inheritance/CCI.java2
-rw-r--r--java/test/Ice/inheritance/CDI.java2
-rw-r--r--java/test/Ice/inheritance/Client.java2
-rw-r--r--java/test/Ice/inheritance/Collocated.java2
-rw-r--r--java/test/Ice/inheritance/IAI.java2
-rw-r--r--java/test/Ice/inheritance/IB1I.java2
-rw-r--r--java/test/Ice/inheritance/IB2I.java2
-rw-r--r--java/test/Ice/inheritance/ICI.java2
-rw-r--r--java/test/Ice/inheritance/InitialI.java2
-rw-r--r--java/test/Ice/inheritance/Server.java2
-rw-r--r--java/test/Ice/inheritance/Test.ice2
-rw-r--r--java/test/Ice/inheritance/build.xml2
-rwxr-xr-xjava/test/Ice/inheritance/run.py28
-rw-r--r--java/test/Ice/interceptor/AMDInterceptorI.java2
-rw-r--r--java/test/Ice/interceptor/Client.java2
-rw-r--r--java/test/Ice/interceptor/InterceptorI.java2
-rw-r--r--java/test/Ice/interceptor/MyObjectI.java2
-rw-r--r--java/test/Ice/interceptor/Test.ice2
-rw-r--r--java/test/Ice/interceptor/build.xml2
-rwxr-xr-xjava/test/Ice/interceptor/run.py34
-rw-r--r--java/test/Ice/location/AllTests.java343
-rw-r--r--java/test/Ice/location/Client.java2
-rw-r--r--java/test/Ice/location/HelloI.java2
-rw-r--r--java/test/Ice/location/Server.java2
-rw-r--r--java/test/Ice/location/ServerLocator.java2
-rw-r--r--java/test/Ice/location/ServerLocatorRegistry.java23
-rw-r--r--java/test/Ice/location/ServerManagerI.java5
-rw-r--r--java/test/Ice/location/Test.ice4
-rw-r--r--java/test/Ice/location/TestI.java2
-rw-r--r--java/test/Ice/location/build.xml2
-rwxr-xr-xjava/test/Ice/location/run.py26
-rw-r--r--java/test/Ice/objects/AllTests.java2
-rw-r--r--java/test/Ice/objects/BI.java2
-rw-r--r--java/test/Ice/objects/CI.java2
-rw-r--r--java/test/Ice/objects/Client.java2
-rw-r--r--java/test/Ice/objects/Collocated.java2
-rw-r--r--java/test/Ice/objects/DI.java2
-rw-r--r--java/test/Ice/objects/EI.java2
-rw-r--r--java/test/Ice/objects/FI.java2
-rw-r--r--java/test/Ice/objects/HI.java2
-rw-r--r--java/test/Ice/objects/II.java2
-rw-r--r--java/test/Ice/objects/InitialI.java2
-rw-r--r--java/test/Ice/objects/JI.java2
-rw-r--r--java/test/Ice/objects/Server.java2
-rw-r--r--java/test/Ice/objects/Test.ice2
-rw-r--r--java/test/Ice/objects/UnexpectedObjectExceptionTestI.java2
-rw-r--r--java/test/Ice/objects/build.xml2
-rwxr-xr-xjava/test/Ice/objects/run.py28
-rw-r--r--java/test/Ice/operations/AllTests.java2
-rw-r--r--java/test/Ice/operations/BatchOneways.java2
-rw-r--r--java/test/Ice/operations/Client.java2
-rw-r--r--java/test/Ice/operations/Collocated.java2
-rw-r--r--java/test/Ice/operations/MyDerivedClassI.java2
-rw-r--r--java/test/Ice/operations/Oneways.java2
-rw-r--r--java/test/Ice/operations/OnewaysAMI.java2
-rw-r--r--java/test/Ice/operations/Server.java2
-rw-r--r--java/test/Ice/operations/Test.ice2
-rw-r--r--java/test/Ice/operations/Twoways.java2
-rw-r--r--java/test/Ice/operations/TwowaysAMI.java2
-rw-r--r--java/test/Ice/operations/build.xml2
-rwxr-xr-xjava/test/Ice/operations/run.py39
-rw-r--r--java/test/Ice/operationsAMD/MyDerivedClassI.java2
-rw-r--r--java/test/Ice/operationsAMD/Server.java2
-rw-r--r--java/test/Ice/operationsAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/operationsAMD/build.xml2
-rw-r--r--java/test/Ice/package/AllTests.java2
-rw-r--r--java/test/Ice/package/Client.java2
-rw-r--r--java/test/Ice/package/InitialI.java2
-rw-r--r--java/test/Ice/package/NoPackage.ice2
-rw-r--r--java/test/Ice/package/Package.ice2
-rw-r--r--java/test/Ice/package/Server.java2
-rw-r--r--java/test/Ice/package/Test.ice2
-rw-r--r--java/test/Ice/package/build.xml2
-rwxr-xr-xjava/test/Ice/package/run.py26
-rw-r--r--java/test/Ice/proxy/AllTests.java2
-rw-r--r--java/test/Ice/proxy/Client.java2
-rw-r--r--java/test/Ice/proxy/Collocated.java2
-rw-r--r--java/test/Ice/proxy/MyDerivedClassI.java2
-rw-r--r--java/test/Ice/proxy/Server.java2
-rw-r--r--java/test/Ice/proxy/Test.ice2
-rw-r--r--java/test/Ice/proxy/build.xml2
-rwxr-xr-xjava/test/Ice/proxy/run.py39
-rw-r--r--java/test/Ice/proxyAMD/MyDerivedClassI.java2
-rw-r--r--java/test/Ice/proxyAMD/Server.java2
-rw-r--r--java/test/Ice/proxyAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/proxyAMD/build.xml2
-rw-r--r--java/test/Ice/retry/AllTests.java2
-rw-r--r--java/test/Ice/retry/Client.java2
-rw-r--r--java/test/Ice/retry/RetryI.java2
-rw-r--r--java/test/Ice/retry/Server.java2
-rw-r--r--java/test/Ice/retry/Test.ice2
-rw-r--r--java/test/Ice/retry/build.xml2
-rwxr-xr-xjava/test/Ice/retry/run.py27
-rw-r--r--java/test/Ice/servantLocator/AllTests.java2
-rw-r--r--java/test/Ice/servantLocator/Client.java2
-rw-r--r--java/test/Ice/servantLocator/Collocated.java2
-rw-r--r--java/test/Ice/servantLocator/CookieI.java2
-rw-r--r--java/test/Ice/servantLocator/ServantLocatorI.java2
-rw-r--r--java/test/Ice/servantLocator/Server.java2
-rw-r--r--java/test/Ice/servantLocator/Test.ice2
-rw-r--r--java/test/Ice/servantLocator/TestI.java2
-rw-r--r--java/test/Ice/servantLocator/build.xml2
-rwxr-xr-xjava/test/Ice/servantLocator/run.py44
-rw-r--r--java/test/Ice/servantLocatorAMD/CookieI.java2
-rw-r--r--java/test/Ice/servantLocatorAMD/ServantLocatorI.java2
-rw-r--r--java/test/Ice/servantLocatorAMD/Server.java2
-rw-r--r--java/test/Ice/servantLocatorAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/servantLocatorAMD/TestI.java2
-rw-r--r--java/test/Ice/servantLocatorAMD/build.xml2
-rw-r--r--java/test/Ice/slicing/build.xml2
-rw-r--r--java/test/Ice/slicing/exceptions/Test.ice2
-rw-r--r--java/test/Ice/slicing/exceptions/build.xml6
-rw-r--r--java/test/Ice/slicing/exceptions/csrc/AllTests.java2
-rw-r--r--java/test/Ice/slicing/exceptions/csrc/Client.java2
-rwxr-xr-xjava/test/Ice/slicing/exceptions/run.py36
-rw-r--r--java/test/Ice/slicing/exceptions/ssrc/Server.java2
-rw-r--r--java/test/Ice/slicing/exceptions/ssrc/ServerPrivate.ice2
-rw-r--r--java/test/Ice/slicing/exceptions/ssrc/TestI.java2
-rw-r--r--java/test/Ice/slicing/exceptionsAMD/Server.java2
-rw-r--r--java/test/Ice/slicing/exceptionsAMD/ServerPrivateAMD.ice2
-rw-r--r--java/test/Ice/slicing/exceptionsAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/slicing/exceptionsAMD/TestI.java2
-rw-r--r--java/test/Ice/slicing/exceptionsAMD/build.xml2
-rw-r--r--java/test/Ice/slicing/objects/Forward.ice2
-rw-r--r--java/test/Ice/slicing/objects/Test.ice2
-rw-r--r--java/test/Ice/slicing/objects/build.xml6
-rw-r--r--java/test/Ice/slicing/objects/csrc/AllTests.java16
-rw-r--r--java/test/Ice/slicing/objects/csrc/Client.java2
-rw-r--r--java/test/Ice/slicing/objects/csrc/ClientPrivate.ice2
-rwxr-xr-xjava/test/Ice/slicing/objects/run.py37
-rw-r--r--java/test/Ice/slicing/objects/ssrc/Server.java2
-rw-r--r--java/test/Ice/slicing/objects/ssrc/ServerPrivate.ice2
-rw-r--r--java/test/Ice/slicing/objects/ssrc/TestI.java2
-rw-r--r--java/test/Ice/slicing/objectsAMD/Forward.ice2
-rw-r--r--java/test/Ice/slicing/objectsAMD/Server.java2
-rw-r--r--java/test/Ice/slicing/objectsAMD/ServerPrivateAMD.ice2
-rw-r--r--java/test/Ice/slicing/objectsAMD/TestAMD.ice2
-rw-r--r--java/test/Ice/slicing/objectsAMD/TestI.java2
-rw-r--r--java/test/Ice/slicing/objectsAMD/build.xml2
-rw-r--r--java/test/Ice/stream/Client.java2
-rw-r--r--java/test/Ice/stream/Test.ice2
-rw-r--r--java/test/Ice/stream/build.xml2
-rwxr-xr-xjava/test/Ice/stream/run.py35
-rw-r--r--java/test/Ice/timeout/AllTests.java2
-rw-r--r--java/test/Ice/timeout/Client.java2
-rw-r--r--java/test/Ice/timeout/Server.java2
-rw-r--r--java/test/Ice/timeout/Test.ice2
-rw-r--r--java/test/Ice/timeout/TimeoutI.java2
-rw-r--r--java/test/Ice/timeout/build.xml2
-rwxr-xr-xjava/test/Ice/timeout/run.py27
-rw-r--r--java/test/Ice/translator/DoubleModuleNoPackage.ice2
-rw-r--r--java/test/Ice/translator/DoubleModuleWithPackage.ice2
-rw-r--r--java/test/Ice/translator/SingleModuleNoPackage.ice2
-rw-r--r--java/test/Ice/translator/SingleModuleWithPackage.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleNoPackage4.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleNoPackage5.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleNoPackage6.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleNoPackage7.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage10.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage11.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage4.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage5.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage6.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage7.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage8.ice2
-rw-r--r--java/test/Ice/translator/TestDoubleModuleWithPackage9.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleNoPackage4.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleNoPackage6.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleNoPackage7.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage10.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage11.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage12.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage13.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage4.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage5.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage6.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage7.ice2
-rw-r--r--java/test/Ice/translator/TestSingleModuleWithPackage9.ice2
-rw-r--r--java/test/Ice/translator/build.xml2
-rw-r--r--java/test/Ice/udp/AllTests.java154
-rw-r--r--java/test/Ice/udp/Client.java62
-rw-r--r--java/test/Ice/udp/Server.java82
-rw-r--r--java/test/Ice/udp/Test.ice32
-rw-r--r--java/test/Ice/udp/TestIntfI.java40
-rw-r--r--java/test/Ice/udp/build.xml (renamed from java/test/Glacier2/attack/build.xml)6
-rwxr-xr-xjava/test/Ice/udp/run.py39
-rw-r--r--java/test/IceBox/build.xml2
-rw-r--r--java/test/IceBox/configuration/AllTests.java2
-rw-r--r--java/test/IceBox/configuration/Client.java2
-rw-r--r--java/test/IceBox/configuration/Test.ice2
-rw-r--r--java/test/IceBox/configuration/TestI.java2
-rw-r--r--java/test/IceBox/configuration/TestServiceI.java2
-rw-r--r--java/test/IceBox/configuration/build.xml2
-rwxr-xr-xjava/test/IceBox/configuration/run.py39
-rw-r--r--java/test/IceGrid/build.xml2
-rw-r--r--java/test/IceGrid/simple/AllTests.java7
-rw-r--r--java/test/IceGrid/simple/Client.java2
-rw-r--r--java/test/IceGrid/simple/Server.java2
-rw-r--r--java/test/IceGrid/simple/Test.ice2
-rw-r--r--java/test/IceGrid/simple/TestI.java2
-rw-r--r--java/test/IceGrid/simple/build.xml3
-rwxr-xr-xjava/test/IceGrid/simple/run.py31
-rw-r--r--java/test/IceSSL/build.xml2
-rwxr-xr-xjava/test/IceSSL/certs/makecerts.py4
-rw-r--r--java/test/IceSSL/configuration/AllTests.java2
-rw-r--r--java/test/IceSSL/configuration/CertificateVerifierI.java2
-rw-r--r--java/test/IceSSL/configuration/Client.java2
-rw-r--r--java/test/IceSSL/configuration/PasswordCallbackI.java2
-rw-r--r--java/test/IceSSL/configuration/Server.java2
-rw-r--r--java/test/IceSSL/configuration/ServerFactoryI.java2
-rw-r--r--java/test/IceSSL/configuration/ServerI.java2
-rw-r--r--java/test/IceSSL/configuration/Test.ice2
-rw-r--r--java/test/IceSSL/configuration/build.xml2
-rwxr-xr-xjava/test/IceSSL/configuration/run.py27
-rw-r--r--java/test/IceUtil/build.xml2
-rw-r--r--java/test/IceUtil/inputUtil/Client.java2
-rw-r--r--java/test/IceUtil/inputUtil/build.xml2
-rwxr-xr-xjava/test/IceUtil/inputUtil/run.py35
-rw-r--r--java/test/Slice/build.xml2
-rw-r--r--java/test/Slice/keyword/Client.java2
-rw-r--r--java/test/Slice/keyword/Key.ice2
-rw-r--r--java/test/Slice/keyword/build.xml2
-rwxr-xr-xjava/test/Slice/keyword/run.py35
-rw-r--r--java/test/build.xml2
-rwxr-xr-xmakedist.py4
-rwxr-xr-xperf/printIcePerf.py2
-rwxr-xr-xperf/printIceStormPerf.py2
-rwxr-xr-xperf/runIcePerf.py2
-rwxr-xr-xperf/runIceStormPerf.py2
-rw-r--r--php/Makefile2
-rw-r--r--php/Makefile.mak2
-rwxr-xr-xphp/allTests.py8
-rw-r--r--php/config/Make.rules2
-rw-r--r--php/config/Make.rules.mak29
-rw-r--r--php/demo/Ice/hello/Hello.ice2
-rw-r--r--php/demo/Ice/hello/hello.php2
-rw-r--r--php/demo/Ice/value/Client.php2
-rw-r--r--php/demo/Ice/value/Value.ice4
-rw-r--r--php/src/IcePHP/Communicator.cpp2
-rw-r--r--php/src/IcePHP/Communicator.h2
-rw-r--r--php/src/IcePHP/Config.h2
-rw-r--r--php/src/IcePHP/Init.cpp2
-rw-r--r--php/src/IcePHP/Makefile2
-rw-r--r--php/src/IcePHP/Makefile.mak2
-rw-r--r--php/src/IcePHP/Marshal.cpp20
-rw-r--r--php/src/IcePHP/Marshal.h2
-rw-r--r--php/src/IcePHP/Profile.cpp293
-rw-r--r--php/src/IcePHP/Profile.h31
-rw-r--r--php/src/IcePHP/Proxy.cpp15
-rw-r--r--php/src/IcePHP/Proxy.h2
-rw-r--r--php/src/IcePHP/Util.cpp2
-rw-r--r--php/src/IcePHP/Util.h2
-rw-r--r--php/src/Makefile2
-rw-r--r--php/src/Makefile.mak2
-rw-r--r--php/test/Ice/binding/Client.php2
-rw-r--r--php/test/Ice/binding/Test.ice2
-rwxr-xr-xphp/test/Ice/binding/run.py24
-rw-r--r--php/test/Ice/exceptions/Client.php2
-rw-r--r--php/test/Ice/exceptions/Test.ice2
-rw-r--r--php/test/Ice/exceptions/junk.php2
-rwxr-xr-xphp/test/Ice/exceptions/run.py26
-rw-r--r--php/test/Ice/facets/Client.php2
-rw-r--r--php/test/Ice/facets/Test.ice2
-rwxr-xr-xphp/test/Ice/facets/run.py24
-rw-r--r--php/test/Ice/inheritance/Client.php2
-rw-r--r--php/test/Ice/inheritance/Test.ice2
-rwxr-xr-xphp/test/Ice/inheritance/run.py24
-rw-r--r--php/test/Ice/objects/Client.php2
-rw-r--r--php/test/Ice/objects/Test.ice2
-rwxr-xr-xphp/test/Ice/objects/run.py24
-rw-r--r--php/test/Ice/operations/Client.php2
-rw-r--r--php/test/Ice/operations/Test.ice2
-rwxr-xr-xphp/test/Ice/operations/run.py26
-rw-r--r--php/test/Ice/proxy/Client.php2
-rw-r--r--php/test/Ice/proxy/Test.ice2
-rwxr-xr-xphp/test/Ice/proxy/run.py26
-rw-r--r--php/test/Ice/slicing/exceptions/Test.ice2
-rwxr-xr-xphp/test/Ice/slicing/exceptions/run.py24
-rw-r--r--php/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--php/test/Ice/slicing/objects/Forward.ice2
-rw-r--r--php/test/Ice/slicing/objects/Test.ice2
-rw-r--r--php/test/Ice/slicing/objects/php.ini2
-rwxr-xr-xphp/test/Ice/slicing/objects/run.py24
-rw-r--r--php/test/Slice/keyword/Client.php2
-rw-r--r--php/test/Slice/keyword/Key.ice2
-rwxr-xr-xphp/test/Slice/keyword/run.py38
-rw-r--r--py/CHANGES2
-rw-r--r--py/Makefile2
-rw-r--r--py/Makefile.mak2
-rwxr-xr-xpy/allDemos.py6
-rwxr-xr-xpy/allTests.py8
-rw-r--r--py/config/Make.rules2
-rw-r--r--py/config/Make.rules.Darwin4
-rw-r--r--py/config/Make.rules.mak6
-rw-r--r--py/demo/Glacier2/callback/Callback.ice2
-rwxr-xr-xpy/demo/Glacier2/callback/Client.py2
-rwxr-xr-xpy/demo/Glacier2/callback/Server.py2
-rwxr-xr-xpy/demo/Glacier2/callback/SessionServer.py2
-rwxr-xr-xpy/demo/Glacier2/callback/expect.py2
-rwxr-xr-xpy/demo/Ice/async/Client.py2
-rw-r--r--py/demo/Ice/async/Hello.ice4
-rwxr-xr-xpy/demo/Ice/async/Server.py2
-rwxr-xr-xpy/demo/Ice/async/expect.py2
-rw-r--r--py/demo/Ice/bidir/Callback.ice2
-rwxr-xr-xpy/demo/Ice/bidir/Client.py2
-rwxr-xr-xpy/demo/Ice/bidir/Server.py2
-rwxr-xr-xpy/demo/Ice/bidir/expect.py2
-rw-r--r--py/demo/Ice/callback/Callback.ice2
-rwxr-xr-xpy/demo/Ice/callback/Client.py2
-rwxr-xr-xpy/demo/Ice/callback/Server.py2
-rwxr-xr-xpy/demo/Ice/callback/expect.py2
-rwxr-xr-xpy/demo/Ice/converter/Client.py4
-rw-r--r--py/demo/Ice/converter/Greet.ice2
-rw-r--r--py/demo/Ice/converter/README2
-rwxr-xr-xpy/demo/Ice/converter/Server.py2
-rwxr-xr-xpy/demo/Ice/converter/expect.py2
-rwxr-xr-xpy/demo/Ice/hello/Client.py2
-rw-r--r--py/demo/Ice/hello/Hello.ice4
-rwxr-xr-xpy/demo/Ice/hello/Server.py2
-rwxr-xr-xpy/demo/Ice/hello/expect.py6
-rwxr-xr-xpy/demo/Ice/latency/Client.py2
-rw-r--r--py/demo/Ice/latency/Latency.ice2
-rwxr-xr-xpy/demo/Ice/latency/Server.py2
-rwxr-xr-xpy/demo/Ice/latency/expect.py2
-rwxr-xr-xpy/demo/Ice/minimal/Client.py2
-rw-r--r--py/demo/Ice/minimal/Hello.ice2
-rwxr-xr-xpy/demo/Ice/minimal/Server.py2
-rwxr-xr-xpy/demo/Ice/minimal/expect.py2
-rwxr-xr-xpy/demo/Ice/session/Client.py2
-rwxr-xr-xpy/demo/Ice/session/Server.py2
-rw-r--r--py/demo/Ice/session/Session.ice2
-rwxr-xr-xpy/demo/Ice/session/expect.py2
-rwxr-xr-xpy/demo/Ice/throughput/Client.py2
-rwxr-xr-xpy/demo/Ice/throughput/Server.py2
-rw-r--r--py/demo/Ice/throughput/Throughput.ice2
-rwxr-xr-xpy/demo/Ice/throughput/expect.py2
-rwxr-xr-xpy/demo/Ice/value/Client.py2
-rwxr-xr-xpy/demo/Ice/value/Printer.py2
-rwxr-xr-xpy/demo/Ice/value/Server.py2
-rw-r--r--py/demo/Ice/value/Value.ice4
-rwxr-xr-xpy/demo/Ice/value/expect.py2
-rwxr-xr-xpy/demo/IceGrid/simple/Client.py2
-rw-r--r--py/demo/IceGrid/simple/Hello.ice2
-rwxr-xr-xpy/demo/IceGrid/simple/Server.py2
-rw-r--r--py/demo/IceGrid/simple/application.xml2
-rw-r--r--py/demo/IceGrid/simple/application_with_replication.xml2
-rw-r--r--py/demo/IceGrid/simple/application_with_template.xml2
-rwxr-xr-xpy/demo/IceGrid/simple/expect.py2
-rw-r--r--py/demo/IceStorm/clock/Clock.ice2
-rwxr-xr-xpy/demo/IceStorm/clock/Publisher.py2
-rwxr-xr-xpy/demo/IceStorm/clock/Subscriber.py2
-rwxr-xr-xpy/demo/IceStorm/clock/expect.py2
-rwxr-xr-xpy/demo/book/printer/Client.py2
-rw-r--r--py/demo/book/printer/Printer.ice2
-rwxr-xr-xpy/demo/book/printer/Server.py2
-rwxr-xr-xpy/demo/book/printer/expect.py2
-rwxr-xr-xpy/demo/book/simple_filesystem/Client.py2
-rw-r--r--py/demo/book/simple_filesystem/Filesystem.ice2
-rwxr-xr-xpy/demo/book/simple_filesystem/Server.py2
-rwxr-xr-xpy/demo/book/simple_filesystem/expect.py2
-rwxr-xr-xpy/makebindist.py2
-rw-r--r--py/modules/IcePy/Communicator.cpp21
-rw-r--r--py/modules/IcePy/Communicator.h2
-rw-r--r--py/modules/IcePy/Config.h2
-rw-r--r--py/modules/IcePy/Connection.cpp2
-rw-r--r--py/modules/IcePy/Connection.h2
-rw-r--r--py/modules/IcePy/Current.cpp2
-rw-r--r--py/modules/IcePy/Current.h2
-rw-r--r--py/modules/IcePy/ImplicitContext.cpp2
-rw-r--r--py/modules/IcePy/ImplicitContext.h2
-rw-r--r--py/modules/IcePy/Init.cpp2
-rw-r--r--py/modules/IcePy/Logger.cpp2
-rw-r--r--py/modules/IcePy/Logger.h2
-rw-r--r--py/modules/IcePy/Makefile2
-rw-r--r--py/modules/IcePy/Makefile.mak2
-rw-r--r--py/modules/IcePy/ObjectAdapter.cpp2
-rw-r--r--py/modules/IcePy/ObjectAdapter.h2
-rw-r--r--py/modules/IcePy/ObjectFactory.cpp2
-rw-r--r--py/modules/IcePy/ObjectFactory.h2
-rw-r--r--py/modules/IcePy/Operation.cpp13
-rw-r--r--py/modules/IcePy/Operation.h2
-rw-r--r--py/modules/IcePy/Properties.cpp2
-rw-r--r--py/modules/IcePy/Properties.h2
-rw-r--r--py/modules/IcePy/Proxy.cpp4
-rw-r--r--py/modules/IcePy/Proxy.h2
-rw-r--r--py/modules/IcePy/Slice.cpp2
-rw-r--r--py/modules/IcePy/Slice.h2
-rw-r--r--py/modules/IcePy/ThreadNotification.cpp2
-rw-r--r--py/modules/IcePy/ThreadNotification.h2
-rw-r--r--py/modules/IcePy/Types.cpp2
-rw-r--r--py/modules/IcePy/Types.h2
-rw-r--r--py/modules/IcePy/Util.cpp2
-rw-r--r--py/modules/IcePy/Util.h2
-rw-r--r--py/modules/Makefile2
-rw-r--r--py/modules/Makefile.mak2
-rw-r--r--py/python/Ice.py22
-rw-r--r--py/python/Makefile2
-rw-r--r--py/python/Makefile.mak2
-rw-r--r--py/test/Ice/adapterDeactivation/AllTests.py2
-rwxr-xr-xpy/test/Ice/adapterDeactivation/Client.py2
-rwxr-xr-xpy/test/Ice/adapterDeactivation/Collocated.py2
-rwxr-xr-xpy/test/Ice/adapterDeactivation/Server.py2
-rw-r--r--py/test/Ice/adapterDeactivation/Test.ice2
-rw-r--r--py/test/Ice/adapterDeactivation/TestI.py2
-rwxr-xr-xpy/test/Ice/adapterDeactivation/run.py26
-rwxr-xr-xpy/test/Ice/application/Client.py2
-rw-r--r--py/test/Ice/binding/AllTests.py2
-rwxr-xr-xpy/test/Ice/binding/Client.py2
-rwxr-xr-xpy/test/Ice/binding/Server.py2
-rw-r--r--py/test/Ice/binding/Test.ice2
-rw-r--r--py/test/Ice/binding/TestI.py2
-rwxr-xr-xpy/test/Ice/binding/run.py29
-rwxr-xr-xpy/test/Ice/blobject/Client.py2
-rw-r--r--py/test/Ice/blobject/RouterI.py2
-rwxr-xr-xpy/test/Ice/blobject/Server.py2
-rw-r--r--py/test/Ice/blobject/Test.ice2
-rwxr-xr-xpy/test/Ice/blobject/run.py24
-rw-r--r--py/test/Ice/checksum/AllTests.py2
-rw-r--r--py/test/Ice/checksum/CTypes.ice2
-rwxr-xr-xpy/test/Ice/checksum/Client.py2
-rw-r--r--py/test/Ice/checksum/STypes.ice2
-rwxr-xr-xpy/test/Ice/checksum/Server.py2
-rw-r--r--py/test/Ice/checksum/Test.ice2
-rwxr-xr-xpy/test/Ice/checksum/run.py24
-rw-r--r--py/test/Ice/custom/AllTests.py2
-rwxr-xr-xpy/test/Ice/custom/Client.py2
-rwxr-xr-xpy/test/Ice/custom/Server.py2
-rw-r--r--py/test/Ice/custom/Test.ice2
-rwxr-xr-xpy/test/Ice/custom/run.py24
-rw-r--r--py/test/Ice/exceptions/AllTests.py2
-rwxr-xr-xpy/test/Ice/exceptions/Client.py2
-rwxr-xr-xpy/test/Ice/exceptions/Collocated.py2
-rwxr-xr-xpy/test/Ice/exceptions/Server.py2
-rwxr-xr-xpy/test/Ice/exceptions/ServerAMD.py2
-rw-r--r--py/test/Ice/exceptions/Test.ice2
-rw-r--r--py/test/Ice/exceptions/TestAMD.ice2
-rw-r--r--py/test/Ice/exceptions/TestI.py2
-rwxr-xr-xpy/test/Ice/exceptions/run.py28
-rw-r--r--py/test/Ice/facets/AllTests.py2
-rwxr-xr-xpy/test/Ice/facets/Client.py2
-rwxr-xr-xpy/test/Ice/facets/Collocated.py2
-rwxr-xr-xpy/test/Ice/facets/Server.py2
-rw-r--r--py/test/Ice/facets/Test.ice2
-rw-r--r--py/test/Ice/facets/TestI.py2
-rwxr-xr-xpy/test/Ice/facets/run.py26
-rw-r--r--py/test/Ice/faultTolerance/AllTests.py2
-rwxr-xr-xpy/test/Ice/faultTolerance/Client.py2
-rwxr-xr-xpy/test/Ice/faultTolerance/Server.py2
-rw-r--r--py/test/Ice/faultTolerance/Test.ice2
-rwxr-xr-xpy/test/Ice/faultTolerance/run.py48
-rw-r--r--py/test/Ice/inheritance/AllTests.py2
-rwxr-xr-xpy/test/Ice/inheritance/Client.py2
-rwxr-xr-xpy/test/Ice/inheritance/Collocated.py2
-rwxr-xr-xpy/test/Ice/inheritance/Server.py2
-rw-r--r--py/test/Ice/inheritance/Test.ice2
-rw-r--r--py/test/Ice/inheritance/TestI.py2
-rwxr-xr-xpy/test/Ice/inheritance/run.py26
-rw-r--r--py/test/Ice/location/AllTests.py2
-rwxr-xr-xpy/test/Ice/location/Client.py2
-rwxr-xr-xpy/test/Ice/location/Server.py29
-rw-r--r--py/test/Ice/location/Test.ice12
-rwxr-xr-xpy/test/Ice/location/run.py24
-rw-r--r--py/test/Ice/objects/AllTests.py2
-rwxr-xr-xpy/test/Ice/objects/Client.py2
-rw-r--r--py/test/Ice/objects/ClientPrivate.ice2
-rwxr-xr-xpy/test/Ice/objects/Collocated.py2
-rwxr-xr-xpy/test/Ice/objects/Server.py2
-rw-r--r--py/test/Ice/objects/ServerPrivate.ice2
-rw-r--r--py/test/Ice/objects/Test.ice2
-rw-r--r--py/test/Ice/objects/TestI.py2
-rwxr-xr-xpy/test/Ice/objects/run.py26
-rw-r--r--py/test/Ice/operations/AllTests.py2
-rw-r--r--py/test/Ice/operations/BatchOneways.py2
-rwxr-xr-xpy/test/Ice/operations/Client.py3
-rwxr-xr-xpy/test/Ice/operations/Collocated.py2
-rw-r--r--py/test/Ice/operations/Oneways.py2
-rw-r--r--py/test/Ice/operations/OnewaysAMI.py2
-rwxr-xr-xpy/test/Ice/operations/Server.py2
-rwxr-xr-xpy/test/Ice/operations/ServerAMD.py7
-rw-r--r--py/test/Ice/operations/Test.ice2
-rw-r--r--py/test/Ice/operations/TestAMD.ice2
-rw-r--r--py/test/Ice/operations/TestI.py2
-rw-r--r--py/test/Ice/operations/Twoways.py2
-rw-r--r--py/test/Ice/operations/TwowaysAMI.py2
-rwxr-xr-xpy/test/Ice/operations/run.py28
-rw-r--r--py/test/Ice/proxy/AllTests.py11
-rwxr-xr-xpy/test/Ice/proxy/Client.py2
-rwxr-xr-xpy/test/Ice/proxy/Collocated.py2
-rwxr-xr-xpy/test/Ice/proxy/Server.py2
-rwxr-xr-xpy/test/Ice/proxy/ServerAMD.py2
-rw-r--r--py/test/Ice/proxy/Test.ice2
-rw-r--r--py/test/Ice/proxy/TestAMD.ice2
-rw-r--r--py/test/Ice/proxy/TestI.py2
-rwxr-xr-xpy/test/Ice/proxy/run.py28
-rw-r--r--py/test/Ice/retry/AllTests.py2
-rwxr-xr-xpy/test/Ice/retry/Client.py2
-rwxr-xr-xpy/test/Ice/retry/Server.py2
-rw-r--r--py/test/Ice/retry/Test.ice2
-rw-r--r--py/test/Ice/retry/TestI.py2
-rwxr-xr-xpy/test/Ice/retry/run.py24
-rw-r--r--py/test/Ice/servantLocator/AllTests.py2
-rwxr-xr-xpy/test/Ice/servantLocator/Client.py2
-rwxr-xr-xpy/test/Ice/servantLocator/Collocated.py2
-rwxr-xr-xpy/test/Ice/servantLocator/Server.py2
-rwxr-xr-xpy/test/Ice/servantLocator/ServerAMD.py2
-rw-r--r--py/test/Ice/servantLocator/Test.ice2
-rw-r--r--py/test/Ice/servantLocator/TestAMD.ice2
-rw-r--r--py/test/Ice/servantLocator/TestAMDI.py2
-rw-r--r--py/test/Ice/servantLocator/TestI.py2
-rwxr-xr-xpy/test/Ice/servantLocator/run.py28
-rw-r--r--py/test/Ice/slicing/exceptions/AllTests.py2
-rwxr-xr-xpy/test/Ice/slicing/exceptions/Client.py2
-rwxr-xr-xpy/test/Ice/slicing/exceptions/Server.py2
-rwxr-xr-xpy/test/Ice/slicing/exceptions/ServerAMD.py2
-rw-r--r--py/test/Ice/slicing/exceptions/ServerPrivate.ice2
-rw-r--r--py/test/Ice/slicing/exceptions/ServerPrivateAMD.ice2
-rw-r--r--py/test/Ice/slicing/exceptions/Test.ice2
-rw-r--r--py/test/Ice/slicing/exceptions/TestAMD.ice2
-rwxr-xr-xpy/test/Ice/slicing/exceptions/run.py26
-rw-r--r--py/test/Ice/slicing/objects/AllTests.py2
-rwxr-xr-xpy/test/Ice/slicing/objects/Client.py2
-rw-r--r--py/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--py/test/Ice/slicing/objects/Forward.ice2
-rwxr-xr-xpy/test/Ice/slicing/objects/Server.py2
-rwxr-xr-xpy/test/Ice/slicing/objects/ServerAMD.py2
-rw-r--r--py/test/Ice/slicing/objects/ServerPrivate.ice2
-rw-r--r--py/test/Ice/slicing/objects/ServerPrivateAMD.ice2
-rw-r--r--py/test/Ice/slicing/objects/Test.ice2
-rw-r--r--py/test/Ice/slicing/objects/TestAMD.ice2
-rwxr-xr-xpy/test/Ice/slicing/objects/run.py26
-rw-r--r--py/test/Ice/timeout/AllTests.py2
-rwxr-xr-xpy/test/Ice/timeout/Client.py2
-rwxr-xr-xpy/test/Ice/timeout/Server.py2
-rw-r--r--py/test/Ice/timeout/Test.ice2
-rwxr-xr-xpy/test/Ice/timeout/run.py24
-rwxr-xr-xpy/test/Slice/keyword/Client.py2
-rw-r--r--py/test/Slice/keyword/Key.ice2
-rwxr-xr-xpy/test/Slice/keyword/run.py36
-rw-r--r--rb/Makefile2
-rw-r--r--rb/Makefile.mak2
-rwxr-xr-xrb/allDemos.py6
-rwxr-xr-xrb/allTests.py8
-rw-r--r--rb/config/Make.rules2
-rw-r--r--rb/config/Make.rules.Darwin2
-rw-r--r--rb/config/Make.rules.mak8
-rwxr-xr-xrb/demo/Ice/hello/Client.rb2
-rw-r--r--rb/demo/Ice/hello/Hello.ice4
-rwxr-xr-xrb/demo/Ice/hello/expect.py6
-rwxr-xr-xrb/demo/Ice/latency/Client.rb2
-rw-r--r--rb/demo/Ice/latency/Latency.ice2
-rwxr-xr-xrb/demo/Ice/latency/expect.py2
-rwxr-xr-xrb/demo/Ice/minimal/Client.rb2
-rw-r--r--rb/demo/Ice/minimal/Hello.ice2
-rwxr-xr-xrb/demo/Ice/minimal/expect.py2
-rwxr-xr-xrb/demo/Ice/session/Client.rb2
-rw-r--r--rb/demo/Ice/session/Session.ice2
-rwxr-xr-xrb/demo/Ice/session/expect.py2
-rwxr-xr-xrb/demo/Ice/throughput/Client.rb2
-rw-r--r--rb/demo/Ice/throughput/Throughput.ice2
-rwxr-xr-xrb/demo/Ice/throughput/expect.py2
-rwxr-xr-xrb/demo/Ice/value/Client.rb2
-rw-r--r--rb/demo/Ice/value/Value.ice4
-rwxr-xr-xrb/demo/Ice/value/expect.py2
-rwxr-xr-xrb/demo/book/printer/Client.rb2
-rw-r--r--rb/demo/book/printer/Printer.ice2
-rwxr-xr-xrb/demo/book/printer/expect.py2
-rwxr-xr-xrb/demo/book/simple_filesystem/Client.rb2
-rw-r--r--rb/demo/book/simple_filesystem/Filesystem.ice2
-rwxr-xr-xrb/demo/book/simple_filesystem/expect.py2
-rwxr-xr-xrb/makebindist.py2
-rwxr-xr-xrb/makewindist.py2
-rw-r--r--rb/ruby/Glacier2.rb2
-rw-r--r--rb/ruby/Ice.rb3
-rw-r--r--rb/ruby/IceBox.rb2
-rw-r--r--rb/ruby/IceGrid.rb2
-rw-r--r--rb/ruby/IcePatch2.rb2
-rw-r--r--rb/ruby/IceStorm.rb2
-rw-r--r--rb/ruby/Makefile2
-rw-r--r--rb/ruby/Makefile.mak2
-rw-r--r--rb/src/IceRuby/.depend22
-rw-r--r--rb/src/IceRuby/Communicator.cpp2
-rw-r--r--rb/src/IceRuby/Communicator.h2
-rw-r--r--rb/src/IceRuby/Config.h2
-rw-r--r--rb/src/IceRuby/ImplicitContext.cpp2
-rw-r--r--rb/src/IceRuby/ImplicitContext.h2
-rw-r--r--rb/src/IceRuby/Init.cpp2
-rw-r--r--rb/src/IceRuby/Logger.cpp2
-rw-r--r--rb/src/IceRuby/Logger.h2
-rw-r--r--rb/src/IceRuby/Makefile2
-rw-r--r--rb/src/IceRuby/Makefile.mak2
-rw-r--r--rb/src/IceRuby/ObjectFactory.cpp2
-rw-r--r--rb/src/IceRuby/ObjectFactory.h2
-rw-r--r--rb/src/IceRuby/Operation.cpp2
-rw-r--r--rb/src/IceRuby/Operation.h2
-rw-r--r--rb/src/IceRuby/Properties.cpp2
-rw-r--r--rb/src/IceRuby/Properties.h2
-rw-r--r--rb/src/IceRuby/Proxy.cpp2
-rw-r--r--rb/src/IceRuby/Proxy.h2
-rw-r--r--rb/src/IceRuby/Slice.cpp2
-rw-r--r--rb/src/IceRuby/Slice.h2
-rw-r--r--rb/src/IceRuby/Types.cpp2
-rw-r--r--rb/src/IceRuby/Types.h2
-rw-r--r--rb/src/IceRuby/Util.cpp2
-rw-r--r--rb/src/IceRuby/Util.h2
-rw-r--r--rb/src/Makefile2
-rw-r--r--rb/src/Makefile.mak2
-rwxr-xr-xrb/test/Ice/application/Client.rb2
-rw-r--r--rb/test/Ice/binding/AllTests.rb2
-rwxr-xr-xrb/test/Ice/binding/Client.rb2
-rw-r--r--rb/test/Ice/binding/Test.ice2
-rwxr-xr-xrb/test/Ice/binding/run.py24
-rw-r--r--rb/test/Ice/checksum/AllTests.rb2
-rw-r--r--rb/test/Ice/checksum/CTypes.ice2
-rwxr-xr-xrb/test/Ice/checksum/Client.rb2
-rw-r--r--rb/test/Ice/checksum/Test.ice2
-rwxr-xr-xrb/test/Ice/checksum/run.py24
-rw-r--r--rb/test/Ice/exceptions/AllTests.rb2
-rwxr-xr-xrb/test/Ice/exceptions/Client.rb2
-rw-r--r--rb/test/Ice/exceptions/Test.ice2
-rwxr-xr-xrb/test/Ice/exceptions/run.py25
-rw-r--r--rb/test/Ice/facets/AllTests.rb2
-rwxr-xr-xrb/test/Ice/facets/Client.rb2
-rw-r--r--rb/test/Ice/facets/Test.ice2
-rwxr-xr-xrb/test/Ice/facets/run.py24
-rw-r--r--rb/test/Ice/inheritance/AllTests.rb2
-rwxr-xr-xrb/test/Ice/inheritance/Client.rb2
-rw-r--r--rb/test/Ice/inheritance/Test.ice2
-rwxr-xr-xrb/test/Ice/inheritance/run.py24
-rw-r--r--rb/test/Ice/location/AllTests.rb2
-rwxr-xr-xrb/test/Ice/location/Client.rb2
-rw-r--r--rb/test/Ice/location/Test.ice2
-rwxr-xr-xrb/test/Ice/location/run.py24
-rw-r--r--rb/test/Ice/objects/AllTests.rb2
-rwxr-xr-xrb/test/Ice/objects/Client.rb2
-rw-r--r--rb/test/Ice/objects/ClientPrivate.ice2
-rw-r--r--rb/test/Ice/objects/Test.ice2
-rw-r--r--rb/test/Ice/objects/TestI.rb2
-rwxr-xr-xrb/test/Ice/objects/run.py24
-rw-r--r--rb/test/Ice/operations/AllTests.rb2
-rw-r--r--rb/test/Ice/operations/BatchOneways.rb2
-rwxr-xr-xrb/test/Ice/operations/Client.rb2
-rw-r--r--rb/test/Ice/operations/Test.ice2
-rw-r--r--rb/test/Ice/operations/Twoways.rb2
-rwxr-xr-xrb/test/Ice/operations/run.py26
-rw-r--r--rb/test/Ice/proxy/AllTests.rb2
-rwxr-xr-xrb/test/Ice/proxy/Client.rb2
-rw-r--r--rb/test/Ice/proxy/Test.ice2
-rwxr-xr-xrb/test/Ice/proxy/run.py25
-rw-r--r--rb/test/Ice/retry/AllTests.rb2
-rwxr-xr-xrb/test/Ice/retry/Client.rb6
-rw-r--r--rb/test/Ice/retry/Test.ice2
-rwxr-xr-xrb/test/Ice/retry/run.py24
-rw-r--r--rb/test/Ice/slicing/exceptions/AllTests.rb2
-rwxr-xr-xrb/test/Ice/slicing/exceptions/Client.rb2
-rw-r--r--rb/test/Ice/slicing/exceptions/Test.ice2
-rwxr-xr-xrb/test/Ice/slicing/exceptions/run.py24
-rw-r--r--rb/test/Ice/slicing/objects/AllTests.rb2
-rwxr-xr-xrb/test/Ice/slicing/objects/Client.rb2
-rw-r--r--rb/test/Ice/slicing/objects/ClientPrivate.ice2
-rw-r--r--rb/test/Ice/slicing/objects/Forward.ice2
-rw-r--r--rb/test/Ice/slicing/objects/Test.ice2
-rwxr-xr-xrb/test/Ice/slicing/objects/run.py24
-rw-r--r--rb/test/Ice/timeout/AllTests.rb2
-rwxr-xr-xrb/test/Ice/timeout/Client.rb2
-rw-r--r--rb/test/Ice/timeout/Test.ice2
-rwxr-xr-xrb/test/Ice/timeout/run.py24
-rwxr-xr-xrb/test/Slice/keyword/Client.rb2
-rw-r--r--rb/test/Slice/keyword/Key.ice2
-rwxr-xr-xrb/test/Slice/keyword/run.py36
-rwxr-xr-xscripts/Expect.py (renamed from demoscript/Expect.py)48
-rw-r--r--scripts/IceGridAdmin.py (renamed from config/IceGridAdmin.py)113
-rw-r--r--scripts/IceStormUtil.py (renamed from config/IceStormUtil.py)107
-rwxr-xr-xscripts/TestUtil.py (renamed from config/TestUtil.py)1149
-rw-r--r--scripts/__init__.py10
-rw-r--r--scripts/subprocess.py (renamed from demoscript/subprocess.py)12
-rw-r--r--slice/Freeze/BackgroundSaveEvictor.ice2
-rw-r--r--slice/Freeze/CatalogData.ice2
-rw-r--r--slice/Freeze/Connection.ice2
-rw-r--r--slice/Freeze/ConnectionF.ice2
-rw-r--r--slice/Freeze/DB.ice2
-rw-r--r--slice/Freeze/Evictor.ice2
-rw-r--r--slice/Freeze/EvictorF.ice2
-rw-r--r--slice/Freeze/EvictorStorage.ice2
-rw-r--r--slice/Freeze/Exception.ice2
-rw-r--r--slice/Freeze/Transaction.ice2
-rw-r--r--slice/Freeze/TransactionalEvictor.ice2
-rw-r--r--slice/Glacier2/PermissionsVerifier.ice2
-rw-r--r--slice/Glacier2/PermissionsVerifierF.ice2
-rw-r--r--slice/Glacier2/Router.ice2
-rw-r--r--slice/Glacier2/RouterF.ice2
-rw-r--r--slice/Glacier2/SSLInfo.ice2
-rw-r--r--slice/Glacier2/Session.ice2
-rw-r--r--slice/Glacier2/SessionF.ice2
-rw-r--r--slice/Ice/BuiltinSequences.ice2
-rw-r--r--slice/Ice/Communicator.ice4
-rw-r--r--slice/Ice/CommunicatorF.ice2
-rw-r--r--slice/Ice/Connection.ice2
-rw-r--r--slice/Ice/ConnectionF.ice2
-rw-r--r--slice/Ice/Current.ice2
-rw-r--r--slice/Ice/Endpoint.ice2
-rw-r--r--slice/Ice/FacetMap.ice2
-rw-r--r--slice/Ice/Identity.ice2
-rw-r--r--slice/Ice/ImplicitContext.ice2
-rw-r--r--slice/Ice/ImplicitContextF.ice2
-rw-r--r--slice/Ice/LocalException.ice4
-rw-r--r--slice/Ice/Locator.ice2
-rw-r--r--slice/Ice/LocatorF.ice2
-rw-r--r--slice/Ice/Logger.ice2
-rw-r--r--slice/Ice/LoggerF.ice2
-rw-r--r--slice/Ice/ObjectAdapter.ice14
-rw-r--r--slice/Ice/ObjectAdapterF.ice2
-rw-r--r--slice/Ice/ObjectFactory.ice2
-rw-r--r--slice/Ice/ObjectFactoryF.ice2
-rw-r--r--slice/Ice/Plugin.ice42
-rw-r--r--slice/Ice/PluginF.ice2
-rw-r--r--slice/Ice/Process.ice2
-rw-r--r--slice/Ice/ProcessF.ice2
-rw-r--r--slice/Ice/Properties.ice2
-rw-r--r--slice/Ice/PropertiesF.ice2
-rw-r--r--slice/Ice/Router.ice2
-rw-r--r--slice/Ice/RouterF.ice2
-rw-r--r--slice/Ice/ServantLocator.ice2
-rw-r--r--slice/Ice/ServantLocatorF.ice2
-rw-r--r--slice/Ice/SliceChecksumDict.ice2
-rw-r--r--slice/Ice/Stats.ice2
-rw-r--r--slice/Ice/StatsF.ice2
-rw-r--r--slice/IceBox/IceBox.ice2
-rw-r--r--slice/IceGrid/Admin.ice2
-rw-r--r--slice/IceGrid/Descriptor.ice2
-rw-r--r--slice/IceGrid/Exception.ice2
-rw-r--r--slice/IceGrid/FileParser.ice2
-rw-r--r--slice/IceGrid/Locator.ice2
-rw-r--r--slice/IceGrid/Observer.ice8
-rw-r--r--slice/IceGrid/Query.ice2
-rw-r--r--slice/IceGrid/Registry.ice2
-rw-r--r--slice/IceGrid/Session.ice2
-rw-r--r--slice/IceGrid/UserAccountMapper.ice2
-rw-r--r--slice/IcePatch2/FileInfo.ice2
-rw-r--r--slice/IcePatch2/FileServer.ice2
-rw-r--r--slice/IceStorm/IceStorm.ice2
-rw-r--r--vb/CHANGES8
-rw-r--r--vb/Makefile.mak2
-rwxr-xr-xvb/allDemos.py6
-rw-r--r--vb/config/Make.rules.mak.vb2
-rw-r--r--vb/demo/Glacier2/Makefile.mak2
-rw-r--r--vb/demo/Glacier2/callback/Callback.ice2
-rw-r--r--vb/demo/Glacier2/callback/CallbackI.vb2
-rw-r--r--vb/demo/Glacier2/callback/CallbackReceiverI.vb2
-rw-r--r--vb/demo/Glacier2/callback/Client.vb2
-rw-r--r--vb/demo/Glacier2/callback/Makefile.mak2
-rw-r--r--vb/demo/Glacier2/callback/Server.vb2
-rw-r--r--vb/demo/Glacier2/callback/SessionI.vb2
-rw-r--r--vb/demo/Glacier2/callback/SessionManagerI.vb2
-rw-r--r--vb/demo/Glacier2/callback/SessionServer.vb2
-rwxr-xr-xvb/demo/Glacier2/callback/expect.py2
-rw-r--r--vb/demo/Ice/Makefile.mak2
-rw-r--r--vb/demo/Ice/async/Client.vb2
-rw-r--r--vb/demo/Ice/async/Hello.ice2
-rw-r--r--vb/demo/Ice/async/HelloI.vb2
-rw-r--r--vb/demo/Ice/async/Makefile.mak2
-rw-r--r--vb/demo/Ice/async/Server.vb2
-rw-r--r--vb/demo/Ice/async/WorkQueue.vb2
-rwxr-xr-xvb/demo/Ice/async/expect.py2
-rw-r--r--vb/demo/Ice/bidir/Callback.ice2
-rw-r--r--vb/demo/Ice/bidir/CallbackReceiverI.vb2
-rw-r--r--vb/demo/Ice/bidir/CallbackSenderI.vb2
-rw-r--r--vb/demo/Ice/bidir/Client.vb2
-rw-r--r--vb/demo/Ice/bidir/Makefile.mak2
-rw-r--r--vb/demo/Ice/bidir/Server.vb2
-rwxr-xr-xvb/demo/Ice/bidir/expect.py2
-rw-r--r--vb/demo/Ice/callback/Callback.ice2
-rw-r--r--vb/demo/Ice/callback/CallbackReceiverI.vb2
-rw-r--r--vb/demo/Ice/callback/CallbackSenderI.vb2
-rw-r--r--vb/demo/Ice/callback/Client.vb2
-rw-r--r--vb/demo/Ice/callback/Makefile.mak2
-rw-r--r--vb/demo/Ice/callback/Server.vb2
-rwxr-xr-xvb/demo/Ice/callback/expect.py2
-rw-r--r--vb/demo/Ice/hello/Client.vb2
-rw-r--r--vb/demo/Ice/hello/Hello.ice2
-rw-r--r--vb/demo/Ice/hello/HelloI.vb2
-rw-r--r--vb/demo/Ice/hello/Makefile.mak2
-rw-r--r--vb/demo/Ice/hello/Server.vb2
-rw-r--r--vb/demo/Ice/hello/config.server2
-rwxr-xr-xvb/demo/Ice/hello/expect.py6
-rw-r--r--vb/demo/Ice/invoke/Client.vb2
-rw-r--r--vb/demo/Ice/invoke/Makefile.mak2
-rw-r--r--vb/demo/Ice/invoke/Printer.ice2
-rw-r--r--vb/demo/Ice/invoke/PrinterI.vb2
-rw-r--r--vb/demo/Ice/invoke/Server.vb2
-rwxr-xr-xvb/demo/Ice/invoke/expect.py2
-rw-r--r--vb/demo/Ice/latency/Client.vb2
-rw-r--r--vb/demo/Ice/latency/Latency.ice2
-rw-r--r--vb/demo/Ice/latency/Makefile.mak2
-rw-r--r--vb/demo/Ice/latency/Server.vb2
-rwxr-xr-xvb/demo/Ice/latency/expect.py2
-rw-r--r--vb/demo/Ice/minimal/Client.vb2
-rw-r--r--vb/demo/Ice/minimal/Hello.ice2
-rw-r--r--vb/demo/Ice/minimal/HelloI.vb2
-rw-r--r--vb/demo/Ice/minimal/Makefile.mak2
-rw-r--r--vb/demo/Ice/minimal/Server.vb2
-rwxr-xr-xvb/demo/Ice/minimal/expect.py2
-rw-r--r--vb/demo/Ice/nested/Client.vb2
-rw-r--r--vb/demo/Ice/nested/Makefile.mak2
-rw-r--r--vb/demo/Ice/nested/Nested.ice2
-rw-r--r--vb/demo/Ice/nested/NestedI.vb2
-rw-r--r--vb/demo/Ice/nested/Server.vb2
-rwxr-xr-xvb/demo/Ice/nested/expect.py2
-rw-r--r--vb/demo/Ice/session/Client.vb2
-rw-r--r--vb/demo/Ice/session/HelloI.vb2
-rw-r--r--vb/demo/Ice/session/Makefile.mak2
-rw-r--r--vb/demo/Ice/session/ReapThread.vb2
-rw-r--r--vb/demo/Ice/session/Server.vb2
-rw-r--r--vb/demo/Ice/session/Session.ice2
-rw-r--r--vb/demo/Ice/session/SessionFactoryI.vb2
-rw-r--r--vb/demo/Ice/session/SessionI.vb2
-rwxr-xr-xvb/demo/Ice/session/expect.py2
-rw-r--r--vb/demo/Ice/throughput/Client.vb2
-rw-r--r--vb/demo/Ice/throughput/Makefile.mak2
-rw-r--r--vb/demo/Ice/throughput/Server.vb2
-rw-r--r--vb/demo/Ice/throughput/Throughput.ice2
-rw-r--r--vb/demo/Ice/throughput/ThroughputI.vb2
-rwxr-xr-xvb/demo/Ice/throughput/expect.py2
-rw-r--r--vb/demo/Ice/value/Client.vb2
-rw-r--r--vb/demo/Ice/value/DerivedPrinterI.vb2
-rw-r--r--vb/demo/Ice/value/InitialI.vb4
-rw-r--r--vb/demo/Ice/value/Makefile.mak2
-rw-r--r--vb/demo/Ice/value/ObjectFactory.vb2
-rw-r--r--vb/demo/Ice/value/PrinterI.vb2
-rw-r--r--vb/demo/Ice/value/Server.vb2
-rw-r--r--vb/demo/Ice/value/Value.ice4
-rwxr-xr-xvb/demo/Ice/value/expect.py2
-rw-r--r--vb/demo/IceBox/Makefile.mak2
-rw-r--r--vb/demo/IceBox/hello/Client.vb2
-rw-r--r--vb/demo/IceBox/hello/Hello.ice2
-rw-r--r--vb/demo/IceBox/hello/HelloI.vb2
-rw-r--r--vb/demo/IceBox/hello/HelloServiceI.vb2
-rw-r--r--vb/demo/IceBox/hello/Makefile.mak2
-rw-r--r--vb/demo/IceBox/hello/config.client2
-rw-r--r--vb/demo/IceBox/hello/config.icebox2
-rw-r--r--vb/demo/IceBox/hello/config.service2
-rwxr-xr-xvb/demo/IceBox/hello/expect.py17
-rw-r--r--vb/demo/IceGrid/Makefile.mak2
-rw-r--r--vb/demo/IceGrid/simple/Client.vb2
-rw-r--r--vb/demo/IceGrid/simple/Hello.ice2
-rw-r--r--vb/demo/IceGrid/simple/HelloI.vb2
-rw-r--r--vb/demo/IceGrid/simple/Makefile.mak2
-rw-r--r--vb/demo/IceGrid/simple/Server.vb2
-rw-r--r--vb/demo/IceGrid/simple/application.xml2
-rw-r--r--vb/demo/IceGrid/simple/application_with_replication.xml2
-rw-r--r--vb/demo/IceGrid/simple/application_with_template.xml2
-rwxr-xr-xvb/demo/IceGrid/simple/expect.py2
-rw-r--r--vb/demo/IceStorm/Makefile.mak2
-rw-r--r--vb/demo/IceStorm/clock/Clock.ice2
-rw-r--r--vb/demo/IceStorm/clock/Makefile.mak2
-rw-r--r--vb/demo/IceStorm/clock/Publisher.vb2
-rw-r--r--vb/demo/IceStorm/clock/Subscriber.vb2
-rwxr-xr-xvb/demo/IceStorm/clock/expect.py2
-rw-r--r--vb/demo/Makefile.mak2
-rw-r--r--vb/demo/book/Makefile.mak2
-rw-r--r--vb/demo/book/printer/Client.vb2
-rw-r--r--vb/demo/book/printer/Makefile.mak2
-rw-r--r--vb/demo/book/printer/Printer.ice2
-rw-r--r--vb/demo/book/printer/Server.vb2
-rwxr-xr-xvb/demo/book/printer/expect.py2
-rw-r--r--vb/demo/book/simple_filesystem/Filesystem.ice2
-rw-r--r--vb/demo/book/simple_filesystem/Makefile.mak2
-rwxr-xr-xvb/demo/book/simple_filesystem/expect.py2
4227 files changed, 54632 insertions, 14468 deletions
diff --git a/CHANGES b/CHANGES
index 905e0e4e410..ae0b8ca51fb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -19,25 +19,100 @@ subdirectory of each language mapping (e.g., cpp/CHANGES).
Changes since version 3.3.0
======================================================================
+
+General Changes
+===============
+
+- Added support for updating locator cache endpoints in the background
+ if the new Ice.BackgroundLocatorCacheUpdates property is set to 1.
+
+ Locator cache updates are triggered if the proxy locator cache
+ timeout is configured and the cached endpoints are older than the
+ configured timeout.
+
+ By default, locator cache updates are performed before making an
+ invocation, delaying the invocation until the new endpoints are
+ retrieved from the locator. With this feature enabled, the locator
+ cache updates are performed in the background and the invocation
+ that triggered the update uses the previously cached endpoints.
+
+- Optimized the Ice client run time to minimize locator requests when
+ multiple concurrent or AMI requests need to resolve the endpoints of
+ the same well-known object, object adapter, or replica group.
+
+- Fixed a bug in IceGrid that would cause it to generate incorrect
+ config files for servers whose ice-version was set to a version
+ previous to Ice 3.3.0.
+
+- Fixed a bug in the Slice translators that prevented them from being
+ run from a directory without write permissions, even if no output
+ files were being written to the directory.
+
+- Fixed a bug where retried AMI calls could cause the timer thread to
+ print an error message if the retry failed and if Ice.RetryIntervals
+ was configured with non-zero time intervals.
+
+- All error output from the slice compilers now goes to stderr.
+
+
C++ Changes
===========
+- Fixed a bug in IceSSL where the IceSSL.CheckCertName property did
+ not have any effect.
+
+- Fixed a bug in the IceGrid locator implementation that could cause
+ the registry to crash when resolving the endpoints of a replica
+ group and if some servers were activating.
+
+- Fixed icegridadmin `service list' command crash.
+
- Fixed a bug where slice2cpp would generate absolute include paths
if the command line option "-I." was used.
-- Fixed Freeze transactional evictor bug which could cause the
+- Fixed a Freeze transactional evictor bug that could cause the
transaction of an asynchronous method dispatch to be rolled back if
rollback on user exception was enabled.
-- Fixed a bug which could cause the first invocation on a proxy to
+- Fixed a bug that could cause the first invocation on a proxy to
incorrectly be sent compressed or not compressed.
+
+Java Changes
+============
+
+- Added methods to the IceSSL plug-in to allow keystores, truststores,
+ and RNG seeds to be specified using input streams.
+
+- Fixed the IceSSL.ConnectionInfo type so that the "incoming" and
+ "adapterName" members are public.
+
+- Added applet demo.
+
+
+C# Changes
+==========
+
+- Changed the Ice runtime to not rely anymore on .NET worker threads
+ to start asynchronous IO operations.
+
+- Fixed a bug in slice2cs that caused a core dump if a dictionary
+ had a value type of Object.
+
+
Python Changes
==============
+- Fixed bugs in getImplicitContext related to using it when an
+ implicit context had not been set.
+
+- Fixed bugs in stringToProxy and propertyToProxy related to null
+ proxies.
+
- Ice.getSliceDir() now only searches for the slice directory in
a standard Ice installation.
+
Ruby Changes
============
@@ -45,6 +120,23 @@ Ruby Changes
in a standard Ice installation.
+PHP Changes
+===========
+
+- It is now possible to specify multiple Slice files in your profile
+ configuration that have common include files. For example, if A.ice
+ and B.ice both include Common.ice, you can now do the following:
+
+ ice.slice=-I. A.ice B.ice
+
+ In previous releases this would have caused a redefinition error,
+ which you could work around by creating a single Slice file that
+ included both A.ice and B.ice. This workaround is no longer
+ necessary.
+
+- Fixed bugs in the ice_router and ice_locator proxy methods.
+
+
======================================================================
Changes since version 3.2.1
======================================================================
@@ -379,7 +471,7 @@ noted.
- The ability to install a logger via the Ice.LoggerPlugin property
has been removed. The new mechanism requires that you create an
- instance of the Ice::LoggerPlugin class in your plugin factory.
+ instance of the Ice::LoggerPlugin class in your plug-in factory.
Please see the manual for more details.
- It is no longer possible to provide input files on the command line
@@ -416,7 +508,7 @@ C++ Changes
custom string converter and/or wstring converter during communicator
initialization.
-- The Ice shared library now provides a string converter plugin
+- The Ice shared library now provides a string converter plug-in
factory: createStringConverter. See the Ice manual for details.
- IceUtil::stringToWstring and IceUtil::wstringToString now take
@@ -709,7 +801,7 @@ Python Changes
8-bit strings.
- Added new Ice/converter demo to illustrate how to use the new Ice
- for C++ string converter plugin. This demo is very similar to the
+ for C++ string converter plug-in. This demo is very similar to the
C++ demo.
- Fixed a deadlock bug that could occur when a multithreaded client
diff --git a/FixUtil.py b/FixUtil.py
index 2301fabbe2e..a38e8c210d7 100755
--- a/FixUtil.py
+++ b/FixUtil.py
@@ -3,19 +3,11 @@
import os, sys, shutil, fnmatch, re, glob, getopt
from stat import *
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
def copyright(commentMark, patchIceE):
result = [ ]
result.append(commentMark + " **********************************************************************\n")
result.append(commentMark + "\n")
- result.append(commentMark + " Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n")
+ result.append(commentMark + " Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n")
result.append(commentMark + "\n")
if patchIceE == True:
result.append(commentMark + " This copy of Ice-E is licensed to you under the terms described in the\n")
@@ -27,9 +19,14 @@ def copyright(commentMark, patchIceE):
result.append(commentMark + " **********************************************************************\n")
return result
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
-# Replace one copyright
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
#
+# **********************************************************************
def replaceCopyright(file, commentMark, commentBegin, commentEnd, newCopyrightLines):
oldFile = open(file, "r")
oldLines = oldFile.readlines()
diff --git a/ICE_LICENSE b/ICE_LICENSE
index c435f58097a..8bbb48dbb55 100644
--- a/ICE_LICENSE
+++ b/ICE_LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
This copy of Ice is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
diff --git a/Makefile b/Makefile
index 03e61ca875c..a7259d2f1b8 100644
--- a/Makefile
+++ b/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/Makefile.mak b/Makefile.mak
index 5abfa47a74a..68579248c81 100644
--- a/Makefile.mak
+++ b/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/RELEASE_NOTES b/RELEASE_NOTES
index 81481a6993f..7054d2dee34 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -34,6 +34,7 @@ Table of Contents
5. Upgrading your application
- Migrating IceStorm databases
- Migrating IceGrid databases
+ - Migrating Freeze databases
- Removed APIs
- Deprecated APIs
6. Platform specific notes
@@ -469,7 +470,7 @@ distribution.
hello = (HelloPrx)hello.ice_oneway();
-* The IceSSL plugins for Java and .NET now support a password callback
+* The IceSSL plug-ins for Java and .NET now support a password callback
interface. You can also specify the class name of a certificate
verifier or password callback via configuration properties.
@@ -504,7 +505,7 @@ distribution.
* It is now possible to use UNC paths on Windows in the configuration
of Ice services.
-* A string converter plugin has been added to Ice for C++, which is
+* A string converter plug-in has been added to Ice for C++, which is
particularly useful for the scripting language extensions.
* Ice for Python now accepts Unicode objects as arguments to remote
@@ -677,6 +678,51 @@ IceGrid administrative GUI to ensure that the database is correct. If
everything looks fine, you can shutdown and restart the master
registry without the --readonly option.
+Migrating Freeze Databases
+--------------------------
+
+There is no special Freeze procedure or Freeze tool to perform this
+upgrade. Freeze is still storing exactly the same data, in the same format.
+
+However, we upgraded the version of Berkeley DB, and as a result when
+upgrading from Ice 3.2 to Ice 3.3, you have to upgrade your database
+from the "Berkeley DB 4.5" format to the new "Berkeley DB 4.6" format.
+
+This is fortunately straightforward, since the only relevant format change
+for Freeze was the log format change.
+
+From the Berkeley DB Upgrade Process:
+
+ http://www.oracle.com/technology/documentation/berkeley-db/db/ref/upgrade/process.html
+
+If the application has a Berkeley DB transactional environment, and the
+log files need upgrading but the databases do not, the application may be
+installed in the field using the following steps:
+
+ 1. Shut down the old version of the application.
+
+ 2. Still using the old version of Berkeley DB, run recovery on the database
+ environment using the DB_ENV->open method or the db_recover utility.
+
+ 3. If you used the DB_ENV->open method to run recovery, make sure that the
+ Berkeley DB environment is removed using the DB_ENV->remove method or
+ an appropriate system utility.
+
+ 4. Archive the database environment for catastrophic recovery.
+ See Archival procedures for more information.
+
+ 5. Recompile and install the new version of the application.
+
+ 6. Force a checkpoint using the DB_ENV->txn_checkpoint method or
+ the db_checkpoint utility. If you use the db_checkpoint utility, make sure
+ to use the new version of the utility; that is, the version that came with
+ the release of Berkeley DB to which you are upgrading.
+
+ 7. Restart the application.
+
+Is recommend to use the db_ utilities, and not write your own upgrade program!
+
+
Removed APIs
------------
diff --git a/allDemos.py b/allDemos.py
index cffe71f303e..962a08784fc 100755
--- a/allDemos.py
+++ b/allDemos.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/allTests.py b/allTests.py
index 7cdc8cc6de3..1915df6d94e 100755
--- a/allTests.py
+++ b/allTests.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.
@@ -10,8 +10,8 @@
import os, sys, imp
-sys.path.append(os.path.join(os.path.dirname(__file__), "config"))
-import TestUtil
+sys.path.append(os.path.join(os.path.dirname(__file__)))
+from scripts import *
testGroups = []
diff --git a/certs/makecerts.py b/certs/makecerts.py
index 6809cbd253f..6585545d8fe 100755
--- a/certs/makecerts.py
+++ b/certs/makecerts.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/certs/openssl/client.cnf b/certs/openssl/client.cnf
index 52e420a399f..9033e9eb5cb 100644
--- a/certs/openssl/client.cnf
+++ b/certs/openssl/client.cnf
@@ -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/certs/openssl/ice_ca.cnf b/certs/openssl/ice_ca.cnf
index d791a00a97e..3f3ab83f0c2 100644
--- a/certs/openssl/ice_ca.cnf
+++ b/certs/openssl/ice_ca.cnf
@@ -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/certs/openssl/server.cnf b/certs/openssl/server.cnf
index 87fee4b438d..fecae519ced 100644
--- a/certs/openssl/server.cnf
+++ b/certs/openssl/server.cnf
@@ -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/config/Make.common.rules b/config/Make.common.rules
index abf92ee6cbe..88fb0450832 100644
--- a/config/Make.common.rules
+++ b/config/Make.common.rules
@@ -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 @@
SHELL = /bin/sh
VERSION_MAJOR = 3
VERSION_MINOR = 3
-VERSION = 3.3.0
+VERSION = 3.3.1
SHORT_VERSION = 3.3
SOVERSION = 33
@@ -295,7 +295,7 @@ ifeq ($(installprogram),)
endif
ifeq ($(mkdir),)
- mkdir = mkdir $(1) ; \
+ mkdir = mkdir $(1) $(2); \
chmod a+rx $(1)
endif
@@ -305,13 +305,13 @@ install-common::
@if test ! -d $(prefix) ; \
then \
echo "Creating $(prefix)..." ; \
- $(call mkdir,$(prefix)) ; \
+ $(call mkdir,$(prefix), -p) ; \
fi
@if test ! -d $(install_slicedir) ; \
then \
echo "Creating $(install_slicedir)..." ; \
- $(call mkdir,$(install_slicedir)) ; \
+ $(call mkdir, $(install_slicedir)) ; \
cd $(top_srcdir)/../slice ; \
for subdir in * ; \
do \
diff --git a/config/Make.common.rules.mak b/config/Make.common.rules.mak
index 5553f8abefb..70439976b94 100644
--- a/config/Make.common.rules.mak
+++ b/config/Make.common.rules.mak
@@ -1,159 +1,159 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-# ----------------------------------------------------------------------
-# Don't change anything below this line!
-# ----------------------------------------------------------------------
-
-SHELL = /bin/sh
-VERSION = 3.3.0
-INTVERSION = 3.3.0
-SHORT_VERSION = 3.3
-SOVERSION = 33
-
-OBJEXT = .obj
-
-#
-# Ensure ice_language has been set by the file that includes this one.
-#
-!if "$(ice_language)" == ""
-!error ice_language must be defined
-!endif
-
-!if "$(USE_BIN_DIST)" == "yes"
-ice_bin_dist = 1
-!endif
-
-!if "$(AS)" == "ml64" || "$(XTARGET)" == "x64"
-x64suffix = \x64
-!endif
-
-#
-# The following variables might also be defined:
-#
-# - slice_translator: the name of the slice translator required for the build.
-# Setting this variable is required when building source trees other than the
-# the source distribution (e.g.: the demo sources).
-#
-# - ice_require_cpp: define this variable to check for the presence of the C++
-# dev kit and check for the existence of the include/Ice/Config.h header.
-#
-
-#
-# First, check if we're building a source distribution.
-#
-# If building from a source distribution, ice_dir is defined to the
-# top-level directory of the source distribution and ice_cpp_dir is
-# defined to the directory containing the C++ binaries and headers to
-# use to build the sources.
-#
-!if "$(ice_bin_dist)" == "" && exist ($(top_srcdir)\..\$(ice_language))
-
-ice_dir = $(top_srcdir)\..
-ice_src_dist = 1
-
-#
-# When building a source distribution, if ICE_HOME is specified, it takes precedence over
-# the source tree for building the language mappings. For example, this can be used to
-# build the Python language mapping using the translators from the distribution specified
-# by ICE_HOME.
-#
-!if "$(ICE_HOME)" != ""
-
-!if "$(slice_translator)" != ""
-!if !exist ($(ICE_HOME)\bin$(x64suffix)\$(slice_translator))
-!error Unable to find $(slice_translator) in $(ICE_HOME)\bin$(x64suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.
-!endif
-!if exist ($(ice_dir)\cpp\bin\$(slice_translator))
-!message Found $(slice_translator) in both ICE_HOME\bin and $(ice_dir)\cpp\bin, ICE_HOME\bin\$(slice_translator) will be used!
-!endif
-ice_cpp_dir = $(ICE_HOME)
-!else
-!message Ignoring ICE_HOME environment variable to build current source tree.
-ice_cpp_dir = $(ice_dir)\cpp
-!endif
-
-!else
-
-ice_cpp_dir = $(ice_dir)\cpp
-
-!endif
-
-!endif
-
-#
-# Then, check if we're building against a binary distribution.
-#
-!if "$(ice_src_dist)" == ""
-
-!if "$(slice_translator)" == ""
-!error slice_translator must be defined
-!endif
-
-!if "$(ICE_HOME)" != ""
-!if !exist ($(ICE_HOME)\bin$(x64suffix)\$(slice_translator))
-!error Unable to find $(slice_translator) in $(ICE_HOME)\bin$(x64suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.
-!endif
-ice_dir = $(ICE_HOME)
-!elseif exist ($(top_srcdir)/bin/$(slice_translator))
-ice_dir = $(top_srcdir)
-!elseif exist ("C:\Ice-$(VERSION)\bin$(x64suffix)\$(slice_translator)")
-ice_dir = C:\Ice-$(VERSION)
-!endif
-
-!if "$(ice_dir)" == ""
-!error Unable to find a valid Ice distribution, please verify ICE_HOME is properly configured and Ice is correctly installed.
-!endif
-ice_bin_dist = 1
-ice_cpp_dir = $(ice_dir)
-!endif
-
-#
-# If ice_require_cpp is defined, ensure the C++ headers exist
-#
-!if "$(ice_require_cpp)" == "yes"
-!if "$(ice_src_dist)" != ""
-ice_cpp_header = $(ice_cpp_dir)\include\Ice\Ice.h
-!else
-ice_cpp_header = $(ice_dir)\include\Ice\Ice.h
-!endif
-!if !exist ($(ice_cpp_header))
-!error Unable to find the C++ header file $(ice_cpp_header), please verify ICE_HOME is properly configured and Ice is correctly installed.
-!endif
-!endif
-
-#
-# Set slicedir to the path of the directory containing the Slice files.
-#
-slicedir = $(ice_dir)\slice
-
-!if exist ($(top_srcdir)\..\slice)
-install_slicedir = $(prefix)\slice
-!endif
-
-all::
-
-install-common::
- @if not exist $(prefix) \
- @echo "Creating $(prefix)..." && \
- mkdir $(prefix)
-
-!if "$(install_slicedir)" != ""
- @if not exist $(install_slicedir) \
- @echo "Creating $(install_slicedir)..." && \
- mkdir $(install_slicedir)
- @echo "Copying slice files..." && \
- cmd /c "xcopy /s /y $(top_srcdir)\..\slice $(install_slicedir)" || exit 1
-!endif
-
- @if exist $(top_srcdir)\..\ICE_LICENSE \
- @copy ..\ICE_LICENSE $(prefix)
- @if exist $(top_srcdir)\..\LICENSE \
- @copy ..\LICENSE $(prefix)
-
+# **********************************************************************
+#
+# 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.
+#
+# **********************************************************************
+
+# ----------------------------------------------------------------------
+# Don't change anything below this line!
+# ----------------------------------------------------------------------
+
+SHELL = /bin/sh
+VERSION = 3.3.1
+INTVERSION = 3.3.1
+SHORT_VERSION = 3.3
+SOVERSION = 33
+
+OBJEXT = .obj
+
+#
+# Ensure ice_language has been set by the file that includes this one.
+#
+!if "$(ice_language)" == ""
+!error ice_language must be defined
+!endif
+
+!if "$(USE_BIN_DIST)" == "yes"
+ice_bin_dist = 1
+!endif
+
+!if "$(AS)" == "ml64" || "$(XTARGET)" == "x64"
+x64suffix = \x64
+!endif
+
+#
+# The following variables might also be defined:
+#
+# - slice_translator: the name of the slice translator required for the build.
+# Setting this variable is required when building source trees other than the
+# the source distribution (e.g.: the demo sources).
+#
+# - ice_require_cpp: define this variable to check for the presence of the C++
+# dev kit and check for the existence of the include/Ice/Config.h header.
+#
+
+#
+# First, check if we're building a source distribution.
+#
+# If building from a source distribution, ice_dir is defined to the
+# top-level directory of the source distribution and ice_cpp_dir is
+# defined to the directory containing the C++ binaries and headers to
+# use to build the sources.
+#
+!if "$(ice_bin_dist)" == "" && exist ($(top_srcdir)\..\$(ice_language))
+
+ice_dir = $(top_srcdir)\..
+ice_src_dist = 1
+
+#
+# When building a source distribution, if ICE_HOME is specified, it takes precedence over
+# the source tree for building the language mappings. For example, this can be used to
+# build the Python language mapping using the translators from the distribution specified
+# by ICE_HOME.
+#
+!if "$(ICE_HOME)" != ""
+
+!if "$(slice_translator)" != ""
+!if !exist ($(ICE_HOME)\bin$(x64suffix)\$(slice_translator))
+!error Unable to find $(slice_translator) in $(ICE_HOME)\bin$(x64suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.
+!endif
+!if exist ($(ice_dir)\cpp\bin\$(slice_translator))
+!message Found $(slice_translator) in both ICE_HOME\bin and $(ice_dir)\cpp\bin, ICE_HOME\bin\$(slice_translator) will be used!
+!endif
+ice_cpp_dir = $(ICE_HOME)
+!else
+!message Ignoring ICE_HOME environment variable to build current source tree.
+ice_cpp_dir = $(ice_dir)\cpp
+!endif
+
+!else
+
+ice_cpp_dir = $(ice_dir)\cpp
+
+!endif
+
+!endif
+
+#
+# Then, check if we're building against a binary distribution.
+#
+!if "$(ice_src_dist)" == ""
+
+!if "$(slice_translator)" == ""
+!error slice_translator must be defined
+!endif
+
+!if "$(ICE_HOME)" != ""
+!if !exist ($(ICE_HOME)\bin$(x64suffix)\$(slice_translator))
+!error Unable to find $(slice_translator) in $(ICE_HOME)\bin$(x64suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.
+!endif
+ice_dir = $(ICE_HOME)
+!elseif exist ($(top_srcdir)/bin/$(slice_translator))
+ice_dir = $(top_srcdir)
+!elseif exist ("C:\Ice-$(VERSION)\bin$(x64suffix)\$(slice_translator)")
+ice_dir = C:\Ice-$(VERSION)
+!endif
+
+!if "$(ice_dir)" == ""
+!error Unable to find a valid Ice distribution, please verify ICE_HOME is properly configured and Ice is correctly installed.
+!endif
+ice_bin_dist = 1
+ice_cpp_dir = $(ice_dir)
+!endif
+
+#
+# If ice_require_cpp is defined, ensure the C++ headers exist
+#
+!if "$(ice_require_cpp)" == "yes"
+!if "$(ice_src_dist)" != ""
+ice_cpp_header = $(ice_cpp_dir)\include\Ice\Ice.h
+!else
+ice_cpp_header = $(ice_dir)\include\Ice\Ice.h
+!endif
+!if !exist ($(ice_cpp_header))
+!error Unable to find the C++ header file $(ice_cpp_header), please verify ICE_HOME is properly configured and Ice is correctly installed.
+!endif
+!endif
+
+#
+# Set slicedir to the path of the directory containing the Slice files.
+#
+slicedir = $(ice_dir)\slice
+
+!if exist ($(top_srcdir)\..\slice)
+install_slicedir = $(prefix)\slice
+!endif
+
+all::
+
+install-common::
+ @if not exist $(prefix) \
+ @echo "Creating $(prefix)..." && \
+ mkdir $(prefix)
+
+!if "$(install_slicedir)" != ""
+ @if not exist $(install_slicedir) \
+ @echo "Creating $(install_slicedir)..." && \
+ mkdir $(install_slicedir)
+ @echo "Copying slice files..." && \
+ cmd /c "xcopy /s /y $(top_srcdir)\..\slice $(install_slicedir)" || exit 1
+!endif
+
+ @if exist $(top_srcdir)\..\ICE_LICENSE \
+ @copy ..\ICE_LICENSE $(prefix)
+ @if exist $(top_srcdir)\..\LICENSE \
+ @copy ..\LICENSE $(prefix)
+
diff --git a/config/PropertyNames.xml b/config/PropertyNames.xml
index 3e8ec9cd008..72556e5bf06 100644
--- a/config/PropertyNames.xml
+++ b/config/PropertyNames.xml
@@ -2,7 +2,7 @@
<!--
**********************************************************************
- 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.
@@ -299,6 +299,7 @@ generated from the section label.
<property name="Admin.Facets" />
<property name="Admin.InstanceName" />
<property name="Admin.ServerId" />
+ <property name="BackgroundLocatorCacheUpdates"/>
<property name="BatchAutoFlush" />
<property name="ChangeUser" />
<property name="Compression.Level" />
@@ -418,28 +419,50 @@ generated from the section label.
<property name="Registry.CryptPasswords" />
<property name="Registry.Data" />
<property name="Registry.DefaultTemplates" />
+ <property name="Registry.Discard.Interval"/>
<property name="Registry.DynamicRegistration" />
+ <property name="Registry.Election.ElectionTimeout"/>
+ <property name="Registry.Election.MasterTimeout"/>
+ <property name="Registry.Election.ResponseTimeout"/>
+ <property name="Registry.Flush.Timeout"/>
+ <property name="Registry.IceStormAdmin.TopicManager.Default"/>
+ <property name="Registry.IceStormAdmin.TopicManager.[any]"/>
+ <property name="Registry.InstanceName"/>
<property name="Registry.Internal" class="objectadapter" />
+ <property name="Registry.Node.[any]"/>
+ <property name="Registry.NodeId"/>
+ <property name="Registry.Nodes.id"/>
<property name="Registry.NodeSessionTimeout" />
<property name="Registry.PermissionsVerifier" class="proxy" />
+ <property name="Registry.Publish.[any]"/>
<property name="Registry.ReplicaName" />
<property name="Registry.ReplicaSessionTimeout" />
+ <property name="Registry.ReplicatedPublishEndpoints"/>
+ <property name="Registry.ReplicatedTopicManagerEndpoints"/>
+ <property name="Registry.Send.Timeout"/>
<property name="Registry.Server" class="objectadapter" />
<property name="Registry.SessionFilters" />
<property name="Registry.SessionManager" class="objectadapter" />
<property name="Registry.SessionTimeout" />
<property name="Registry.SSLPermissionsVerifier" class="proxy" />
+ <property name="Registry.TopicManager.[any]"/>
<property name="Registry.Trace.Application" />
<property name="Registry.Trace.Adapter" />
+ <property name="Registry.Trace.Election"/>
<property name="Registry.Trace.Locator" />
<property name="Registry.Trace.Node" />
<property name="Registry.Trace.Object" />
<property name="Registry.Trace.Patch" />
<property name="Registry.Trace.Replica" />
+ <property name="Registry.Trace.Replication"/>
<property name="Registry.Trace.Server" />
<property name="Registry.Trace.Session" />
+ <property name="Registry.Trace.Subscriber"/>
+ <property name="Registry.Trace.Topic"/>
+ <property name="Registry.Trace.TopicManager"/>
+ <property name="Registry.Transient"/>
<property name="Registry.UserAccounts" />
- </section>
+</section>
<section name="IcePatch2">
<property class="objectadapter" />
diff --git a/config/makedepend.py b/config/makedepend.py
index 1c573374dc6..65abe08c26b 100755
--- a/config/makedepend.py
+++ b/config/makedepend.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.
@@ -16,7 +16,7 @@ commentre = re.compile("^#")
for top_srcdir in [".", "..", "../..", "../../..", "../../../.."]:
top_srcdir = os.path.normpath(top_srcdir)
- if os.path.exists(os.path.join(top_srcdir, "..", "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(top_srcdir, "..", "config", "makedepend.py")):
break
else:
raise "can't find top level source directory!"
diff --git a/config/makeprops.py b/config/makeprops.py
index e4b0ec72d57..2937d551b41 100755
--- a/config/makeprops.py
+++ b/config/makeprops.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.
@@ -24,7 +24,7 @@ propertyClasses = {}
commonPreamble = """// **********************************************************************
//
-// 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/CHANGES b/cpp/CHANGES
index 5e18635b29d..3417871babe 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -66,8 +66,8 @@ Changes since version 3.2.0
base64 encoding.
This syntax is useful if, for example, a client that has the SSL
- plugin configured sends a proxy with an SSL endpoint to a server
- without the SSL plugin. Prior to this version, the server would
+ plug-in configured sends a proxy with an SSL endpoint to a server
+ without the SSL plug-in. Prior to this version, the server would
drop the unknown SSL endpoint when it stringified the proxy.
As of this version, the server preserves the endpoint and, when the server
stringifies a proxy containing an unknown endpoint, it uses the above opaque syntax.
@@ -677,7 +677,7 @@ Changes since version 3.0.1
- Added "always" and "session" activation modes to IceGrid. See the
Ice manual for more information.
-- Changed the entry point of the IceSSL plugin to be
+- Changed the entry point of the IceSSL plug-in to be
IceSSL:createIceSSL.
- Changed the entry point of the IceStorm service to be
@@ -816,11 +816,11 @@ Changes since version 3.0.1
proxies. Upgrading your clients to 3.1 is highly recommended to avoid
large routing table sizes in Glacier2.
-- Replaced the IceSSL plugin. The new plugin no longer uses an XML
+- Replaced the IceSSL plug-in. The new plug-in no longer uses an XML
configuration file but rather relies solely on properties. A Python
script is provided in config/convertssl.py to convert old XML files
to the new properties. See the Ice manual for more information on
- the plugin.
+ the plug-in.
- Added support for new Slice metadata ("cpp:type:wstring") that
generates code to use std::wstring instead of std::string. See the
diff --git a/cpp/INSTALL.HP-UX b/cpp/INSTALL.HP-UX
index b0e54c9c305..f3ae870364c 100644
--- a/cpp/INSTALL.HP-UX
+++ b/cpp/INSTALL.HP-UX
@@ -1,4 +1,11 @@
======================================================================
+Unsupported Platform
+======================================================================
+
+Ice is no longer supported on HP-UX. The following instructions are
+believed to be correct, but are provided without any guarantee.
+
+======================================================================
Requirements
======================================================================
@@ -35,7 +42,7 @@ Ice has dependencies on a number of third-party libraries:
- expat 1.95.7 or 2.0.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0.x
-- mcpp 2.7 with patch
+- mcpp 2.7.2
We recommend downloading the Ice third-party source archive from
@@ -156,3 +163,10 @@ location of the <prefix>/lib directory with the -L option.
If you built in 64-bit mode, the libraries are installed in
<prefix>/lib/pa20_64 and the binaries are installed in
<prefix>/bin/pa20_64. No other changes are necessary.
+
+======================================================================
+Usage
+======================================================================
+
+Ice is built with _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED defined;
+therefore all Ice-based programs need to be linked with -lxnet.
diff --git a/cpp/INSTALL.LINUX b/cpp/INSTALL.LINUX
index 9cd820a66a2..defb1fb5a78 100644
--- a/cpp/INSTALL.LINUX
+++ b/cpp/INSTALL.LINUX
@@ -46,7 +46,7 @@ Ice has dependencies on a number of third-party libraries:
- expat 1.95.7 or 2.0.1
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0.x
-- mcpp 2.7 with patch
+- mcpp 2.7.2
Some of these packages may have been included in your Linux
distribution. For those packages that are not installed or have an
diff --git a/cpp/INSTALL.MACOSX b/cpp/INSTALL.MACOSX
index 27de49b3a71..557c817ab01 100644
--- a/cpp/INSTALL.MACOSX
+++ b/cpp/INSTALL.MACOSX
@@ -26,7 +26,7 @@ Ice has dependencies on a number of third-party libraries:
- expat 1.95.7 or 2.0.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0.x
-- mcpp 2.7 with patch
+- mcpp 2.7.2
Some of these packages are included with your system. For those
packages that are not installed or have an older version than what
diff --git a/cpp/INSTALL.SOLARIS b/cpp/INSTALL.SOLARIS
index 8f503fc0e4f..c19cff36000 100644
--- a/cpp/INSTALL.SOLARIS
+++ b/cpp/INSTALL.SOLARIS
@@ -42,7 +42,7 @@ Ice has dependencies on a number of third-party libraries:
- expat 1.95.7 or 2.0.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0.x
-- mcpp 2.7 with patch
+- mcpp 2.7.2
We recommend downloading the Ice third-party source archive from
diff --git a/cpp/INSTALL.WINDOWS b/cpp/INSTALL.WINDOWS
index 3ad477a2045..4011bb917bb 100644
--- a/cpp/INSTALL.WINDOWS
+++ b/cpp/INSTALL.WINDOWS
@@ -157,7 +157,7 @@ Ice has dependencies on a number of third-party libraries:
- expat 2.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0
-- mcpp 2.7 with patch
+- mcpp 2.7.2
You do not need to build these packages yourself, as ZeroC supplies a
Windows installer for each supported compiler that contains release
@@ -285,6 +285,14 @@ like building Ice on x86. You just need need to perform the build in a
"Visual Studio x64 Win64 Command Prompt", and not in a regular "Visual
Studio 2005/2008 Command Prompt".
+You can also use the "Visual Studio x64 Cross Tools Command Prompt" if
+you set the following environment variable:
+
+> set XTARGET=x64
+
+Note that you must be using a Windows x64 platform when compiling a
+64-bit version of Ice.
+
======================================================================
Installation
@@ -292,12 +300,17 @@ Installation
Simply run "nmake /f Makefile.mak install". This will install Ice in
the directory specified by the "prefix" variable in
-config\Make.rules.mak. After installation, make sure that the
-<prefix>\bin directory is in your PATH. You must also add the include
-directory to the Visual C++ "Include files", the lib directory to the
-"Library files", and the bin directory to the "Executable files":
+config\Make.rules.mak.
+
+After installation, if you plan to use the Visual Studio IDE for your
+Ice project, make sure to add the bin directory to the Visual C++
+"Executable files", the include directory to the "Include files" and
+the lib directory to the "Library files" in the IDE:
* Visual C++ 6.0: Tools->Options->Directories
* Visual C++ 2005/2008: Tools->Options->Projects and Solutions->
VC++ Directories
+
+If you built Ice on x64, the binaries are installed in the bin\x64
+directory and the libraries are installed in the lib\x64 directory.
diff --git a/cpp/Makefile b/cpp/Makefile
index b58e2fb33f6..10e9aa3ad68 100644
--- a/cpp/Makefile
+++ b/cpp/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/Makefile.mak b/cpp/Makefile.mak
index 64c1359664b..5c4d4c5abf8 100644
--- a/cpp/Makefile.mak
+++ b/cpp/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/allDemos.py b/cpp/allDemos.py
index 0fe6c8f2991..cf7015fe9be 100755
--- a/cpp/allDemos.py
+++ b/cpp/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/cpp/allTests.py b/cpp/allTests.py
index 55eb3da068f..257a63c9da1 100755
--- a/cpp/allTests.py
+++ b/cpp/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
@@ -55,6 +55,7 @@ tests = [
("Ice/servantLocator", ["core"]),
("Ice/interceptor", ["core"]),
("Ice/stringConverter", ["core"]),
+ ("Ice/udp", ["core"]),
("IceSSL/configuration", ["once", "novalgrind"]), # valgrind doesn't work well with openssl
("IceBox/configuration", ["core", "noipv6"]),
("Freeze/dbmap", ["once"]),
@@ -79,6 +80,7 @@ tests = [
("IceGrid/replication", ["service"]),
("IceGrid/allocation", ["service"]),
("IceGrid/distribution", ["service"]),
+ ("IceGrid/admin", ["service"]),
("Glacier2/router", ["service"]),
("Glacier2/attack", ["service"]),
("Glacier2/sessionControl", ["service"]),
diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules
index 3ce7a2d32fb..7e3d9d1d5d6 100644
--- a/cpp/config/Make.rules
+++ b/cpp/config/Make.rules
@@ -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.
@@ -99,12 +99,6 @@ USE_READLINE ?= no
#
#GENPIC ?= yes
-#
-# Support for creating static libraries is currently provided only for
-# building the Ice-E translators.
-#
-#STATICLIBS = yes
-
# ----------------------------------------------------------------------
# Don't change anything below this line!
# ----------------------------------------------------------------------
diff --git a/cpp/config/Make.rules.AIX b/cpp/config/Make.rules.AIX
index c38c8d30756..3be4ff370b2 100644
--- a/cpp/config/Make.rules.AIX
+++ b/cpp/config/Make.rules.AIX
@@ -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/config/Make.rules.Darwin b/cpp/config/Make.rules.Darwin
index ed5df58f213..ab823fd0ee1 100644
--- a/cpp/config/Make.rules.Darwin
+++ b/cpp/config/Make.rules.Darwin
@@ -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/config/Make.rules.FreeBSD b/cpp/config/Make.rules.FreeBSD
index e10a8876df0..02fbc0d7c14 100644
--- a/cpp/config/Make.rules.FreeBSD
+++ b/cpp/config/Make.rules.FreeBSD
@@ -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/config/Make.rules.HP-UX b/cpp/config/Make.rules.HP-UX
index 6bf28f2dbd8..d9ac78bf882 100644
--- a/cpp/config/Make.rules.HP-UX
+++ b/cpp/config/Make.rules.HP-UX
@@ -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.
@@ -8,9 +8,17 @@
# **********************************************************************
#
-# This file is included by Make.rules when uname is HP-UX..
+# This file is included by Make.rules when uname is HP-UX.
#
+$(warning ===================================================================)
+$(warning HP-UX is currently an unsupported platform. The Ice team )
+$(warning no longer maintains HP-UX specific portions of the source code or )
+$(warning build system. Contact sales@zeroc.com if you wish to sponsor )
+$(warning official support.)
+$(warning ===================================================================)
+
+
CXX = aCC
ifeq ($(LP64),yes)
diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux
index 063ef25ab32..57cbf667361 100644
--- a/cpp/config/Make.rules.Linux
+++ b/cpp/config/Make.rules.Linux
@@ -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/config/Make.rules.OSF1 b/cpp/config/Make.rules.OSF1
index 318fa4071c0..0bb30173d92 100644
--- a/cpp/config/Make.rules.OSF1
+++ b/cpp/config/Make.rules.OSF1
@@ -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/config/Make.rules.SunOS b/cpp/config/Make.rules.SunOS
index 48e2f72eaf1..cfe7700ade5 100644
--- a/cpp/config/Make.rules.SunOS
+++ b/cpp/config/Make.rules.SunOS
@@ -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/config/Make.rules.bcc b/cpp/config/Make.rules.bcc
index 9e3c947ae92..c50f1919f84 100644
--- a/cpp/config/Make.rules.bcc
+++ b/cpp/config/Make.rules.bcc
@@ -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/config/Make.rules.mak b/cpp/config/Make.rules.mak
index f34defbf523..5075b91d97c 100644
--- a/cpp/config/Make.rules.mak
+++ b/cpp/config/Make.rules.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.
@@ -20,12 +20,6 @@ prefix = C:\Ice-$(VERSION)
#OPTIMIZE = yes
#
-# Define if you want to build the Ice-E/Ice-SL slice compilers with
-# static libraries.
-#
-#STATICLIBS = yes
-
-#
# Define if you want pdb files to be generated for optimized/release
# builds
#
diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc
index 4556401f458..6456821f445 100644
--- a/cpp/config/Make.rules.msvc
+++ b/cpp/config/Make.rules.msvc
@@ -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/config/Makefile b/cpp/config/Makefile
index c67e7b37cf2..68d9fddd961 100644
--- a/cpp/config/Makefile
+++ b/cpp/config/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/config/Makefile.mak b/cpp/config/Makefile.mak
index 589ef4ccc36..6be93d0c909 100644
--- a/cpp/config/Makefile.mak
+++ b/cpp/config/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/config/convertssl.py b/cpp/config/convertssl.py
index 43784992a50..c03a9aa0294 100755
--- a/cpp/config/convertssl.py
+++ b/cpp/config/convertssl.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.
@@ -10,7 +10,7 @@
#
# This script converts an XML configuration file for earlier versions of
-# the IceSSL plugin to the new property format in 3.1.
+# the IceSSL plug-in to the new property format in 3.1.
#
# Usage:
#
diff --git a/cpp/config/findSliceFiles.py b/cpp/config/findSliceFiles.py
index 7388f55282e..05df404df47 100644
--- a/cpp/config/findSliceFiles.py
+++ b/cpp/config/findSliceFiles.py
@@ -2,7 +2,7 @@
# **********************************************************************
#
-# 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/config/ice_ca.cnf b/cpp/config/ice_ca.cnf
index 668dd5b369a..39860e47017 100644
--- a/cpp/config/ice_ca.cnf
+++ b/cpp/config/ice_ca.cnf
@@ -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/config/makegitignore.py b/cpp/config/makegitignore.py
index e0e8db24274..255e78f12ae 100755
--- a/cpp/config/makegitignore.py
+++ b/cpp/config/makegitignore.py
@@ -1,14 +1,14 @@
#!/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.
#
# **********************************************************************
-import os, sys, shutil, fnmatch, re, time
+import os, sys, shutil, fnmatch, re, time, getopt
#
# NOTE: This scripts generates .gitignore files in directories
@@ -81,6 +81,31 @@ def createGitIgnore(filename, gitIgnoreFiles):
file.close()
+def usage():
+ print "Usage: " + sys.argv[0] + " [options]"
+ print
+ print "Options:"
+ print "-e Run for Ice-E."
+ print "-h Show this message."
+ print
+
+icee = False
+try:
+ opts, args = getopt.getopt(sys.argv[1:], "he")
+except getopt.GetoptError:
+ usage()
+ sys.exit(1)
+for o, a in opts:
+ if o == "-h":
+ usage()
+ sys.exit(0)
+ elif o == "-e":
+ icee = True
+if len(args) != 0:
+ usage()
+ sys.exit(1)
+
+
#
# Find where the root of the tree is.
#
@@ -92,8 +117,10 @@ else:
print("cannot find top-level directory")
sys.exit(1)
-makefiles = find(os.path.join(toplevel, "cpp"), "Makefile")
-makefiles = makefiles + find(os.path.join(toplevel, "cppe"), "Makefile")
+if icee:
+ makefiles = find(os.path.join(toplevel, "cppe"), "Makefile")
+else:
+ makefiles = find(os.path.join(toplevel, "cpp"), "Makefile")
cwd = os.getcwd()
gitIgnoreFiles = { }
for i in makefiles:
@@ -112,7 +139,6 @@ os.chdir(cwd)
excludePath = [ os.path.join(toplevel, "cpp", "bin"), os.path.join(toplevel, "cpp", "lib"), \
os.path.join(toplevel, "cppe", "bin"), os.path.join(toplevel, "cppe", "lib") ]
-print excludePath
for (path, files) in gitIgnoreFiles.iteritems():
if os.path.dirname(path) in excludePath:
continue
diff --git a/cpp/config/templates.xml b/cpp/config/templates.xml
index 1c5f9d3f95b..3f6212bee0a 100644
--- a/cpp/config/templates.xml
+++ b/cpp/config/templates.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/config/upgradeicegrid.py b/cpp/config/upgradeicegrid.py
index 6f924227527..e8113909afe 100755
--- a/cpp/config/upgradeicegrid.py
+++ b/cpp/config/upgradeicegrid.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/Database/Makefile b/cpp/demo/Database/Makefile
index c245ed784b4..127bc204179 100644
--- a/cpp/demo/Database/Makefile
+++ b/cpp/demo/Database/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/Database/Makefile.mak b/cpp/demo/Database/Makefile.mak
index 4dbbaff3e7e..1a170246dda 100644
--- a/cpp/demo/Database/Makefile.mak
+++ b/cpp/demo/Database/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/Database/Oracle/Makefile b/cpp/demo/Database/Oracle/Makefile
index 0d32eba1718..eb5e8530bf4 100644
--- a/cpp/demo/Database/Oracle/Makefile
+++ b/cpp/demo/Database/Oracle/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/Database/Oracle/Makefile.mak b/cpp/demo/Database/Oracle/Makefile.mak
index 9f682ebcff6..956a87dadc2 100644
--- a/cpp/demo/Database/Oracle/Makefile.mak
+++ b/cpp/demo/Database/Oracle/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/Database/Oracle/occi/Client.cpp b/cpp/demo/Database/Oracle/occi/Client.cpp
index 8488e96716b..61f88894ba4 100644
--- a/cpp/demo/Database/Oracle/occi/Client.cpp
+++ b/cpp/demo/Database/Oracle/occi/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/Database/Oracle/occi/DeptFactoryI.cpp b/cpp/demo/Database/Oracle/occi/DeptFactoryI.cpp
index 9c8c5612625..9add1296232 100644
--- a/cpp/demo/Database/Oracle/occi/DeptFactoryI.cpp
+++ b/cpp/demo/Database/Oracle/occi/DeptFactoryI.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/Database/Oracle/occi/DeptFactoryI.h b/cpp/demo/Database/Oracle/occi/DeptFactoryI.h
index 2dd1558a910..d8ec3fc397b 100644
--- a/cpp/demo/Database/Oracle/occi/DeptFactoryI.h
+++ b/cpp/demo/Database/Oracle/occi/DeptFactoryI.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/Database/Oracle/occi/DeptI.cpp b/cpp/demo/Database/Oracle/occi/DeptI.cpp
index afa3787163b..4a932e587ea 100644
--- a/cpp/demo/Database/Oracle/occi/DeptI.cpp
+++ b/cpp/demo/Database/Oracle/occi/DeptI.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/Database/Oracle/occi/DeptI.h b/cpp/demo/Database/Oracle/occi/DeptI.h
index 6ba7db438ae..125d48cf79c 100644
--- a/cpp/demo/Database/Oracle/occi/DeptI.h
+++ b/cpp/demo/Database/Oracle/occi/DeptI.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/Database/Oracle/occi/EmpI.cpp b/cpp/demo/Database/Oracle/occi/EmpI.cpp
index 3b0020fd9b0..803c84daa6c 100644
--- a/cpp/demo/Database/Oracle/occi/EmpI.cpp
+++ b/cpp/demo/Database/Oracle/occi/EmpI.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/Database/Oracle/occi/EmpI.h b/cpp/demo/Database/Oracle/occi/EmpI.h
index 4a64a8e6543..60fc4916382 100644
--- a/cpp/demo/Database/Oracle/occi/EmpI.h
+++ b/cpp/demo/Database/Oracle/occi/EmpI.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/Database/Oracle/occi/HR.ice b/cpp/demo/Database/Oracle/occi/HR.ice
index 760760801dc..5448efbefb7 100644
--- a/cpp/demo/Database/Oracle/occi/HR.ice
+++ b/cpp/demo/Database/Oracle/occi/HR.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/Database/Oracle/occi/Makefile b/cpp/demo/Database/Oracle/occi/Makefile
index 23377cf2a82..f87c1f662a3 100644
--- a/cpp/demo/Database/Oracle/occi/Makefile
+++ b/cpp/demo/Database/Oracle/occi/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/Database/Oracle/occi/Makefile.mak b/cpp/demo/Database/Oracle/occi/Makefile.mak
index 09eea9cae2f..98c5c2a0990 100644
--- a/cpp/demo/Database/Oracle/occi/Makefile.mak
+++ b/cpp/demo/Database/Oracle/occi/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/Database/Oracle/occi/OCCIServantLocator.cpp b/cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp
index 7ebaf19a67a..46f192dd6f4 100644
--- a/cpp/demo/Database/Oracle/occi/OCCIServantLocator.cpp
+++ b/cpp/demo/Database/Oracle/occi/OCCIServantLocator.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/Database/Oracle/occi/OCCIServantLocator.h b/cpp/demo/Database/Oracle/occi/OCCIServantLocator.h
index 42911b27ac7..4602ce241d2 100644
--- a/cpp/demo/Database/Oracle/occi/OCCIServantLocator.h
+++ b/cpp/demo/Database/Oracle/occi/OCCIServantLocator.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/Database/Oracle/occi/Server.cpp b/cpp/demo/Database/Oracle/occi/Server.cpp
index 0d3ad82d535..fa883ca8136 100644
--- a/cpp/demo/Database/Oracle/occi/Server.cpp
+++ b/cpp/demo/Database/Oracle/occi/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/Database/Oracle/occi/Util.cpp b/cpp/demo/Database/Oracle/occi/Util.cpp
index d6119edb4b8..f0925e66c0a 100644
--- a/cpp/demo/Database/Oracle/occi/Util.cpp
+++ b/cpp/demo/Database/Oracle/occi/Util.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/Database/Oracle/occi/Util.h b/cpp/demo/Database/Oracle/occi/Util.h
index c61a9d7fd2b..2d2b48aa0db 100644
--- a/cpp/demo/Database/Oracle/occi/Util.h
+++ b/cpp/demo/Database/Oracle/occi/Util.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/Database/Oracle/proc/Client.cpp b/cpp/demo/Database/Oracle/proc/Client.cpp
index 8488e96716b..61f88894ba4 100644
--- a/cpp/demo/Database/Oracle/proc/Client.cpp
+++ b/cpp/demo/Database/Oracle/proc/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/Database/Oracle/proc/CurrentSqlContext.h b/cpp/demo/Database/Oracle/proc/CurrentSqlContext.h
index 93527f1e103..53efc43e160 100644
--- a/cpp/demo/Database/Oracle/proc/CurrentSqlContext.h
+++ b/cpp/demo/Database/Oracle/proc/CurrentSqlContext.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/Database/Oracle/proc/DeptFactoryI.h b/cpp/demo/Database/Oracle/proc/DeptFactoryI.h
index 1b4b6741f05..17f16d8f77a 100644
--- a/cpp/demo/Database/Oracle/proc/DeptFactoryI.h
+++ b/cpp/demo/Database/Oracle/proc/DeptFactoryI.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/Database/Oracle/proc/DeptI.h b/cpp/demo/Database/Oracle/proc/DeptI.h
index e290f2f7156..bb2dc3db57f 100644
--- a/cpp/demo/Database/Oracle/proc/DeptI.h
+++ b/cpp/demo/Database/Oracle/proc/DeptI.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/Database/Oracle/proc/EmpI.h b/cpp/demo/Database/Oracle/proc/EmpI.h
index 253f964ba5e..8be55746949 100644
--- a/cpp/demo/Database/Oracle/proc/EmpI.h
+++ b/cpp/demo/Database/Oracle/proc/EmpI.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/Database/Oracle/proc/HR.ice b/cpp/demo/Database/Oracle/proc/HR.ice
index 760760801dc..5448efbefb7 100644
--- a/cpp/demo/Database/Oracle/proc/HR.ice
+++ b/cpp/demo/Database/Oracle/proc/HR.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/Database/Oracle/proc/Makefile b/cpp/demo/Database/Oracle/proc/Makefile
index 7f8903d0ec8..725c70b203c 100644
--- a/cpp/demo/Database/Oracle/proc/Makefile
+++ b/cpp/demo/Database/Oracle/proc/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/Database/Oracle/proc/Makefile.mak b/cpp/demo/Database/Oracle/proc/Makefile.mak
index e8eb6b88955..3587f6f20bb 100644
--- a/cpp/demo/Database/Oracle/proc/Makefile.mak
+++ b/cpp/demo/Database/Oracle/proc/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/Database/Oracle/proc/Util.h b/cpp/demo/Database/Oracle/proc/Util.h
index d4e537f9693..ea9a41ea192 100644
--- a/cpp/demo/Database/Oracle/proc/Util.h
+++ b/cpp/demo/Database/Oracle/proc/Util.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/Freeze/Makefile b/cpp/demo/Freeze/Makefile
index d7f9842ac99..cd747d2df07 100644
--- a/cpp/demo/Freeze/Makefile
+++ b/cpp/demo/Freeze/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/Freeze/Makefile.mak b/cpp/demo/Freeze/Makefile.mak
index c4dc133040e..7245e84299d 100644
--- a/cpp/demo/Freeze/Makefile.mak
+++ b/cpp/demo/Freeze/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/Freeze/backup/Client.cpp b/cpp/demo/Freeze/backup/Client.cpp
index 45aa3be9fe5..b2dc725e375 100644
--- a/cpp/demo/Freeze/backup/Client.cpp
+++ b/cpp/demo/Freeze/backup/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/Freeze/backup/Makefile b/cpp/demo/Freeze/backup/Makefile
index c48101346f6..70cd610cc6d 100644
--- a/cpp/demo/Freeze/backup/Makefile
+++ b/cpp/demo/Freeze/backup/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/Freeze/backup/Makefile.mak b/cpp/demo/Freeze/backup/Makefile.mak
index d2f8344cf2b..b094b9fe67d 100644
--- a/cpp/demo/Freeze/backup/Makefile.mak
+++ b/cpp/demo/Freeze/backup/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/Freeze/backup/backup b/cpp/demo/Freeze/backup/backup
index 313ab4b4f61..df98fed825d 100755
--- a/cpp/demo/Freeze/backup/backup
+++ b/cpp/demo/Freeze/backup/backup
@@ -1,7 +1,7 @@
#!/bin/sh
# **********************************************************************
#
-# 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/Freeze/backup/backup.bat b/cpp/demo/Freeze/backup/backup.bat
index f2b8698db8d..705c66e9eb5 100755
--- a/cpp/demo/Freeze/backup/backup.bat
+++ b/cpp/demo/Freeze/backup/backup.bat
@@ -1,7 +1,7 @@
@echo off
rem ********************************************************************
rem
-rem Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+rem Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
rem
rem This copy of Ice is licensed to you under the terms described in the
rem ICE_LICENSE file included in this distribution.
diff --git a/cpp/demo/Freeze/backup/expect.py b/cpp/demo/Freeze/backup/expect.py
index 22c794143f4..a9fb31abb59 100755
--- a/cpp/demo/Freeze/backup/expect.py
+++ b/cpp/demo/Freeze/backup/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/Freeze/bench/Client.cpp b/cpp/demo/Freeze/bench/Client.cpp
index 5079fdfecd9..ee7672032df 100644
--- a/cpp/demo/Freeze/bench/Client.cpp
+++ b/cpp/demo/Freeze/bench/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/Freeze/bench/Makefile b/cpp/demo/Freeze/bench/Makefile
index 387c20746af..a8ed969a123 100644
--- a/cpp/demo/Freeze/bench/Makefile
+++ b/cpp/demo/Freeze/bench/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/Freeze/bench/Makefile.mak b/cpp/demo/Freeze/bench/Makefile.mak
index 12e2e21ec1d..89c9a72e258 100644
--- a/cpp/demo/Freeze/bench/Makefile.mak
+++ b/cpp/demo/Freeze/bench/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/Freeze/bench/Test.ice b/cpp/demo/Freeze/bench/Test.ice
index a4bec5eed77..fd6988197fd 100644
--- a/cpp/demo/Freeze/bench/Test.ice
+++ b/cpp/demo/Freeze/bench/Test.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/Freeze/bench/expect.py b/cpp/demo/Freeze/bench/expect.py
index 8e12f3bc1a6..c72b4e32e70 100755
--- a/cpp/demo/Freeze/bench/expect.py
+++ b/cpp/demo/Freeze/bench/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/Freeze/casino/BankI.cpp b/cpp/demo/Freeze/casino/BankI.cpp
index 4c37557a50a..fcf5b41a781 100644
--- a/cpp/demo/Freeze/casino/BankI.cpp
+++ b/cpp/demo/Freeze/casino/BankI.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/Freeze/casino/BankI.h b/cpp/demo/Freeze/casino/BankI.h
index baef596414e..51e81b1f521 100644
--- a/cpp/demo/Freeze/casino/BankI.h
+++ b/cpp/demo/Freeze/casino/BankI.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/Freeze/casino/BetI.cpp b/cpp/demo/Freeze/casino/BetI.cpp
index b24549e8cae..bc26e5eeaca 100644
--- a/cpp/demo/Freeze/casino/BetI.cpp
+++ b/cpp/demo/Freeze/casino/BetI.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/Freeze/casino/BetI.h b/cpp/demo/Freeze/casino/BetI.h
index 7a2f952e6c6..2a7f2533496 100644
--- a/cpp/demo/Freeze/casino/BetI.h
+++ b/cpp/demo/Freeze/casino/BetI.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/Freeze/casino/BetResolver.cpp b/cpp/demo/Freeze/casino/BetResolver.cpp
index ee9d9fbea36..57ccc6862a6 100644
--- a/cpp/demo/Freeze/casino/BetResolver.cpp
+++ b/cpp/demo/Freeze/casino/BetResolver.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/Freeze/casino/BetResolver.h b/cpp/demo/Freeze/casino/BetResolver.h
index cdc8cb3f44d..5567b422c78 100644
--- a/cpp/demo/Freeze/casino/BetResolver.h
+++ b/cpp/demo/Freeze/casino/BetResolver.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/Freeze/casino/Casino.ice b/cpp/demo/Freeze/casino/Casino.ice
index 4ed9c9b6eca..35982a8d057 100644
--- a/cpp/demo/Freeze/casino/Casino.ice
+++ b/cpp/demo/Freeze/casino/Casino.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/Freeze/casino/CasinoStore.ice b/cpp/demo/Freeze/casino/CasinoStore.ice
index 990a5a026e5..f240f1a9a2e 100644
--- a/cpp/demo/Freeze/casino/CasinoStore.ice
+++ b/cpp/demo/Freeze/casino/CasinoStore.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/Freeze/casino/Client.cpp b/cpp/demo/Freeze/casino/Client.cpp
index 68eced0c5bd..bc8efa043a8 100644
--- a/cpp/demo/Freeze/casino/Client.cpp
+++ b/cpp/demo/Freeze/casino/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/Freeze/casino/Makefile b/cpp/demo/Freeze/casino/Makefile
index ed4917cf795..b5e6f0c9b69 100644
--- a/cpp/demo/Freeze/casino/Makefile
+++ b/cpp/demo/Freeze/casino/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/Freeze/casino/Makefile.mak b/cpp/demo/Freeze/casino/Makefile.mak
index f9e6e1c3215..ab4555f17aa 100644
--- a/cpp/demo/Freeze/casino/Makefile.mak
+++ b/cpp/demo/Freeze/casino/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/Freeze/casino/PlayerI.cpp b/cpp/demo/Freeze/casino/PlayerI.cpp
index 923b4496454..b03b22aa328 100644
--- a/cpp/demo/Freeze/casino/PlayerI.cpp
+++ b/cpp/demo/Freeze/casino/PlayerI.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/Freeze/casino/PlayerI.h b/cpp/demo/Freeze/casino/PlayerI.h
index 51b1092423f..fc5bb8bb58a 100644
--- a/cpp/demo/Freeze/casino/PlayerI.h
+++ b/cpp/demo/Freeze/casino/PlayerI.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/Freeze/casino/Server.cpp b/cpp/demo/Freeze/casino/Server.cpp
index c7f7c88faf3..4c85714f4e1 100644
--- a/cpp/demo/Freeze/casino/Server.cpp
+++ b/cpp/demo/Freeze/casino/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/Freeze/casino/expect.py b/cpp/demo/Freeze/casino/expect.py
index 37ec2a3c0d8..008554c4e03 100755
--- a/cpp/demo/Freeze/casino/expect.py
+++ b/cpp/demo/Freeze/casino/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/Freeze/customEvictor/Client.cpp b/cpp/demo/Freeze/customEvictor/Client.cpp
index aff144c7660..96333ee7048 100644
--- a/cpp/demo/Freeze/customEvictor/Client.cpp
+++ b/cpp/demo/Freeze/customEvictor/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/Freeze/customEvictor/CurrentDatabase.cpp b/cpp/demo/Freeze/customEvictor/CurrentDatabase.cpp
index b2c4cb31ecf..010c67049db 100644
--- a/cpp/demo/Freeze/customEvictor/CurrentDatabase.cpp
+++ b/cpp/demo/Freeze/customEvictor/CurrentDatabase.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/Freeze/customEvictor/CurrentDatabase.h b/cpp/demo/Freeze/customEvictor/CurrentDatabase.h
index b172bb14d36..e8721db8fb1 100644
--- a/cpp/demo/Freeze/customEvictor/CurrentDatabase.h
+++ b/cpp/demo/Freeze/customEvictor/CurrentDatabase.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/Freeze/customEvictor/Evictor.cpp b/cpp/demo/Freeze/customEvictor/Evictor.cpp
index dd3db93dc79..1eb4e607665 100644
--- a/cpp/demo/Freeze/customEvictor/Evictor.cpp
+++ b/cpp/demo/Freeze/customEvictor/Evictor.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/Freeze/customEvictor/Evictor.h b/cpp/demo/Freeze/customEvictor/Evictor.h
index 43c65814980..8f3782a2f73 100644
--- a/cpp/demo/Freeze/customEvictor/Evictor.h
+++ b/cpp/demo/Freeze/customEvictor/Evictor.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/Freeze/customEvictor/EvictorBase.cpp b/cpp/demo/Freeze/customEvictor/EvictorBase.cpp
index 539891f30c3..cbd2f719d40 100644
--- a/cpp/demo/Freeze/customEvictor/EvictorBase.cpp
+++ b/cpp/demo/Freeze/customEvictor/EvictorBase.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/Freeze/customEvictor/EvictorBase.h b/cpp/demo/Freeze/customEvictor/EvictorBase.h
index 0058e5eb36c..f1746176d8f 100644
--- a/cpp/demo/Freeze/customEvictor/EvictorBase.h
+++ b/cpp/demo/Freeze/customEvictor/EvictorBase.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/Freeze/customEvictor/Item.ice b/cpp/demo/Freeze/customEvictor/Item.ice
index 4810322ac16..814a4fe1067 100644
--- a/cpp/demo/Freeze/customEvictor/Item.ice
+++ b/cpp/demo/Freeze/customEvictor/Item.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/Freeze/customEvictor/ItemI.cpp b/cpp/demo/Freeze/customEvictor/ItemI.cpp
index caa373eb40a..42cbd97e9a6 100644
--- a/cpp/demo/Freeze/customEvictor/ItemI.cpp
+++ b/cpp/demo/Freeze/customEvictor/ItemI.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/Freeze/customEvictor/ItemI.h b/cpp/demo/Freeze/customEvictor/ItemI.h
index fd5fd0eea9d..85711d8d7b0 100644
--- a/cpp/demo/Freeze/customEvictor/ItemI.h
+++ b/cpp/demo/Freeze/customEvictor/ItemI.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/Freeze/customEvictor/ItemInfo.ice b/cpp/demo/Freeze/customEvictor/ItemInfo.ice
index 2069e894349..8ea8f43a3ae 100644
--- a/cpp/demo/Freeze/customEvictor/ItemInfo.ice
+++ b/cpp/demo/Freeze/customEvictor/ItemInfo.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/Freeze/customEvictor/Makefile b/cpp/demo/Freeze/customEvictor/Makefile
index edb532d50a3..5d7e7caa33c 100644
--- a/cpp/demo/Freeze/customEvictor/Makefile
+++ b/cpp/demo/Freeze/customEvictor/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/Freeze/customEvictor/Makefile.mak b/cpp/demo/Freeze/customEvictor/Makefile.mak
index 1c3d52ebc87..84f9bd8a3f4 100644
--- a/cpp/demo/Freeze/customEvictor/Makefile.mak
+++ b/cpp/demo/Freeze/customEvictor/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/Freeze/customEvictor/Server.cpp b/cpp/demo/Freeze/customEvictor/Server.cpp
index 5278759fbff..9788de125e9 100644
--- a/cpp/demo/Freeze/customEvictor/Server.cpp
+++ b/cpp/demo/Freeze/customEvictor/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/Freeze/customEvictor/SimpleEvictor.cpp b/cpp/demo/Freeze/customEvictor/SimpleEvictor.cpp
index 028b4d5680f..65d6c383a53 100644
--- a/cpp/demo/Freeze/customEvictor/SimpleEvictor.cpp
+++ b/cpp/demo/Freeze/customEvictor/SimpleEvictor.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/Freeze/customEvictor/SimpleEvictor.h b/cpp/demo/Freeze/customEvictor/SimpleEvictor.h
index 3ff85d730de..1cc7da4cd5b 100644
--- a/cpp/demo/Freeze/customEvictor/SimpleEvictor.h
+++ b/cpp/demo/Freeze/customEvictor/SimpleEvictor.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/Freeze/customEvictor/expect.py b/cpp/demo/Freeze/customEvictor/expect.py
index f53ca913d6e..94d36642321 100755
--- a/cpp/demo/Freeze/customEvictor/expect.py
+++ b/cpp/demo/Freeze/customEvictor/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/Freeze/library/.gitignore b/cpp/demo/Freeze/library/.gitignore
index 54621e8e1aa..e810043d997 100644
--- a/cpp/demo/Freeze/library/.gitignore
+++ b/cpp/demo/Freeze/library/.gitignore
@@ -9,6 +9,3 @@ Library.h
db/*
LibraryTypes.h
LibraryTypes.cpp
-Grammar.cpp
-Grammar.h
-Scanner.cpp
diff --git a/cpp/demo/Freeze/library/BookFactory.cpp b/cpp/demo/Freeze/library/BookFactory.cpp
index eca8d58a264..83b72b61fb6 100644
--- a/cpp/demo/Freeze/library/BookFactory.cpp
+++ b/cpp/demo/Freeze/library/BookFactory.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/Freeze/library/BookFactory.h b/cpp/demo/Freeze/library/BookFactory.h
index d00cc507221..4d888a09a11 100644
--- a/cpp/demo/Freeze/library/BookFactory.h
+++ b/cpp/demo/Freeze/library/BookFactory.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/Freeze/library/Client.cpp b/cpp/demo/Freeze/library/Client.cpp
index fe360d955ce..b9c6fffa3a1 100644
--- a/cpp/demo/Freeze/library/Client.cpp
+++ b/cpp/demo/Freeze/library/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/Freeze/library/Collocated.cpp b/cpp/demo/Freeze/library/Collocated.cpp
index 15d983635cc..ec8c21f82ac 100644
--- a/cpp/demo/Freeze/library/Collocated.cpp
+++ b/cpp/demo/Freeze/library/Collocated.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/Freeze/library/Grammar.cpp b/cpp/demo/Freeze/library/Grammar.cpp
new file mode 100644
index 00000000000..87f243e55fe
--- /dev/null
+++ b/cpp/demo/Freeze/library/Grammar.cpp
@@ -0,0 +1,1418 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_ADD_BOOK = 260,
+ TOK_FIND_ISBN = 261,
+ TOK_FIND_AUTHORS = 262,
+ TOK_NEXT_FOUND_BOOK = 263,
+ TOK_PRINT_CURRENT = 264,
+ TOK_RENT_BOOK = 265,
+ TOK_RETURN_BOOK = 266,
+ TOK_REMOVE_CURRENT = 267,
+ TOK_SET_EVICTOR_SIZE = 268,
+ TOK_SHUTDOWN = 269,
+ TOK_STRING = 270
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_ADD_BOOK 260
+#define TOK_FIND_ISBN 261
+#define TOK_FIND_AUTHORS 262
+#define TOK_NEXT_FOUND_BOOK 263
+#define TOK_PRINT_CURRENT 264
+#define TOK_RENT_BOOK 265
+#define TOK_RETURN_BOOK 266
+#define TOK_REMOVE_CURRENT 267
+#define TOK_SET_EVICTOR_SIZE 268
+#define TOK_SHUTDOWN 269
+#define TOK_STRING 270
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+
+void
+yyerror(const char* s)
+{
+ parser->error(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 148 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 32
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 51
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 17
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 5
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 21
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 40
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 270
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 9, 11, 14, 17, 21,
+ 25, 29, 32, 35, 39, 42, 45, 49, 52, 55,
+ 57, 60
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 18, 0, -1, 19, -1, -1, 19, 20, -1, 20,
+ -1, 3, 16, -1, 4, 16, -1, 5, 21, 16,
+ -1, 6, 21, 16, -1, 7, 21, 16, -1, 8,
+ 16, -1, 9, 16, -1, 10, 21, 16, -1, 11,
+ 16, -1, 12, 16, -1, 13, 21, 16, -1, 14,
+ 16, -1, 1, 16, -1, 16, -1, 15, 21, -1,
+ 15, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 53, 53, 57, 64, 67, 75, 79, 83, 87,
+ 91, 95, 99, 103, 107, 111, 115, 119, 123, 127,
+ 135, 140
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOK_HELP", "TOK_EXIT", "TOK_ADD_BOOK",
+ "TOK_FIND_ISBN", "TOK_FIND_AUTHORS", "TOK_NEXT_FOUND_BOOK",
+ "TOK_PRINT_CURRENT", "TOK_RENT_BOOK", "TOK_RETURN_BOOK",
+ "TOK_REMOVE_CURRENT", "TOK_SET_EVICTOR_SIZE", "TOK_SHUTDOWN",
+ "TOK_STRING", "';'", "$accept", "start", "commands", "command",
+ "strings", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 59
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 17, 18, 18, 19, 19, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 21, 21
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
+ 3, 2, 2, 3, 2, 2, 3, 2, 2, 1,
+ 2, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 5, 18, 6,
+ 7, 21, 0, 0, 0, 11, 12, 0, 14, 15,
+ 0, 17, 1, 4, 20, 8, 9, 10, 13, 16
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 15, 16, 17, 22
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -15
+static const yysigned_char yypact[] =
+{
+ 0, -14, -1, 3, 21, 21, 21, 16, 23, 21,
+ 24, 26, 21, 27, -15, 37, 17, -15, -15, -15,
+ -15, 21, 28, 30, 31, -15, -15, 32, -15, -15,
+ 33, -15, -15, -15, -15, -15, -15, -15, -15, -15
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -15, -15, -15, 35, 29
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
+static const yysigned_char yytable[] =
+{
+ -3, 1, 18, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 19, 14, -2, 1, 20,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 25, 14, 23, 24, 21, 32, 27, 26,
+ 28, 30, 29, 31, 35, 0, 36, 37, 38, 39,
+ 34, 33
+};
+
+static const yysigned_char yycheck[] =
+{
+ 0, 1, 16, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 16, 16, 0, 1, 16,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 16, 16, 5, 6, 15, 0, 9, 16,
+ 16, 12, 16, 16, 16, -1, 16, 16, 16, 16,
+ 21, 16
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 16, 18, 19, 20, 16, 16,
+ 16, 15, 21, 21, 21, 16, 16, 21, 16, 16,
+ 21, 16, 0, 20, 21, 16, 16, 16, 16, 16
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 54 "Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 57 "Grammar.y"
+ {
+;}
+ break;
+
+ case 4:
+#line 65 "Grammar.y"
+ {
+;}
+ break;
+
+ case 5:
+#line 68 "Grammar.y"
+ {
+;}
+ break;
+
+ case 6:
+#line 76 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 7:
+#line 80 "Grammar.y"
+ {
+ return 0;
+;}
+ break;
+
+ case 8:
+#line 84 "Grammar.y"
+ {
+ parser->addBook(yyvsp[-1]);
+;}
+ break;
+
+ case 9:
+#line 88 "Grammar.y"
+ {
+ parser->findIsbn(yyvsp[-1]);
+;}
+ break;
+
+ case 10:
+#line 92 "Grammar.y"
+ {
+ parser->findAuthors(yyvsp[-1]);
+;}
+ break;
+
+ case 11:
+#line 96 "Grammar.y"
+ {
+ parser->nextFoundBook();
+;}
+ break;
+
+ case 12:
+#line 100 "Grammar.y"
+ {
+ parser->printCurrent();
+;}
+ break;
+
+ case 13:
+#line 104 "Grammar.y"
+ {
+ parser->rentCurrent(yyvsp[-1]);
+;}
+ break;
+
+ case 14:
+#line 108 "Grammar.y"
+ {
+ parser->returnCurrent();
+;}
+ break;
+
+ case 15:
+#line 112 "Grammar.y"
+ {
+ parser->removeCurrent();
+;}
+ break;
+
+ case 16:
+#line 116 "Grammar.y"
+ {
+ parser->setEvictorSize(yyvsp[-1]);
+;}
+ break;
+
+ case 17:
+#line 120 "Grammar.y"
+ {
+ parser->shutdown();
+;}
+ break;
+
+ case 18:
+#line 124 "Grammar.y"
+ {
+ yyerrok;
+;}
+ break;
+
+ case 19:
+#line 128 "Grammar.y"
+ {
+;}
+ break;
+
+ case 20:
+#line 136 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 21:
+#line 141 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1192 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 146 "Grammar.y"
+
+
diff --git a/cpp/demo/Freeze/library/Grammar.h b/cpp/demo/Freeze/library/Grammar.h
new file mode 100644
index 00000000000..ec2ea905438
--- /dev/null
+++ b/cpp/demo/Freeze/library/Grammar.h
@@ -0,0 +1,74 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_ADD_BOOK = 260,
+ TOK_FIND_ISBN = 261,
+ TOK_FIND_AUTHORS = 262,
+ TOK_NEXT_FOUND_BOOK = 263,
+ TOK_PRINT_CURRENT = 264,
+ TOK_RENT_BOOK = 265,
+ TOK_RETURN_BOOK = 266,
+ TOK_REMOVE_CURRENT = 267,
+ TOK_SET_EVICTOR_SIZE = 268,
+ TOK_SHUTDOWN = 269,
+ TOK_STRING = 270
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_ADD_BOOK 260
+#define TOK_FIND_ISBN 261
+#define TOK_FIND_AUTHORS 262
+#define TOK_NEXT_FOUND_BOOK 263
+#define TOK_PRINT_CURRENT 264
+#define TOK_RENT_BOOK 265
+#define TOK_RETURN_BOOK 266
+#define TOK_REMOVE_CURRENT 267
+#define TOK_SET_EVICTOR_SIZE 268
+#define TOK_SHUTDOWN 269
+#define TOK_STRING 270
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/demo/Freeze/library/Grammar.y b/cpp/demo/Freeze/library/Grammar.y
index c7cca67b872..ff94c849bfa 100644
--- a/cpp/demo/Freeze/library/Grammar.y
+++ b/cpp/demo/Freeze/library/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/Freeze/library/Library.ice b/cpp/demo/Freeze/library/Library.ice
index ac87539210c..d80061e66e3 100644
--- a/cpp/demo/Freeze/library/Library.ice
+++ b/cpp/demo/Freeze/library/Library.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/Freeze/library/LibraryI.cpp b/cpp/demo/Freeze/library/LibraryI.cpp
index 61f36ff2cb5..38c86d751be 100644
--- a/cpp/demo/Freeze/library/LibraryI.cpp
+++ b/cpp/demo/Freeze/library/LibraryI.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/Freeze/library/LibraryI.h b/cpp/demo/Freeze/library/LibraryI.h
index 940f89ec379..af9e608f304 100644
--- a/cpp/demo/Freeze/library/LibraryI.h
+++ b/cpp/demo/Freeze/library/LibraryI.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/Freeze/library/Makefile b/cpp/demo/Freeze/library/Makefile
index bf2e042b287..2e7fc5deb22 100644
--- a/cpp/demo/Freeze/library/Makefile
+++ b/cpp/demo/Freeze/library/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.
@@ -68,7 +68,5 @@ LibraryTypes.h LibraryTypes.cpp: Library.ice $(SLICE2FREEZE) $(SLICEPARSERLIB)
clean::
-rm -f db/*
-rm -f LibraryTypes.h LibraryTypes.cpp
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
include .depend
diff --git a/cpp/demo/Freeze/library/Makefile.mak b/cpp/demo/Freeze/library/Makefile.mak
index 4a36f512103..6f6011eb4f4 100644
--- a/cpp/demo/Freeze/library/Makefile.mak
+++ b/cpp/demo/Freeze/library/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.
@@ -91,8 +91,6 @@ clean::
clean::
-del /q LibraryTypes.h LibraryTypes.cpp
- -del /q Grammar.cpp Grammar.h
- -del /q Scanner.cpp
-for %f in (db\*) do if not %f == db\.gitignore del /q %f
!include .depend
diff --git a/cpp/demo/Freeze/library/Parser.cpp b/cpp/demo/Freeze/library/Parser.cpp
index bfa6f32cfa7..98e800e0106 100644
--- a/cpp/demo/Freeze/library/Parser.cpp
+++ b/cpp/demo/Freeze/library/Parser.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/Freeze/library/Parser.h b/cpp/demo/Freeze/library/Parser.h
index 7ae5c9874f0..45e1ea97c77 100644
--- a/cpp/demo/Freeze/library/Parser.h
+++ b/cpp/demo/Freeze/library/Parser.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/Freeze/library/RunParser.cpp b/cpp/demo/Freeze/library/RunParser.cpp
index 5fd60fc13c9..b6049bb171c 100644
--- a/cpp/demo/Freeze/library/RunParser.cpp
+++ b/cpp/demo/Freeze/library/RunParser.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/Freeze/library/Scanner.cpp b/cpp/demo/Freeze/library/Scanner.cpp
new file mode 100644
index 00000000000..a42d02830e7
--- /dev/null
+++ b/cpp/demo/Freeze/library/Scanner.cpp
@@ -0,0 +1,1845 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 20
+#define YY_END_OF_BUFFER 21
+static yyconst short int yy_accept[77] =
+ { 0,
+ 15, 15, 21, 19, 15, 16, 17, 18, 19, 16,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 15, 0, 2, 1, 0, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4, 3, 6, 8, 0, 10, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 12, 11,
+ 0, 7, 9, 0, 14, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 1,
+ 1, 6, 1, 1, 1, 1, 7, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 10, 11, 12, 13,
+
+ 14, 1, 1, 15, 16, 1, 1, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 1, 30, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[31] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[77] =
+ { 0,
+ 0, 0, 93, 94, 29, 94, 94, 94, 26, 94,
+ 32, 23, 66, 62, 76, 65, 74, 61, 72, 24,
+ 35, 39, 94, 94, 43, 94, 72, 59, 60, 66,
+ 64, 69, 50, 62, 29, 51, 46, 94, 60, 51,
+ 48, 51, 52, 45, 44, 48, 42, 40, 40, 50,
+ 43, 48, 94, 94, 94, 94, 34, 94, 37, 46,
+ 94, 35, 38, 42, 36, 33, 28, 26, 94, 94,
+ 22, 94, 94, 24, 94, 94
+ } ;
+
+static yyconst short int yy_def[77] =
+ { 0,
+ 76, 1, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 0
+ } ;
+
+static yyconst short int yy_nxt[125] =
+ { 0,
+ 4, 5, 6, 7, 8, 4, 9, 10, 11, 12,
+ 4, 13, 4, 14, 15, 16, 4, 4, 17, 4,
+ 4, 18, 19, 20, 4, 4, 4, 4, 4, 4,
+ 21, 23, 24, 25, 26, 27, 21, 22, 36, 37,
+ 25, 26, 75, 22, 25, 26, 46, 47, 28, 74,
+ 73, 72, 71, 48, 70, 69, 68, 67, 66, 65,
+ 64, 63, 62, 61, 60, 59, 58, 57, 53, 56,
+ 55, 54, 53, 52, 51, 50, 49, 45, 44, 43,
+ 42, 41, 40, 39, 38, 35, 34, 33, 32, 31,
+ 30, 29, 76, 3, 76, 76, 76, 76, 76, 76,
+
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76
+ } ;
+
+static yyconst short int yy_chk[125] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 5, 9, 9, 11, 11, 12, 21, 5, 20, 20,
+ 22, 22, 74, 21, 25, 25, 35, 35, 12, 71,
+ 68, 67, 66, 35, 65, 64, 63, 62, 60, 59,
+ 57, 52, 51, 50, 49, 48, 47, 46, 45, 44,
+ 43, 42, 41, 40, 39, 37, 36, 34, 33, 32,
+ 31, 30, 29, 28, 27, 19, 18, 17, 16, 15,
+ 14, 13, 3, 76, 76, 76, 76, 76, 76, 76,
+
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+#include <Grammar.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+#define YY_ALWAYS_INTERACTIVE 1
+#line 442 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 35 "Scanner.l"
+
+
+#line 596 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 94 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 37 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 47 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 72 "Scanner.l"
+{
+ return TOK_HELP;
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 76 "Scanner.l"
+{
+ return TOK_EXIT;
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 80 "Scanner.l"
+{
+ return TOK_ADD_BOOK;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 84 "Scanner.l"
+{
+ return TOK_FIND_ISBN;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 88 "Scanner.l"
+{
+ return TOK_FIND_AUTHORS;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 92 "Scanner.l"
+{
+ return TOK_NEXT_FOUND_BOOK;
+}
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 96 "Scanner.l"
+{
+ return TOK_PRINT_CURRENT;
+}
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 100 "Scanner.l"
+{
+ return TOK_RENT_BOOK;
+}
+ YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 104 "Scanner.l"
+{
+ return TOK_RETURN_BOOK;
+}
+ YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 108 "Scanner.l"
+{
+ return TOK_REMOVE_CURRENT;
+}
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 112 "Scanner.l"
+{
+ return TOK_SET_EVICTOR_SIZE;
+}
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 116 "Scanner.l"
+{
+ return TOK_SHUTDOWN;
+}
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 120 "Scanner.l"
+{
+ size_t len = strlen(yytext);
+ for(size_t i = 0; i < len; ++i)
+ {
+ if(yytext[i] == '\\')
+ {
+ parser->continueLine();
+ }
+ }
+}
+ YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 131 "Scanner.l"
+{
+ return ';';
+}
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 135 "Scanner.l"
+{
+ // "..."-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ s += next;
+ break;
+ }
+
+ case 'n':
+ {
+ s += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ s += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ s += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ s += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ s += '\f';
+ break;
+ }
+
+ default:
+ {
+ s += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 209 "Scanner.l"
+{
+ // '...'-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '\'')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 234 "Scanner.l"
+{
+ // Simple strings
+ string s;
+ s += yytext[0];
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == EOF)
+ {
+ break;
+ }
+ else if(isspace(c) || c == ';')
+ {
+ unput(c);
+ break;
+ }
+
+ s += c;
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 258 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 962 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 76);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 258 "Scanner.l"
+
diff --git a/cpp/demo/Freeze/library/Scanner.l b/cpp/demo/Freeze/library/Scanner.l
index 7be1262d9a4..2b78e56281e 100644
--- a/cpp/demo/Freeze/library/Scanner.l
+++ b/cpp/demo/Freeze/library/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/Freeze/library/Server.cpp b/cpp/demo/Freeze/library/Server.cpp
index 5278c92cf0e..f0e10309523 100644
--- a/cpp/demo/Freeze/library/Server.cpp
+++ b/cpp/demo/Freeze/library/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/Freeze/library/expect.py b/cpp/demo/Freeze/library/expect.py
index 094f57596b7..d26cd1c9bde 100755
--- a/cpp/demo/Freeze/library/expect.py
+++ b/cpp/demo/Freeze/library/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/Freeze/phonebook/.gitignore b/cpp/demo/Freeze/phonebook/.gitignore
index b576b1ccfb9..dcd6a06b5ab 100644
--- a/cpp/demo/Freeze/phonebook/.gitignore
+++ b/cpp/demo/Freeze/phonebook/.gitignore
@@ -8,7 +8,4 @@ PhoneBook.cpp
PhoneBook.h
NameIndex.h
NameIndex.cpp
-Grammar.cpp
-Grammar.h
-Scanner.cpp
db/*
diff --git a/cpp/demo/Freeze/phonebook/Client.cpp b/cpp/demo/Freeze/phonebook/Client.cpp
index 62373f92d02..701f393e4cc 100644
--- a/cpp/demo/Freeze/phonebook/Client.cpp
+++ b/cpp/demo/Freeze/phonebook/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/Freeze/phonebook/Collocated.cpp b/cpp/demo/Freeze/phonebook/Collocated.cpp
index 93506133e66..71817c2d13e 100644
--- a/cpp/demo/Freeze/phonebook/Collocated.cpp
+++ b/cpp/demo/Freeze/phonebook/Collocated.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/Freeze/phonebook/ContactFactory.cpp b/cpp/demo/Freeze/phonebook/ContactFactory.cpp
index b3cdf0740e9..1f8a277f3a1 100644
--- a/cpp/demo/Freeze/phonebook/ContactFactory.cpp
+++ b/cpp/demo/Freeze/phonebook/ContactFactory.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/Freeze/phonebook/ContactFactory.h b/cpp/demo/Freeze/phonebook/ContactFactory.h
index 9c1721e42f9..cf21fe8cbe3 100644
--- a/cpp/demo/Freeze/phonebook/ContactFactory.h
+++ b/cpp/demo/Freeze/phonebook/ContactFactory.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/Freeze/phonebook/Grammar.cpp b/cpp/demo/Freeze/phonebook/Grammar.cpp
new file mode 100644
index 00000000000..6aa19c49770
--- /dev/null
+++ b/cpp/demo/Freeze/phonebook/Grammar.cpp
@@ -0,0 +1,1422 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_ADD_CONTACTS = 260,
+ TOK_FIND_CONTACTS = 261,
+ TOK_NEXT_FOUND_CONTACT = 262,
+ TOK_PRINT_CURRENT = 263,
+ TOK_SET_CURRENT_NAME = 264,
+ TOK_SET_CURRENT_ADDRESS = 265,
+ TOK_SET_CURRENT_PHONE = 266,
+ TOK_REMOVE_CURRENT = 267,
+ TOK_SET_EVICTOR_SIZE = 268,
+ TOK_SHUTDOWN = 269,
+ TOK_STRING = 270
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_ADD_CONTACTS 260
+#define TOK_FIND_CONTACTS 261
+#define TOK_NEXT_FOUND_CONTACT 262
+#define TOK_PRINT_CURRENT 263
+#define TOK_SET_CURRENT_NAME 264
+#define TOK_SET_CURRENT_ADDRESS 265
+#define TOK_SET_CURRENT_PHONE 266
+#define TOK_REMOVE_CURRENT 267
+#define TOK_SET_EVICTOR_SIZE 268
+#define TOK_SHUTDOWN 269
+#define TOK_STRING 270
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace Ice;
+
+void
+yyerror(const char* s)
+{
+ parser->error(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 149 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 32
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 51
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 17
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 5
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 21
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 41
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 270
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 16,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 9, 11, 14, 17, 21,
+ 25, 28, 31, 35, 39, 43, 46, 50, 53, 56,
+ 58, 61
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 18, 0, -1, 19, -1, -1, 19, 20, -1, 20,
+ -1, 3, 16, -1, 4, 16, -1, 5, 21, 16,
+ -1, 6, 21, 16, -1, 7, 16, -1, 8, 16,
+ -1, 9, 21, 16, -1, 10, 21, 16, -1, 11,
+ 21, 16, -1, 12, 16, -1, 13, 21, 16, -1,
+ 14, 16, -1, 1, 16, -1, 16, -1, 15, 21,
+ -1, 15, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 54, 54, 58, 65, 68, 76, 80, 84, 88,
+ 92, 96, 100, 104, 108, 112, 116, 120, 124, 128,
+ 136, 141
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOK_HELP", "TOK_EXIT",
+ "TOK_ADD_CONTACTS", "TOK_FIND_CONTACTS", "TOK_NEXT_FOUND_CONTACT",
+ "TOK_PRINT_CURRENT", "TOK_SET_CURRENT_NAME", "TOK_SET_CURRENT_ADDRESS",
+ "TOK_SET_CURRENT_PHONE", "TOK_REMOVE_CURRENT", "TOK_SET_EVICTOR_SIZE",
+ "TOK_SHUTDOWN", "TOK_STRING", "';'", "$accept", "start", "commands",
+ "command", "strings", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 59
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 17, 18, 18, 19, 19, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 21, 21
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
+ 2, 2, 3, 3, 3, 2, 3, 2, 2, 1,
+ 2, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 19, 0, 0, 5, 18, 6,
+ 7, 21, 0, 0, 10, 11, 0, 0, 0, 15,
+ 0, 17, 1, 4, 20, 8, 9, 12, 13, 14,
+ 16
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 15, 16, 17, 22
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -15
+static const yysigned_char yypact[] =
+{
+ 0, -14, -1, 3, 19, 19, 22, 24, 19, 19,
+ 19, 25, 19, 26, -15, 43, 17, -15, -15, -15,
+ -15, 19, 28, 29, -15, -15, 30, 31, 33, -15,
+ 34, -15, -15, -15, -15, -15, -15, -15, -15, -15,
+ -15
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -15, -15, -15, 35, 27
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
+static const yysigned_char yytable[] =
+{
+ -3, 1, 18, 2, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 19, 14, -2, 1, 20,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 23, 14, 21, 26, 27, 28, 24, 30,
+ 25, 29, 31, 32, 35, 36, 37, 38, 34, 39,
+ 40, 33
+};
+
+static const unsigned char yycheck[] =
+{
+ 0, 1, 16, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 16, 16, 0, 1, 16,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 5, 16, 15, 8, 9, 10, 16, 12,
+ 16, 16, 16, 0, 16, 16, 16, 16, 21, 16,
+ 16, 16
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 16, 18, 19, 20, 16, 16,
+ 16, 15, 21, 21, 16, 16, 21, 21, 21, 16,
+ 21, 16, 0, 20, 21, 16, 16, 16, 16, 16,
+ 16
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 55 "Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 58 "Grammar.y"
+ {
+;}
+ break;
+
+ case 4:
+#line 66 "Grammar.y"
+ {
+;}
+ break;
+
+ case 5:
+#line 69 "Grammar.y"
+ {
+;}
+ break;
+
+ case 6:
+#line 77 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 7:
+#line 81 "Grammar.y"
+ {
+ return 0;
+;}
+ break;
+
+ case 8:
+#line 85 "Grammar.y"
+ {
+ parser->addContacts(yyvsp[-1]);
+;}
+ break;
+
+ case 9:
+#line 89 "Grammar.y"
+ {
+ parser->findContacts(yyvsp[-1]);
+;}
+ break;
+
+ case 10:
+#line 93 "Grammar.y"
+ {
+ parser->nextFoundContact();
+;}
+ break;
+
+ case 11:
+#line 97 "Grammar.y"
+ {
+ parser->printCurrent();
+;}
+ break;
+
+ case 12:
+#line 101 "Grammar.y"
+ {
+ parser->setCurrentName(yyvsp[-1]);
+;}
+ break;
+
+ case 13:
+#line 105 "Grammar.y"
+ {
+ parser->setCurrentAddress(yyvsp[-1]);
+;}
+ break;
+
+ case 14:
+#line 109 "Grammar.y"
+ {
+ parser->setCurrentPhone(yyvsp[-1]);
+;}
+ break;
+
+ case 15:
+#line 113 "Grammar.y"
+ {
+ parser->removeCurrent();
+;}
+ break;
+
+ case 16:
+#line 117 "Grammar.y"
+ {
+ parser->setEvictorSize(yyvsp[-1]);
+;}
+ break;
+
+ case 17:
+#line 121 "Grammar.y"
+ {
+ parser->shutdown();
+;}
+ break;
+
+ case 18:
+#line 125 "Grammar.y"
+ {
+ yyerrok;
+;}
+ break;
+
+ case 19:
+#line 129 "Grammar.y"
+ {
+;}
+ break;
+
+ case 20:
+#line 137 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 21:
+#line 142 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1196 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 147 "Grammar.y"
+
+
diff --git a/cpp/demo/Freeze/phonebook/Grammar.h b/cpp/demo/Freeze/phonebook/Grammar.h
new file mode 100644
index 00000000000..076fe968167
--- /dev/null
+++ b/cpp/demo/Freeze/phonebook/Grammar.h
@@ -0,0 +1,74 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_ADD_CONTACTS = 260,
+ TOK_FIND_CONTACTS = 261,
+ TOK_NEXT_FOUND_CONTACT = 262,
+ TOK_PRINT_CURRENT = 263,
+ TOK_SET_CURRENT_NAME = 264,
+ TOK_SET_CURRENT_ADDRESS = 265,
+ TOK_SET_CURRENT_PHONE = 266,
+ TOK_REMOVE_CURRENT = 267,
+ TOK_SET_EVICTOR_SIZE = 268,
+ TOK_SHUTDOWN = 269,
+ TOK_STRING = 270
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_ADD_CONTACTS 260
+#define TOK_FIND_CONTACTS 261
+#define TOK_NEXT_FOUND_CONTACT 262
+#define TOK_PRINT_CURRENT 263
+#define TOK_SET_CURRENT_NAME 264
+#define TOK_SET_CURRENT_ADDRESS 265
+#define TOK_SET_CURRENT_PHONE 266
+#define TOK_REMOVE_CURRENT 267
+#define TOK_SET_EVICTOR_SIZE 268
+#define TOK_SHUTDOWN 269
+#define TOK_STRING 270
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/demo/Freeze/phonebook/Grammar.y b/cpp/demo/Freeze/phonebook/Grammar.y
index 42cd2bd343e..7b7514558db 100644
--- a/cpp/demo/Freeze/phonebook/Grammar.y
+++ b/cpp/demo/Freeze/phonebook/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/Freeze/phonebook/Makefile b/cpp/demo/Freeze/phonebook/Makefile
index 1d3071391eb..89993a02c82 100644
--- a/cpp/demo/Freeze/phonebook/Makefile
+++ b/cpp/demo/Freeze/phonebook/Makefile
@@ -1,7 +1,7 @@
# **********************************************************************
#
-# 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.
@@ -67,8 +67,6 @@ NameIndex.h NameIndex.cpp: PhoneBook.ice $(SLICE2FREEZE) $(SLICEPARSERLIB)
clean::
-rm -f NameIndex.h NameIndex.cpp
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
-rm -f db/*
include .depend
diff --git a/cpp/demo/Freeze/phonebook/Makefile.mak b/cpp/demo/Freeze/phonebook/Makefile.mak
index fd32663cfaa..c9a5ef28d78 100644
--- a/cpp/demo/Freeze/phonebook/Makefile.mak
+++ b/cpp/demo/Freeze/phonebook/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.
@@ -90,8 +90,6 @@ clean::
clean::
-del /q NameIndex.h NameIndex.cpp
- -del /q Grammar.cpp Grammar.h
- -del /q Scanner.cpp
-for %f in (db\*) do if not %f == db\.gitignore del /q %f
!include .depend
diff --git a/cpp/demo/Freeze/phonebook/Parser.cpp b/cpp/demo/Freeze/phonebook/Parser.cpp
index 5396fbb719a..66e8d6ec6f8 100644
--- a/cpp/demo/Freeze/phonebook/Parser.cpp
+++ b/cpp/demo/Freeze/phonebook/Parser.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/Freeze/phonebook/Parser.h b/cpp/demo/Freeze/phonebook/Parser.h
index affd02cbce1..93d2e2c8965 100644
--- a/cpp/demo/Freeze/phonebook/Parser.h
+++ b/cpp/demo/Freeze/phonebook/Parser.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/Freeze/phonebook/PhoneBook.ice b/cpp/demo/Freeze/phonebook/PhoneBook.ice
index 8143fcd6ab4..72bab6fd30d 100644
--- a/cpp/demo/Freeze/phonebook/PhoneBook.ice
+++ b/cpp/demo/Freeze/phonebook/PhoneBook.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/Freeze/phonebook/PhoneBookI.cpp b/cpp/demo/Freeze/phonebook/PhoneBookI.cpp
index cc28e39d813..38192a74251 100644
--- a/cpp/demo/Freeze/phonebook/PhoneBookI.cpp
+++ b/cpp/demo/Freeze/phonebook/PhoneBookI.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/Freeze/phonebook/PhoneBookI.h b/cpp/demo/Freeze/phonebook/PhoneBookI.h
index df0a1762049..6dbcfae831f 100644
--- a/cpp/demo/Freeze/phonebook/PhoneBookI.h
+++ b/cpp/demo/Freeze/phonebook/PhoneBookI.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/Freeze/phonebook/RunParser.cpp b/cpp/demo/Freeze/phonebook/RunParser.cpp
index 6a42f5327a2..4468bb042a2 100644
--- a/cpp/demo/Freeze/phonebook/RunParser.cpp
+++ b/cpp/demo/Freeze/phonebook/RunParser.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/Freeze/phonebook/Scanner.cpp b/cpp/demo/Freeze/phonebook/Scanner.cpp
new file mode 100644
index 00000000000..b66053b29ae
--- /dev/null
+++ b/cpp/demo/Freeze/phonebook/Scanner.cpp
@@ -0,0 +1,1845 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 20
+#define YY_END_OF_BUFFER 21
+static yyconst short int yy_accept[77] =
+ { 0,
+ 15, 15, 21, 19, 15, 16, 17, 18, 19, 16,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 15, 0, 2, 1, 0, 15, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 6, 3, 9, 7, 0, 0,
+ 0, 13, 0, 0, 11, 0, 0, 0, 0, 12,
+ 0, 10, 8, 0, 14, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 1,
+ 1, 6, 1, 1, 1, 1, 7, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 10, 1, 11, 12,
+
+ 13, 14, 1, 15, 16, 1, 1, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 1, 30, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[31] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[77] =
+ { 0,
+ 0, 0, 92, 93, 29, 93, 93, 93, 26, 93,
+ 32, 79, 64, 60, 72, 74, 26, 71, 59, 71,
+ 25, 35, 40, 93, 93, 43, 93, 71, 59, 65,
+ 61, 62, 60, 48, 56, 59, 56, 47, 42, 48,
+ 47, 44, 56, 46, 53, 40, 45, 38, 42, 36,
+ 47, 46, 45, 93, 93, 93, 93, 93, 44, 29,
+ 43, 93, 30, 34, 93, 39, 31, 26, 24, 93,
+ 20, 93, 93, 28, 93, 93
+ } ;
+
+static yyconst short int yy_def[77] =
+ { 0,
+ 76, 1, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 0
+ } ;
+
+static yyconst short int yy_nxt[124] =
+ { 0,
+ 4, 5, 6, 7, 8, 4, 9, 10, 11, 12,
+ 13, 4, 14, 15, 16, 4, 4, 4, 17, 4,
+ 18, 19, 20, 21, 4, 4, 4, 4, 4, 4,
+ 22, 24, 25, 26, 27, 33, 22, 23, 34, 38,
+ 39, 26, 27, 23, 26, 27, 75, 74, 73, 72,
+ 71, 70, 69, 68, 67, 66, 65, 64, 63, 62,
+ 61, 60, 54, 59, 58, 57, 56, 55, 54, 53,
+ 52, 51, 50, 49, 48, 47, 46, 45, 44, 43,
+ 42, 41, 40, 37, 36, 35, 32, 31, 30, 29,
+ 28, 76, 3, 76, 76, 76, 76, 76, 76, 76,
+
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76
+ } ;
+
+static yyconst short int yy_chk[124] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 5, 9, 9, 11, 11, 17, 22, 5, 17, 21,
+ 21, 23, 23, 22, 26, 26, 74, 71, 69, 68,
+ 67, 66, 64, 63, 61, 60, 59, 53, 52, 51,
+ 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
+ 40, 39, 38, 37, 36, 35, 34, 33, 32, 31,
+ 30, 29, 28, 20, 19, 18, 16, 15, 14, 13,
+ 12, 3, 76, 76, 76, 76, 76, 76, 76, 76,
+
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+#include <Grammar.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+#define YY_ALWAYS_INTERACTIVE 1
+#line 442 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 35 "Scanner.l"
+
+
+#line 596 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 93 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 37 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 47 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 72 "Scanner.l"
+{
+ return TOK_HELP;
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 76 "Scanner.l"
+{
+ return TOK_EXIT;
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 80 "Scanner.l"
+{
+ return TOK_ADD_CONTACTS;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 84 "Scanner.l"
+{
+ return TOK_FIND_CONTACTS;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 88 "Scanner.l"
+{
+ return TOK_NEXT_FOUND_CONTACT;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 92 "Scanner.l"
+{
+ return TOK_PRINT_CURRENT;
+}
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 96 "Scanner.l"
+{
+ return TOK_SET_CURRENT_NAME;
+}
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 100 "Scanner.l"
+{
+ return TOK_SET_CURRENT_ADDRESS;
+}
+ YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 104 "Scanner.l"
+{
+ return TOK_SET_CURRENT_PHONE;
+}
+ YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 108 "Scanner.l"
+{
+ return TOK_REMOVE_CURRENT;
+}
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 112 "Scanner.l"
+{
+ return TOK_SET_EVICTOR_SIZE;
+}
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 116 "Scanner.l"
+{
+ return TOK_SHUTDOWN;
+}
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 120 "Scanner.l"
+{
+ size_t len = strlen(yytext);
+ for(size_t i = 0; i < len; ++i)
+ {
+ if(yytext[i] == '\\')
+ {
+ parser->continueLine();
+ }
+ }
+}
+ YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 131 "Scanner.l"
+{
+ return ';';
+}
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 135 "Scanner.l"
+{
+ // "..."-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ s += next;
+ break;
+ }
+
+ case 'n':
+ {
+ s += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ s += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ s += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ s += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ s += '\f';
+ break;
+ }
+
+ default:
+ {
+ s += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 209 "Scanner.l"
+{
+ // '...'-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '\'')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 234 "Scanner.l"
+{
+ // Simple strings
+ string s;
+ s += yytext[0];
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == EOF)
+ {
+ break;
+ }
+ else if(isspace(c) || c == ';')
+ {
+ unput(c);
+ break;
+ }
+
+ s += c;
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 258 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 962 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 77 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 76);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 258 "Scanner.l"
+
diff --git a/cpp/demo/Freeze/phonebook/Scanner.l b/cpp/demo/Freeze/phonebook/Scanner.l
index 68e72162148..9039cbd65a9 100644
--- a/cpp/demo/Freeze/phonebook/Scanner.l
+++ b/cpp/demo/Freeze/phonebook/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/Freeze/phonebook/Server.cpp b/cpp/demo/Freeze/phonebook/Server.cpp
index 46c98c60f6e..d0f68de529c 100644
--- a/cpp/demo/Freeze/phonebook/Server.cpp
+++ b/cpp/demo/Freeze/phonebook/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/Freeze/phonebook/expect.py b/cpp/demo/Freeze/phonebook/expect.py
index 217f222585b..e742beb6402 100755
--- a/cpp/demo/Freeze/phonebook/expect.py
+++ b/cpp/demo/Freeze/phonebook/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/Freeze/transform/ContactData.ice b/cpp/demo/Freeze/transform/ContactData.ice
index 156e4ce8ceb..0dc5bfb53a3 100644
--- a/cpp/demo/Freeze/transform/ContactData.ice
+++ b/cpp/demo/Freeze/transform/ContactData.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/Freeze/transform/Makefile b/cpp/demo/Freeze/transform/Makefile
index a8db07b79be..9178a16a2f0 100644
--- a/cpp/demo/Freeze/transform/Makefile
+++ b/cpp/demo/Freeze/transform/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/Freeze/transform/Makefile.mak b/cpp/demo/Freeze/transform/Makefile.mak
index 1e41dd88feb..a9a48127247 100644
--- a/cpp/demo/Freeze/transform/Makefile.mak
+++ b/cpp/demo/Freeze/transform/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/Freeze/transform/NewContactData.ice b/cpp/demo/Freeze/transform/NewContactData.ice
index be970977fd0..6ed674908ad 100644
--- a/cpp/demo/Freeze/transform/NewContactData.ice
+++ b/cpp/demo/Freeze/transform/NewContactData.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/Freeze/transform/create.cpp b/cpp/demo/Freeze/transform/create.cpp
index fc060d913a6..0c45f256de3 100644
--- a/cpp/demo/Freeze/transform/create.cpp
+++ b/cpp/demo/Freeze/transform/create.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/Freeze/transform/expect.py b/cpp/demo/Freeze/transform/expect.py
index 16b09002458..c85395f18dd 100755
--- a/cpp/demo/Freeze/transform/expect.py
+++ b/cpp/demo/Freeze/transform/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/Freeze/transform/read.cpp b/cpp/demo/Freeze/transform/read.cpp
index 6909b1a10bc..eb251383741 100644
--- a/cpp/demo/Freeze/transform/read.cpp
+++ b/cpp/demo/Freeze/transform/read.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/Freeze/transform/readnew.cpp b/cpp/demo/Freeze/transform/readnew.cpp
index a046c92c5c3..ea591666a98 100644
--- a/cpp/demo/Freeze/transform/readnew.cpp
+++ b/cpp/demo/Freeze/transform/readnew.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/Freeze/transform/recreate.cpp b/cpp/demo/Freeze/transform/recreate.cpp
index db84e7b1bb6..142c9a58bae 100644
--- a/cpp/demo/Freeze/transform/recreate.cpp
+++ b/cpp/demo/Freeze/transform/recreate.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/Glacier2/Makefile b/cpp/demo/Glacier2/Makefile
index 3055dd34104..6e6585a589d 100644
--- a/cpp/demo/Glacier2/Makefile
+++ b/cpp/demo/Glacier2/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/Glacier2/Makefile.mak b/cpp/demo/Glacier2/Makefile.mak
index 2bb7f2b862c..7d5f669c542 100644
--- a/cpp/demo/Glacier2/Makefile.mak
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/Callback.ice b/cpp/demo/Glacier2/callback/Callback.ice
index cf88e72cb89..f6eb62c7fc9 100644
--- a/cpp/demo/Glacier2/callback/Callback.ice
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/CallbackI.cpp b/cpp/demo/Glacier2/callback/CallbackI.cpp
index 8a63f71d0a5..3e90358fc56 100644
--- a/cpp/demo/Glacier2/callback/CallbackI.cpp
+++ b/cpp/demo/Glacier2/callback/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/Glacier2/callback/CallbackI.h b/cpp/demo/Glacier2/callback/CallbackI.h
index e378b84162d..d503d76b847 100644
--- a/cpp/demo/Glacier2/callback/CallbackI.h
+++ b/cpp/demo/Glacier2/callback/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/Glacier2/callback/Client.cpp b/cpp/demo/Glacier2/callback/Client.cpp
index a614d0ab075..77413707088 100644
--- a/cpp/demo/Glacier2/callback/Client.cpp
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/Makefile b/cpp/demo/Glacier2/callback/Makefile
index b2e9c84d7da..3b9f9bc80ca 100644
--- a/cpp/demo/Glacier2/callback/Makefile
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/Makefile.mak b/cpp/demo/Glacier2/callback/Makefile.mak
index 1de832e2bdb..384f86f5b75 100644
--- a/cpp/demo/Glacier2/callback/Makefile.mak
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/Server.cpp b/cpp/demo/Glacier2/callback/Server.cpp
index 32dd94e2c8a..9df07542450 100644
--- a/cpp/demo/Glacier2/callback/Server.cpp
+++ b/cpp/demo/Glacier2/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/Glacier2/callback/SessionI.cpp b/cpp/demo/Glacier2/callback/SessionI.cpp
index 3fa4fb9c365..df7ecf839f5 100644
--- a/cpp/demo/Glacier2/callback/SessionI.cpp
+++ b/cpp/demo/Glacier2/callback/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/Glacier2/callback/SessionI.h b/cpp/demo/Glacier2/callback/SessionI.h
index 6f96da6babc..c598219cfba 100644
--- a/cpp/demo/Glacier2/callback/SessionI.h
+++ b/cpp/demo/Glacier2/callback/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/Glacier2/callback/SessionServer.cpp b/cpp/demo/Glacier2/callback/SessionServer.cpp
index bd94578798b..2311627245c 100644
--- a/cpp/demo/Glacier2/callback/SessionServer.cpp
+++ b/cpp/demo/Glacier2/callback/SessionServer.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/Glacier2/callback/expect.py b/cpp/demo/Glacier2/callback/expect.py
index e270ca40558..7085c18ada9 100755
--- a/cpp/demo/Glacier2/callback/expect.py
+++ b/cpp/demo/Glacier2/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/Glacier2/chat/Chat.ice b/cpp/demo/Glacier2/chat/Chat.ice
index 22880768d81..446561948c9 100644
--- a/cpp/demo/Glacier2/chat/Chat.ice
+++ b/cpp/demo/Glacier2/chat/Chat.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/Glacier2/chat/ChatSessionI.cpp b/cpp/demo/Glacier2/chat/ChatSessionI.cpp
index d6af679411d..90fc816913a 100644
--- a/cpp/demo/Glacier2/chat/ChatSessionI.cpp
+++ b/cpp/demo/Glacier2/chat/ChatSessionI.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/Glacier2/chat/ChatSessionI.h b/cpp/demo/Glacier2/chat/ChatSessionI.h
index 5fcabecedcd..3d0165e9fb7 100644
--- a/cpp/demo/Glacier2/chat/ChatSessionI.h
+++ b/cpp/demo/Glacier2/chat/ChatSessionI.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/Glacier2/chat/Client.cpp b/cpp/demo/Glacier2/chat/Client.cpp
index 880b0af4ce8..c81a77525d5 100644
--- a/cpp/demo/Glacier2/chat/Client.cpp
+++ b/cpp/demo/Glacier2/chat/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/Glacier2/chat/Makefile b/cpp/demo/Glacier2/chat/Makefile
index 39dbcc14e85..c99c24486e8 100644
--- a/cpp/demo/Glacier2/chat/Makefile
+++ b/cpp/demo/Glacier2/chat/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/Glacier2/chat/Makefile.mak b/cpp/demo/Glacier2/chat/Makefile.mak
index 5a6905876a1..49887b4d45f 100644
--- a/cpp/demo/Glacier2/chat/Makefile.mak
+++ b/cpp/demo/Glacier2/chat/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/Glacier2/chat/Server.cpp b/cpp/demo/Glacier2/chat/Server.cpp
index 233722e8585..feb3c976249 100644
--- a/cpp/demo/Glacier2/chat/Server.cpp
+++ b/cpp/demo/Glacier2/chat/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/Glacier2/chat/expect.py b/cpp/demo/Glacier2/chat/expect.py
index e690378d1c8..f92273ba2d9 100755
--- a/cpp/demo/Glacier2/chat/expect.py
+++ b/cpp/demo/Glacier2/chat/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/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/src/Slice/.gitignore b/cpp/demo/Ice/nrvo/.gitignore
index da581c67fd4..433c17249b4 100644
--- a/cpp/src/Slice/.gitignore
+++ b/cpp/demo/Ice/nrvo/.gitignore
@@ -1,6 +1,7 @@
// Generated by makegitignore.py
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Grammar.cpp
-Grammar.h
-Scanner.cpp
+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.
diff --git a/cpp/demo/IceBox/Makefile b/cpp/demo/IceBox/Makefile
index 08c2087362c..c3e3118ecf4 100644
--- a/cpp/demo/IceBox/Makefile
+++ b/cpp/demo/IceBox/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/IceBox/Makefile.mak b/cpp/demo/IceBox/Makefile.mak
index f069041d5d0..02303e64b28 100644
--- a/cpp/demo/IceBox/Makefile.mak
+++ b/cpp/demo/IceBox/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/IceBox/hello/Client.cpp b/cpp/demo/IceBox/hello/Client.cpp
index 348f09ef233..48ceb8f00b4 100644
--- a/cpp/demo/IceBox/hello/Client.cpp
+++ b/cpp/demo/IceBox/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/IceBox/hello/Hello.ice b/cpp/demo/IceBox/hello/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cpp/demo/IceBox/hello/Hello.ice
+++ b/cpp/demo/IceBox/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();
+ idempotent void sayHello();
};
};
diff --git a/cpp/demo/IceBox/hello/HelloI.cpp b/cpp/demo/IceBox/hello/HelloI.cpp
index f105a0e2a15..2f419c704c3 100644
--- a/cpp/demo/IceBox/hello/HelloI.cpp
+++ b/cpp/demo/IceBox/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.
@@ -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/IceBox/hello/HelloI.h b/cpp/demo/IceBox/hello/HelloI.h
index 85e00775cd0..424123ff316 100644
--- a/cpp/demo/IceBox/hello/HelloI.h
+++ b/cpp/demo/IceBox/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(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
};
#endif
diff --git a/cpp/demo/IceBox/hello/HelloServiceI.cpp b/cpp/demo/IceBox/hello/HelloServiceI.cpp
index e9c7437d201..e04a95b6248 100644
--- a/cpp/demo/IceBox/hello/HelloServiceI.cpp
+++ b/cpp/demo/IceBox/hello/HelloServiceI.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/IceBox/hello/HelloServiceI.h b/cpp/demo/IceBox/hello/HelloServiceI.h
index 0890fc7eae4..97794008883 100644
--- a/cpp/demo/IceBox/hello/HelloServiceI.h
+++ b/cpp/demo/IceBox/hello/HelloServiceI.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/IceBox/hello/Makefile b/cpp/demo/IceBox/hello/Makefile
index c60fc02a1f3..b71adf89234 100644
--- a/cpp/demo/IceBox/hello/Makefile
+++ b/cpp/demo/IceBox/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/IceBox/hello/Makefile.mak b/cpp/demo/IceBox/hello/Makefile.mak
index 34a72669a9b..22a0b3765db 100644
--- a/cpp/demo/IceBox/hello/Makefile.mak
+++ b/cpp/demo/IceBox/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/IceBox/hello/expect.py b/cpp/demo/IceBox/hello/expect.py
index 061669fb69b..cab4482b754 100755
--- a/cpp/demo/IceBox/hello/expect.py
+++ b/cpp/demo/IceBox/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.
@@ -28,8 +28,7 @@ if Util.defaultHost:
else:
args = ''
-directory = os.path.dirname(os.path.abspath(__file__))
-Util.addLdPath(directory)
+Util.addLdPath(os.getcwd())
server = Util.spawn('%s --Ice.Config=config.icebox --Ice.PrintAdapterReady %s' % (Util.getIceBox(), args))
server.expect('.* ready')
diff --git a/cpp/demo/IceGrid/Makefile b/cpp/demo/IceGrid/Makefile
index 777716cee40..5a8ee2db067 100644
--- a/cpp/demo/IceGrid/Makefile
+++ b/cpp/demo/IceGrid/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/IceGrid/Makefile.mak b/cpp/demo/IceGrid/Makefile.mak
index 389a9d8197e..60a6b0c6484 100644
--- a/cpp/demo/IceGrid/Makefile.mak
+++ b/cpp/demo/IceGrid/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/IceGrid/allocate/Client.cpp b/cpp/demo/IceGrid/allocate/Client.cpp
index 79520be6bca..0de09584229 100644
--- a/cpp/demo/IceGrid/allocate/Client.cpp
+++ b/cpp/demo/IceGrid/allocate/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/IceGrid/allocate/Hello.ice b/cpp/demo/IceGrid/allocate/Hello.ice
index bb8fc0971a5..4b123a06908 100644
--- a/cpp/demo/IceGrid/allocate/Hello.ice
+++ b/cpp/demo/IceGrid/allocate/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();
void shutdown();
};
diff --git a/cpp/demo/IceGrid/allocate/HelloI.cpp b/cpp/demo/IceGrid/allocate/HelloI.cpp
index d92675288cf..233c8ec1f54 100644
--- a/cpp/demo/IceGrid/allocate/HelloI.cpp
+++ b/cpp/demo/IceGrid/allocate/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.
@@ -17,7 +17,7 @@ HelloI::HelloI(const string& name) : _name(name)
}
void
-HelloI::sayHello(const Ice::Current&) const
+HelloI::sayHello(const Ice::Current&)
{
cout << _name << " says Hello World!" << endl;
}
diff --git a/cpp/demo/IceGrid/allocate/HelloI.h b/cpp/demo/IceGrid/allocate/HelloI.h
index 189afa1a2da..62802cbc591 100644
--- a/cpp/demo/IceGrid/allocate/HelloI.h
+++ b/cpp/demo/IceGrid/allocate/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.
@@ -18,7 +18,7 @@ public:
HelloI(const std::string&);
- virtual void sayHello(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
virtual void shutdown(const Ice::Current&);
private:
diff --git a/cpp/demo/IceGrid/allocate/Makefile b/cpp/demo/IceGrid/allocate/Makefile
index b7ed50d2fe7..d4c30e1fec0 100644
--- a/cpp/demo/IceGrid/allocate/Makefile
+++ b/cpp/demo/IceGrid/allocate/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/IceGrid/allocate/Makefile.mak b/cpp/demo/IceGrid/allocate/Makefile.mak
index e64501912c1..91ccc5e5684 100644
--- a/cpp/demo/IceGrid/allocate/Makefile.mak
+++ b/cpp/demo/IceGrid/allocate/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/IceGrid/allocate/Server.cpp b/cpp/demo/IceGrid/allocate/Server.cpp
index 3f50a036bd8..bf2e6fa7f5d 100644
--- a/cpp/demo/IceGrid/allocate/Server.cpp
+++ b/cpp/demo/IceGrid/allocate/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/IceGrid/allocate/application-multiple.xml b/cpp/demo/IceGrid/allocate/application-multiple.xml
index df57ae9754b..2ab100dcc05 100644
--- a/cpp/demo/IceGrid/allocate/application-multiple.xml
+++ b/cpp/demo/IceGrid/allocate/application-multiple.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/allocate/application-single.xml b/cpp/demo/IceGrid/allocate/application-single.xml
index 61a0e1cd9fb..b6612e39118 100644
--- a/cpp/demo/IceGrid/allocate/application-single.xml
+++ b/cpp/demo/IceGrid/allocate/application-single.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/allocate/expect.py b/cpp/demo/IceGrid/allocate/expect.py
index 5fbed8d84f3..6f24a914009 100755
--- a/cpp/demo/IceGrid/allocate/expect.py
+++ b/cpp/demo/IceGrid/allocate/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/IceGrid/icebox/Client.cpp b/cpp/demo/IceGrid/icebox/Client.cpp
index 061b9c32ef8..05fa29acb27 100644
--- a/cpp/demo/IceGrid/icebox/Client.cpp
+++ b/cpp/demo/IceGrid/icebox/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/IceGrid/icebox/Hello.ice b/cpp/demo/IceGrid/icebox/Hello.ice
index ac9d5f5283e..6cd2473fc45 100644
--- a/cpp/demo/IceGrid/icebox/Hello.ice
+++ b/cpp/demo/IceGrid/icebox/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
{
- void sayHello();
+ idempotent void sayHello();
};
};
diff --git a/cpp/demo/IceGrid/icebox/HelloI.cpp b/cpp/demo/IceGrid/icebox/HelloI.cpp
index 2041dfed909..db41064b2d3 100644
--- a/cpp/demo/IceGrid/icebox/HelloI.cpp
+++ b/cpp/demo/IceGrid/icebox/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/IceGrid/icebox/HelloI.h b/cpp/demo/IceGrid/icebox/HelloI.h
index 80bdc1cdbee..151dcaf228f 100644
--- a/cpp/demo/IceGrid/icebox/HelloI.h
+++ b/cpp/demo/IceGrid/icebox/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/IceGrid/icebox/HelloServiceI.cpp b/cpp/demo/IceGrid/icebox/HelloServiceI.cpp
index ebd54df2d95..9e889dc1fbf 100644
--- a/cpp/demo/IceGrid/icebox/HelloServiceI.cpp
+++ b/cpp/demo/IceGrid/icebox/HelloServiceI.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/IceGrid/icebox/HelloServiceI.h b/cpp/demo/IceGrid/icebox/HelloServiceI.h
index 572b66d6e5b..e07f97364fb 100644
--- a/cpp/demo/IceGrid/icebox/HelloServiceI.h
+++ b/cpp/demo/IceGrid/icebox/HelloServiceI.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/IceGrid/icebox/Makefile b/cpp/demo/IceGrid/icebox/Makefile
index e41ba72c351..711dba7e35d 100644
--- a/cpp/demo/IceGrid/icebox/Makefile
+++ b/cpp/demo/IceGrid/icebox/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/IceGrid/icebox/Makefile.mak b/cpp/demo/IceGrid/icebox/Makefile.mak
index 34a72669a9b..22a0b3765db 100644
--- a/cpp/demo/IceGrid/icebox/Makefile.mak
+++ b/cpp/demo/IceGrid/icebox/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/IceGrid/icebox/expect.py b/cpp/demo/IceGrid/icebox/expect.py
index 9cfbc351353..1fd646b714a 100755
--- a/cpp/demo/IceGrid/icebox/expect.py
+++ b/cpp/demo/IceGrid/icebox/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.
@@ -23,7 +23,7 @@ from demoscript import *
from demoscript.IceGrid import icebox
desc = 'application.xml'
-if Util.getBuild() == 'debug':
+if Util.isDebugBuild():
fi = open(desc, "r")
desc = 'tmp_application.xml'
fo = open(desc, "w")
@@ -34,7 +34,6 @@ if Util.getBuild() == 'debug':
fi.close()
fo.close()
-directory = os.path.dirname(os.path.abspath(__file__))
-Util.addLdPath(directory)
+Util.addLdPath(os.getcwd())
icebox.run('./client', desc[0:len(desc)-4])
diff --git a/cpp/demo/IceGrid/replication/Client.cpp b/cpp/demo/IceGrid/replication/Client.cpp
index 394372cfef4..b4ae2156d3a 100644
--- a/cpp/demo/IceGrid/replication/Client.cpp
+++ b/cpp/demo/IceGrid/replication/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/IceGrid/replication/Hello.ice b/cpp/demo/IceGrid/replication/Hello.ice
index 8ddccb8a15f..8cbcb4bdfd3 100644
--- a/cpp/demo/IceGrid/replication/Hello.ice
+++ b/cpp/demo/IceGrid/replication/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 string getGreeting();
+ idempotent string getGreeting();
void shutdown();
};
diff --git a/cpp/demo/IceGrid/replication/HelloI.cpp b/cpp/demo/IceGrid/replication/HelloI.cpp
index 96a802abe58..7f81c6eb0fc 100644
--- a/cpp/demo/IceGrid/replication/HelloI.cpp
+++ b/cpp/demo/IceGrid/replication/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.
@@ -17,7 +17,7 @@ HelloI::HelloI(const string& name) : _name(name)
}
std::string
-HelloI::getGreeting(const Ice::Current&) const
+HelloI::getGreeting(const Ice::Current&)
{
return _name + " says Hello World!";
}
diff --git a/cpp/demo/IceGrid/replication/HelloI.h b/cpp/demo/IceGrid/replication/HelloI.h
index a34a3b3b085..7c1f0fcd5d9 100644
--- a/cpp/demo/IceGrid/replication/HelloI.h
+++ b/cpp/demo/IceGrid/replication/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.
@@ -18,7 +18,7 @@ public:
HelloI(const std::string&);
- virtual std::string getGreeting(const Ice::Current&) const;
+ virtual std::string getGreeting(const Ice::Current&);
virtual void shutdown(const Ice::Current&);
private:
diff --git a/cpp/demo/IceGrid/replication/Makefile b/cpp/demo/IceGrid/replication/Makefile
index 519ac04602e..70d73a4fb7e 100644
--- a/cpp/demo/IceGrid/replication/Makefile
+++ b/cpp/demo/IceGrid/replication/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/IceGrid/replication/Makefile.mak b/cpp/demo/IceGrid/replication/Makefile.mak
index 499849c81a9..164cb68f834 100644
--- a/cpp/demo/IceGrid/replication/Makefile.mak
+++ b/cpp/demo/IceGrid/replication/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/IceGrid/replication/Server.cpp b/cpp/demo/IceGrid/replication/Server.cpp
index 3f50a036bd8..bf2e6fa7f5d 100644
--- a/cpp/demo/IceGrid/replication/Server.cpp
+++ b/cpp/demo/IceGrid/replication/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/IceGrid/replication/application.xml b/cpp/demo/IceGrid/replication/application.xml
index 73e511f40f0..d9cbb4da7bf 100644
--- a/cpp/demo/IceGrid/replication/application.xml
+++ b/cpp/demo/IceGrid/replication/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/replication/expect.py b/cpp/demo/IceGrid/replication/expect.py
index 97a455b28dc..b2379475fdf 100755
--- a/cpp/demo/IceGrid/replication/expect.py
+++ b/cpp/demo/IceGrid/replication/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/IceGrid/secure/.gitignore b/cpp/demo/IceGrid/secure/.gitignore
index 778c6285ebc..58441e933c7 100644
--- a/cpp/demo/IceGrid/secure/.gitignore
+++ b/cpp/demo/IceGrid/secure/.gitignore
@@ -5,6 +5,6 @@ client
server
Hello.cpp
Hello.h
-db/node/*
db/registry/*
+db/node/*
certs/*
diff --git a/cpp/demo/IceGrid/secure/Client.cpp b/cpp/demo/IceGrid/secure/Client.cpp
index 31f6a858af9..450b7bf773a 100644
--- a/cpp/demo/IceGrid/secure/Client.cpp
+++ b/cpp/demo/IceGrid/secure/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/IceGrid/secure/Hello.ice b/cpp/demo/IceGrid/secure/Hello.ice
index bb8fc0971a5..4b123a06908 100644
--- a/cpp/demo/IceGrid/secure/Hello.ice
+++ b/cpp/demo/IceGrid/secure/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();
void shutdown();
};
diff --git a/cpp/demo/IceGrid/secure/HelloI.cpp b/cpp/demo/IceGrid/secure/HelloI.cpp
index d92675288cf..233c8ec1f54 100644
--- a/cpp/demo/IceGrid/secure/HelloI.cpp
+++ b/cpp/demo/IceGrid/secure/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.
@@ -17,7 +17,7 @@ HelloI::HelloI(const string& name) : _name(name)
}
void
-HelloI::sayHello(const Ice::Current&) const
+HelloI::sayHello(const Ice::Current&)
{
cout << _name << " says Hello World!" << endl;
}
diff --git a/cpp/demo/IceGrid/secure/HelloI.h b/cpp/demo/IceGrid/secure/HelloI.h
index 189afa1a2da..62802cbc591 100644
--- a/cpp/demo/IceGrid/secure/HelloI.h
+++ b/cpp/demo/IceGrid/secure/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.
@@ -18,7 +18,7 @@ public:
HelloI(const std::string&);
- virtual void sayHello(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
virtual void shutdown(const Ice::Current&);
private:
diff --git a/cpp/demo/IceGrid/secure/Makefile b/cpp/demo/IceGrid/secure/Makefile
index a1aa116a1b4..4e0a067bfc5 100644
--- a/cpp/demo/IceGrid/secure/Makefile
+++ b/cpp/demo/IceGrid/secure/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/IceGrid/secure/Makefile.mak b/cpp/demo/IceGrid/secure/Makefile.mak
index 96a2c7898ca..b7824112f7b 100644
--- a/cpp/demo/IceGrid/secure/Makefile.mak
+++ b/cpp/demo/IceGrid/secure/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/IceGrid/secure/Server.cpp b/cpp/demo/IceGrid/secure/Server.cpp
index 7b2b0b3f005..40e7ca45676 100644
--- a/cpp/demo/IceGrid/secure/Server.cpp
+++ b/cpp/demo/IceGrid/secure/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/IceGrid/secure/application.xml b/cpp/demo/IceGrid/secure/application.xml
index 30cf2770347..b0b2094fb98 100644
--- a/cpp/demo/IceGrid/secure/application.xml
+++ b/cpp/demo/IceGrid/secure/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/secure/expect.py b/cpp/demo/IceGrid/secure/expect.py
index c4363002259..da66cbcb03c 100755
--- a/cpp/demo/IceGrid/secure/expect.py
+++ b/cpp/demo/IceGrid/secure/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.
@@ -62,8 +62,7 @@ print "ok"
print "starting icegrid...",
sys.stdout.flush()
-registryProps = " --Ice.PrintAdapterReady" + \
- " --IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier"
+registryProps = " --Ice.PrintAdapterReady"
registry = Util.spawn('icegridregistry --Ice.Config=config.registry' + registryProps)
registry.expect('IceGrid.Registry.Internal ready\nIceGrid.Registry.Server ready\nIceGrid.Registry.Client ready')
node = Util.spawn('icegridnode --Ice.Config=config.node --Ice.PrintAdapterReady %s' % (args))
@@ -73,9 +72,7 @@ print "ok"
print "starting glacier2...",
sys.stdout.flush()
-glacier2Props = " --Ice.PrintAdapterReady --Glacier2.SessionTimeout=5" + \
- " --Glacier2.SSLSessionManager=DemoIceGrid/AdminSSLSessionManager" + \
- " --Glacier2.SSLPermissionsVerifier=DemoGlacier2/NullSSLPermissionsVerifier"
+glacier2Props = " --Ice.PrintAdapterReady --Glacier2.SessionTimeout=5"
glacier2 = Util.spawn('glacier2router --Ice.Config=config.glacier2' + glacier2Props)
glacier2.expect('Glacier2.Client ready')
glacier2.expect('Glacier2.Server ready')
@@ -109,35 +106,6 @@ sys.stdout.flush()
runtest()
print "ok"
-print "testing icegridadmin...",
-sys.stdout.flush()
-
-admin = Util.spawn('icegridadmin --Ice.Config=config.admin --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"')
-admin.expect('>>>')
-admin.sendline("server list")
-admin.expect('SimpleServer')
-admin.expect('>>>')
-admin.sendline('exit')
-admin.waitTestSuccess(timeout=120)
-
-admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl')
-admin.expect('>>>')
-admin.sendline("server list")
-admin.expect('SimpleServer')
-admin.expect('>>>')
-admin.sendline('exit')
-admin.waitTestSuccess(timeout=120)
-
-admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"')
-admin.expect('>>>')
-admin.sendline("server list")
-admin.expect('SimpleServer')
-admin.expect('>>>')
-admin.sendline('exit')
-admin.waitTestSuccess(timeout=120)
-
-print "ok"
-
print "completing shutdown...",
sys.stdout.flush()
diff --git a/cpp/demo/IceGrid/secure/makecerts.py b/cpp/demo/IceGrid/secure/makecerts.py
index 3f9ebfc92a6..5af14affc19 100755
--- a/cpp/demo/IceGrid/secure/makecerts.py
+++ b/cpp/demo/IceGrid/secure/makecerts.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/IceGrid/sessionActivation/Client.cpp b/cpp/demo/IceGrid/sessionActivation/Client.cpp
index ddf896d5ae0..0307a9e38d3 100644
--- a/cpp/demo/IceGrid/sessionActivation/Client.cpp
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/sessionActivation/Hello.ice b/cpp/demo/IceGrid/sessionActivation/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cpp/demo/IceGrid/sessionActivation/Hello.ice
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/sessionActivation/HelloI.cpp b/cpp/demo/IceGrid/sessionActivation/HelloI.cpp
index caa0bbccc1c..5cae1cd58e7 100644
--- a/cpp/demo/IceGrid/sessionActivation/HelloI.cpp
+++ b/cpp/demo/IceGrid/sessionActivation/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.
@@ -17,7 +17,7 @@ HelloI::HelloI(const string& name) : _name(name)
}
void
-HelloI::sayHello(const Ice::Current&) const
+HelloI::sayHello(const Ice::Current&)
{
cout << _name << " says Hello World!" << endl;
}
diff --git a/cpp/demo/IceGrid/sessionActivation/HelloI.h b/cpp/demo/IceGrid/sessionActivation/HelloI.h
index b2e4c6ee55c..692f30b3c81 100644
--- a/cpp/demo/IceGrid/sessionActivation/HelloI.h
+++ b/cpp/demo/IceGrid/sessionActivation/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.
@@ -18,7 +18,7 @@ public:
HelloI(const std::string&);
- virtual void sayHello(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
private:
diff --git a/cpp/demo/IceGrid/sessionActivation/Makefile b/cpp/demo/IceGrid/sessionActivation/Makefile
index b7ed50d2fe7..d4c30e1fec0 100644
--- a/cpp/demo/IceGrid/sessionActivation/Makefile
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/sessionActivation/Makefile.mak b/cpp/demo/IceGrid/sessionActivation/Makefile.mak
index c7f0e00647c..645b2af88f1 100644
--- a/cpp/demo/IceGrid/sessionActivation/Makefile.mak
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/sessionActivation/Server.cpp b/cpp/demo/IceGrid/sessionActivation/Server.cpp
index 3f50a036bd8..bf2e6fa7f5d 100644
--- a/cpp/demo/IceGrid/sessionActivation/Server.cpp
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/sessionActivation/application.xml b/cpp/demo/IceGrid/sessionActivation/application.xml
index fed60ef2de3..90f4d5e7755 100644
--- a/cpp/demo/IceGrid/sessionActivation/application.xml
+++ b/cpp/demo/IceGrid/sessionActivation/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/sessionActivation/expect.py b/cpp/demo/IceGrid/sessionActivation/expect.py
index 821455ebd92..0f511c38612 100755
--- a/cpp/demo/IceGrid/sessionActivation/expect.py
+++ b/cpp/demo/IceGrid/sessionActivation/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/IceGrid/simple/Client.cpp b/cpp/demo/IceGrid/simple/Client.cpp
index 31f6a858af9..450b7bf773a 100644
--- a/cpp/demo/IceGrid/simple/Client.cpp
+++ b/cpp/demo/IceGrid/simple/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/IceGrid/simple/Hello.ice b/cpp/demo/IceGrid/simple/Hello.ice
index bb8fc0971a5..4b123a06908 100644
--- a/cpp/demo/IceGrid/simple/Hello.ice
+++ b/cpp/demo/IceGrid/simple/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();
void shutdown();
};
diff --git a/cpp/demo/IceGrid/simple/HelloI.cpp b/cpp/demo/IceGrid/simple/HelloI.cpp
index d92675288cf..233c8ec1f54 100644
--- a/cpp/demo/IceGrid/simple/HelloI.cpp
+++ b/cpp/demo/IceGrid/simple/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.
@@ -17,7 +17,7 @@ HelloI::HelloI(const string& name) : _name(name)
}
void
-HelloI::sayHello(const Ice::Current&) const
+HelloI::sayHello(const Ice::Current&)
{
cout << _name << " says Hello World!" << endl;
}
diff --git a/cpp/demo/IceGrid/simple/HelloI.h b/cpp/demo/IceGrid/simple/HelloI.h
index 189afa1a2da..62802cbc591 100644
--- a/cpp/demo/IceGrid/simple/HelloI.h
+++ b/cpp/demo/IceGrid/simple/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.
@@ -18,7 +18,7 @@ public:
HelloI(const std::string&);
- virtual void sayHello(const Ice::Current&) const;
+ virtual void sayHello(const Ice::Current&);
virtual void shutdown(const Ice::Current&);
private:
diff --git a/cpp/demo/IceGrid/simple/Makefile b/cpp/demo/IceGrid/simple/Makefile
index b7ed50d2fe7..d4c30e1fec0 100644
--- a/cpp/demo/IceGrid/simple/Makefile
+++ b/cpp/demo/IceGrid/simple/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/IceGrid/simple/Makefile.mak b/cpp/demo/IceGrid/simple/Makefile.mak
index e64501912c1..91ccc5e5684 100644
--- a/cpp/demo/IceGrid/simple/Makefile.mak
+++ b/cpp/demo/IceGrid/simple/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/IceGrid/simple/Server.cpp b/cpp/demo/IceGrid/simple/Server.cpp
index 7b2b0b3f005..40e7ca45676 100644
--- a/cpp/demo/IceGrid/simple/Server.cpp
+++ b/cpp/demo/IceGrid/simple/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/IceGrid/simple/application.xml b/cpp/demo/IceGrid/simple/application.xml
index 707ad51fa10..f9f0fb275f2 100644
--- a/cpp/demo/IceGrid/simple/application.xml
+++ b/cpp/demo/IceGrid/simple/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/simple/application_with_replication.xml b/cpp/demo/IceGrid/simple/application_with_replication.xml
index 47ed2716e38..3bdbe39f5b9 100644
--- a/cpp/demo/IceGrid/simple/application_with_replication.xml
+++ b/cpp/demo/IceGrid/simple/application_with_replication.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/simple/application_with_template.xml b/cpp/demo/IceGrid/simple/application_with_template.xml
index 293092211ce..1a7b28ae744 100644
--- a/cpp/demo/IceGrid/simple/application_with_template.xml
+++ b/cpp/demo/IceGrid/simple/application_with_template.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceGrid/simple/expect.py b/cpp/demo/IceGrid/simple/expect.py
index f64723b42e4..536302ca552 100755
--- a/cpp/demo/IceGrid/simple/expect.py
+++ b/cpp/demo/IceGrid/simple/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/IcePatch2/MFC/Makefile.mak b/cpp/demo/IcePatch2/MFC/Makefile.mak
index f6f2f8012f4..0d46c72d4fa 100644
--- a/cpp/demo/IcePatch2/MFC/Makefile.mak
+++ b/cpp/demo/IcePatch2/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/IcePatch2/MFC/PatchClient.cpp b/cpp/demo/IcePatch2/MFC/PatchClient.cpp
index 60aec7ffb1f..8e5d247a8b9 100644
--- a/cpp/demo/IcePatch2/MFC/PatchClient.cpp
+++ b/cpp/demo/IcePatch2/MFC/PatchClient.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/IcePatch2/MFC/PatchClient.h b/cpp/demo/IcePatch2/MFC/PatchClient.h
index 4e77ef128a9..dcd2eec8bce 100644
--- a/cpp/demo/IcePatch2/MFC/PatchClient.h
+++ b/cpp/demo/IcePatch2/MFC/PatchClient.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/IcePatch2/MFC/PatchClient.rc b/cpp/demo/IcePatch2/MFC/PatchClient.rc
index c7a7cd17861..f4bc0262335 100644
--- a/cpp/demo/IcePatch2/MFC/PatchClient.rc
+++ b/cpp/demo/IcePatch2/MFC/PatchClient.rc
@@ -138,7 +138,7 @@ BEGIN
VALUE "FileDescription", "Ice Patch Client\0"
VALUE "FileVersion", "1.0.0.1\0"
VALUE "InternalName", "PatchClient.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", "PatchClient.exe\0"
VALUE "ProductName", "Ice\0"
VALUE "ProductVersion", "1.0.0.1\0"
diff --git a/cpp/demo/IcePatch2/MFC/PatchClientDlg.cpp b/cpp/demo/IcePatch2/MFC/PatchClientDlg.cpp
index 7ce47ac50d7..16623824242 100644
--- a/cpp/demo/IcePatch2/MFC/PatchClientDlg.cpp
+++ b/cpp/demo/IcePatch2/MFC/PatchClientDlg.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/IcePatch2/MFC/PatchClientDlg.h b/cpp/demo/IcePatch2/MFC/PatchClientDlg.h
index 3c812374194..6a4fba59c7b 100644
--- a/cpp/demo/IcePatch2/MFC/PatchClientDlg.h
+++ b/cpp/demo/IcePatch2/MFC/PatchClientDlg.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/IcePatch2/MFC/stdafx.cpp b/cpp/demo/IcePatch2/MFC/stdafx.cpp
index 5e292634b76..6df32b409f4 100644
--- a/cpp/demo/IcePatch2/MFC/stdafx.cpp
+++ b/cpp/demo/IcePatch2/MFC/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/IcePatch2/MFC/stdafx.h b/cpp/demo/IcePatch2/MFC/stdafx.h
index f2dede794a2..0937f57d519 100644
--- a/cpp/demo/IcePatch2/MFC/stdafx.h
+++ b/cpp/demo/IcePatch2/MFC/stdafx.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/IcePatch2/Makefile.mak b/cpp/demo/IcePatch2/Makefile.mak
index 9f7cad5e369..0ec8a8d1186 100644
--- a/cpp/demo/IcePatch2/Makefile.mak
+++ b/cpp/demo/IcePatch2/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/IceStorm/Makefile b/cpp/demo/IceStorm/Makefile
index c2713280047..204e6d5484e 100644
--- a/cpp/demo/IceStorm/Makefile
+++ b/cpp/demo/IceStorm/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/IceStorm/Makefile.mak b/cpp/demo/IceStorm/Makefile.mak
index 35b6b232d45..560931be93e 100644
--- a/cpp/demo/IceStorm/Makefile.mak
+++ b/cpp/demo/IceStorm/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/IceStorm/clock/Clock.ice b/cpp/demo/IceStorm/clock/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/cpp/demo/IceStorm/clock/Clock.ice
+++ b/cpp/demo/IceStorm/clock/Clock.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/IceStorm/clock/Makefile b/cpp/demo/IceStorm/clock/Makefile
index 598cb7d1d1f..0230436c734 100644
--- a/cpp/demo/IceStorm/clock/Makefile
+++ b/cpp/demo/IceStorm/clock/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/IceStorm/clock/Makefile.mak b/cpp/demo/IceStorm/clock/Makefile.mak
index 054ea772d9f..f92bca5fd91 100644
--- a/cpp/demo/IceStorm/clock/Makefile.mak
+++ b/cpp/demo/IceStorm/clock/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/IceStorm/clock/Publisher.cpp b/cpp/demo/IceStorm/clock/Publisher.cpp
index 36fbf10b0f6..c341212c100 100644
--- a/cpp/demo/IceStorm/clock/Publisher.cpp
+++ b/cpp/demo/IceStorm/clock/Publisher.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/IceStorm/clock/Subscriber.cpp b/cpp/demo/IceStorm/clock/Subscriber.cpp
index 1d7faf18673..523a1c02440 100644
--- a/cpp/demo/IceStorm/clock/Subscriber.cpp
+++ b/cpp/demo/IceStorm/clock/Subscriber.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/IceStorm/clock/expect.py b/cpp/demo/IceStorm/clock/expect.py
index 56df2a309d1..9312f80e4e4 100755
--- a/cpp/demo/IceStorm/clock/expect.py
+++ b/cpp/demo/IceStorm/clock/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/IceStorm/counter/Client.cpp b/cpp/demo/IceStorm/counter/Client.cpp
index 510cbf6fad9..d1c9601eab4 100644
--- a/cpp/demo/IceStorm/counter/Client.cpp
+++ b/cpp/demo/IceStorm/counter/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/IceStorm/counter/Counter.ice b/cpp/demo/IceStorm/counter/Counter.ice
index 8b9bc5f85f5..9d93087d83e 100644
--- a/cpp/demo/IceStorm/counter/Counter.ice
+++ b/cpp/demo/IceStorm/counter/Counter.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/IceStorm/counter/CounterI.cpp b/cpp/demo/IceStorm/counter/CounterI.cpp
index f4c610c88b9..ee8e4a580f4 100644
--- a/cpp/demo/IceStorm/counter/CounterI.cpp
+++ b/cpp/demo/IceStorm/counter/CounterI.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/IceStorm/counter/CounterI.h b/cpp/demo/IceStorm/counter/CounterI.h
index 1ccaed14d34..45f23b0bdec 100644
--- a/cpp/demo/IceStorm/counter/CounterI.h
+++ b/cpp/demo/IceStorm/counter/CounterI.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/IceStorm/counter/CounterObserverI.cpp b/cpp/demo/IceStorm/counter/CounterObserverI.cpp
index c2067442518..a8e6324e36b 100644
--- a/cpp/demo/IceStorm/counter/CounterObserverI.cpp
+++ b/cpp/demo/IceStorm/counter/CounterObserverI.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/IceStorm/counter/CounterObserverI.h b/cpp/demo/IceStorm/counter/CounterObserverI.h
index 50c5a9393de..0ad88b39ab6 100644
--- a/cpp/demo/IceStorm/counter/CounterObserverI.h
+++ b/cpp/demo/IceStorm/counter/CounterObserverI.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/IceStorm/counter/Makefile b/cpp/demo/IceStorm/counter/Makefile
index eaa31e416a3..332930f99a3 100644
--- a/cpp/demo/IceStorm/counter/Makefile
+++ b/cpp/demo/IceStorm/counter/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/IceStorm/counter/Makefile.mak b/cpp/demo/IceStorm/counter/Makefile.mak
index ea10fb230d8..ebda6b7a5f5 100644
--- a/cpp/demo/IceStorm/counter/Makefile.mak
+++ b/cpp/demo/IceStorm/counter/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/IceStorm/counter/Server.cpp b/cpp/demo/IceStorm/counter/Server.cpp
index 0257cc78f6d..66309878007 100644
--- a/cpp/demo/IceStorm/counter/Server.cpp
+++ b/cpp/demo/IceStorm/counter/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/IceStorm/counter/expect.py b/cpp/demo/IceStorm/counter/expect.py
index 983680de84c..9ad36f24b91 100755
--- a/cpp/demo/IceStorm/counter/expect.py
+++ b/cpp/demo/IceStorm/counter/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/IceStorm/replicated/Clock.ice b/cpp/demo/IceStorm/replicated/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/cpp/demo/IceStorm/replicated/Clock.ice
+++ b/cpp/demo/IceStorm/replicated/Clock.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/IceStorm/replicated/Makefile b/cpp/demo/IceStorm/replicated/Makefile
index 8a22e664fd0..e6a4cce1c07 100644
--- a/cpp/demo/IceStorm/replicated/Makefile
+++ b/cpp/demo/IceStorm/replicated/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/IceStorm/replicated/Makefile.mak b/cpp/demo/IceStorm/replicated/Makefile.mak
index 04ccb73d576..8565d2f08fe 100644
--- a/cpp/demo/IceStorm/replicated/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated/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/IceStorm/replicated/Publisher.cpp b/cpp/demo/IceStorm/replicated/Publisher.cpp
index 36fbf10b0f6..c341212c100 100644
--- a/cpp/demo/IceStorm/replicated/Publisher.cpp
+++ b/cpp/demo/IceStorm/replicated/Publisher.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/IceStorm/replicated/Subscriber.cpp b/cpp/demo/IceStorm/replicated/Subscriber.cpp
index 1d7faf18673..523a1c02440 100644
--- a/cpp/demo/IceStorm/replicated/Subscriber.cpp
+++ b/cpp/demo/IceStorm/replicated/Subscriber.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/IceStorm/replicated/application.xml b/cpp/demo/IceStorm/replicated/application.xml
index fae711bcb01..ad5273ea56b 100644
--- a/cpp/demo/IceStorm/replicated/application.xml
+++ b/cpp/demo/IceStorm/replicated/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/IceStorm/replicated/expect.py b/cpp/demo/IceStorm/replicated/expect.py
index 91646d035ef..87a6c9bd729 100755
--- a/cpp/demo/IceStorm/replicated/expect.py
+++ b/cpp/demo/IceStorm/replicated/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.
@@ -23,7 +23,7 @@ from demoscript import *
import time, signal
desc = 'application.xml'
-if Util.getBuild() == 'debug':
+if Util.isDebugBuild():
fi = open(desc, "r")
desc = 'tmp_application.xml'
fo = open(desc, "w")
diff --git a/cpp/demo/IceStorm/replicated2/Clock.ice b/cpp/demo/IceStorm/replicated2/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/cpp/demo/IceStorm/replicated2/Clock.ice
+++ b/cpp/demo/IceStorm/replicated2/Clock.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/IceStorm/replicated2/Makefile b/cpp/demo/IceStorm/replicated2/Makefile
index d7d05394874..1442e24f482 100644
--- a/cpp/demo/IceStorm/replicated2/Makefile
+++ b/cpp/demo/IceStorm/replicated2/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/IceStorm/replicated2/Makefile.mak b/cpp/demo/IceStorm/replicated2/Makefile.mak
index 054ea772d9f..f92bca5fd91 100644
--- a/cpp/demo/IceStorm/replicated2/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated2/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/IceStorm/replicated2/Publisher.cpp b/cpp/demo/IceStorm/replicated2/Publisher.cpp
index 36fbf10b0f6..c341212c100 100644
--- a/cpp/demo/IceStorm/replicated2/Publisher.cpp
+++ b/cpp/demo/IceStorm/replicated2/Publisher.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/IceStorm/replicated2/Subscriber.cpp b/cpp/demo/IceStorm/replicated2/Subscriber.cpp
index a999c77a77e..bf235ab47c3 100644
--- a/cpp/demo/IceStorm/replicated2/Subscriber.cpp
+++ b/cpp/demo/IceStorm/replicated2/Subscriber.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/IceStorm/replicated2/expect.py b/cpp/demo/IceStorm/replicated2/expect.py
index bd896254af9..344bee9118b 100755
--- a/cpp/demo/IceStorm/replicated2/expect.py
+++ b/cpp/demo/IceStorm/replicated2/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/IceUtil/Makefile b/cpp/demo/IceUtil/Makefile
index bb13d76dadf..ada8e70875d 100644
--- a/cpp/demo/IceUtil/Makefile
+++ b/cpp/demo/IceUtil/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/IceUtil/Makefile.mak b/cpp/demo/IceUtil/Makefile.mak
index 4fd05c9e6d3..e30dec3a578 100644
--- a/cpp/demo/IceUtil/Makefile.mak
+++ b/cpp/demo/IceUtil/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/IceUtil/workqueue/Makefile b/cpp/demo/IceUtil/workqueue/Makefile
index 50aae2b2b97..f1056a1a6f2 100644
--- a/cpp/demo/IceUtil/workqueue/Makefile
+++ b/cpp/demo/IceUtil/workqueue/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/IceUtil/workqueue/Makefile.mak b/cpp/demo/IceUtil/workqueue/Makefile.mak
index de93cf8bbb7..e41d09073e9 100644
--- a/cpp/demo/IceUtil/workqueue/Makefile.mak
+++ b/cpp/demo/IceUtil/workqueue/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/IceUtil/workqueue/WorkQueue.cpp b/cpp/demo/IceUtil/workqueue/WorkQueue.cpp
index eab9322d68c..be3d270de2e 100644
--- a/cpp/demo/IceUtil/workqueue/WorkQueue.cpp
+++ b/cpp/demo/IceUtil/workqueue/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/IceUtil/workqueue/expect.py b/cpp/demo/IceUtil/workqueue/expect.py
index d984916b693..9aa134fa021 100755
--- a/cpp/demo/IceUtil/workqueue/expect.py
+++ b/cpp/demo/IceUtil/workqueue/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/Makefile b/cpp/demo/Makefile
index ea1b6be2adc..9f2d9f42dd9 100644
--- a/cpp/demo/Makefile
+++ b/cpp/demo/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/Makefile.mak b/cpp/demo/Makefile.mak
index 2975c24b034..92b6e5b4c61 100644
--- a/cpp/demo/Makefile.mak
+++ b/cpp/demo/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/book/Makefile b/cpp/demo/book/Makefile
index a781ccaf5d6..ee77a10788f 100644
--- a/cpp/demo/book/Makefile
+++ b/cpp/demo/book/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/book/Makefile.mak b/cpp/demo/book/Makefile.mak
index 31c8a94191b..98696ee9694 100644
--- a/cpp/demo/book/Makefile.mak
+++ b/cpp/demo/book/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/book/freeze_filesystem/.gitignore b/cpp/demo/book/freeze_filesystem/.gitignore
index 7d2b8d0a9ea..7c81ab1ce91 100644
--- a/cpp/demo/book/freeze_filesystem/.gitignore
+++ b/cpp/demo/book/freeze_filesystem/.gitignore
@@ -8,6 +8,3 @@ PersistentFilesystem.cpp
Filesystem.h
PersistentFilesystem.h
db/*
-Grammar.cpp
-Grammar.h
-Scanner.cpp
diff --git a/cpp/demo/book/freeze_filesystem/Client.cpp b/cpp/demo/book/freeze_filesystem/Client.cpp
index f9ff7944e43..9fa07c9898e 100644
--- a/cpp/demo/book/freeze_filesystem/Client.cpp
+++ b/cpp/demo/book/freeze_filesystem/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/book/freeze_filesystem/Filesystem.ice b/cpp/demo/book/freeze_filesystem/Filesystem.ice
index b8b5b38d351..2e48dece6e3 100644
--- a/cpp/demo/book/freeze_filesystem/Filesystem.ice
+++ b/cpp/demo/book/freeze_filesystem/Filesystem.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/book/freeze_filesystem/Makefile b/cpp/demo/book/freeze_filesystem/Makefile
index fd1e1ace7e4..31cbf347222 100644
--- a/cpp/demo/book/freeze_filesystem/Makefile
+++ b/cpp/demo/book/freeze_filesystem/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.
@@ -44,7 +44,5 @@ $(SERVER): $(OBJS) $(SOBJS)
clean::
-rm -f db/*
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
include .depend
diff --git a/cpp/demo/book/freeze_filesystem/Makefile.mak b/cpp/demo/book/freeze_filesystem/Makefile.mak
index 59447d7eeb6..a5284a4e4ce 100644
--- a/cpp/demo/book/freeze_filesystem/Makefile.mak
+++ b/cpp/demo/book/freeze_filesystem/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/book/freeze_filesystem/PersistentFilesystem.ice b/cpp/demo/book/freeze_filesystem/PersistentFilesystem.ice
index 2895d2f5d14..fe0216eb4d2 100644
--- a/cpp/demo/book/freeze_filesystem/PersistentFilesystem.ice
+++ b/cpp/demo/book/freeze_filesystem/PersistentFilesystem.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/book/freeze_filesystem/PersistentFilesystemI.cpp b/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.cpp
index 984a4c282e1..472500d2761 100644
--- a/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.cpp
+++ b/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.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.
@@ -17,9 +17,7 @@ using namespace std;
Freeze::EvictorPtr Filesystem::NodeI::_evictor;
Filesystem::NodeI::NodeI()
-#ifdef __SUNPRO_CC
: _id(Ice::Identity())
-#endif
{
}
@@ -242,11 +240,11 @@ Filesystem::DirectoryI::DirectoryI(const Ice::Identity& id) :
Ice::ObjectPtr
Filesystem::NodeFactory::create(const string& type)
{
- if(type == "::Filesystem::PersistentFile")
+ if(type == PersistentFile::ice_staticId())
{
return new FileI;
}
- else if(type == "::Filesystem::PersistentDirectory")
+ else if(type == PersistentDirectory::ice_staticId())
{
return new DirectoryI;
}
diff --git a/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.h b/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.h
index bdbbea08374..6e5b6c86952 100644
--- a/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.h
+++ b/cpp/demo/book/freeze_filesystem/PersistentFilesystemI.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/book/freeze_filesystem/Server.cpp b/cpp/demo/book/freeze_filesystem/Server.cpp
index 86d7e349e3a..d90ea08878e 100644
--- a/cpp/demo/book/freeze_filesystem/Server.cpp
+++ b/cpp/demo/book/freeze_filesystem/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/book/freeze_filesystem/expect.py b/cpp/demo/book/freeze_filesystem/expect.py
index 3742d56522e..f7ba0a89d9a 100755
--- a/cpp/demo/book/freeze_filesystem/expect.py
+++ b/cpp/demo/book/freeze_filesystem/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/book/lifecycle/.gitignore b/cpp/demo/book/lifecycle/.gitignore
index 5f489ba756a..a0bd7a59dd3 100644
--- a/cpp/demo/book/lifecycle/.gitignore
+++ b/cpp/demo/book/lifecycle/.gitignore
@@ -5,6 +5,3 @@ client
server
Filesystem.cpp
Filesystem.h
-Grammar.cpp
-Grammar.h
-Scanner.cpp
diff --git a/cpp/demo/book/lifecycle/Client.cpp b/cpp/demo/book/lifecycle/Client.cpp
index ca7fd7a8d72..7bc228ee012 100644
--- a/cpp/demo/book/lifecycle/Client.cpp
+++ b/cpp/demo/book/lifecycle/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/book/lifecycle/FilesystemI.cpp b/cpp/demo/book/lifecycle/FilesystemI.cpp
index 89b7d982318..463087c756d 100644
--- a/cpp/demo/book/lifecycle/FilesystemI.cpp
+++ b/cpp/demo/book/lifecycle/FilesystemI.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/book/lifecycle/FilesystemI.h b/cpp/demo/book/lifecycle/FilesystemI.h
index bf86be54f8f..002c2c419d6 100644
--- a/cpp/demo/book/lifecycle/FilesystemI.h
+++ b/cpp/demo/book/lifecycle/FilesystemI.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/book/lifecycle/Grammar.cpp b/cpp/demo/book/lifecycle/Grammar.cpp
new file mode 100644
index 00000000000..8e5d9b010ba
--- /dev/null
+++ b/cpp/demo/book/lifecycle/Grammar.cpp
@@ -0,0 +1,1408 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_STRING = 260,
+ TOK_LIST = 261,
+ TOK_LIST_RECURSIVE = 262,
+ TOK_CREATE_FILE = 263,
+ TOK_CREATE_DIR = 264,
+ TOK_PWD = 265,
+ TOK_CD = 266,
+ TOK_CAT = 267,
+ TOK_WRITE = 268,
+ TOK_RM = 269
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_STRING 260
+#define TOK_LIST 261
+#define TOK_LIST_RECURSIVE 262
+#define TOK_CREATE_FILE 263
+#define TOK_CREATE_DIR 264
+#define TOK_PWD 265
+#define TOK_CD 266
+#define TOK_CAT 267
+#define TOK_WRITE 268
+#define TOK_RM 269
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+
+void
+yyerror(const char* s)
+{
+ parser->error(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 146 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 27
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 45
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 16
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 5
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 21
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 30
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 269
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 15,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 9, 11, 14, 17, 19,
+ 21, 24, 27, 29, 31, 34, 37, 40, 43, 46,
+ 48, 51
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 17, 0, -1, 18, -1, -1, 18, 19, -1, 19,
+ -1, 3, 15, -1, 4, 15, -1, 6, -1, 7,
+ -1, 8, 20, -1, 9, 20, -1, 10, -1, 11,
+ -1, 11, 20, -1, 12, 5, -1, 13, 20, -1,
+ 14, 20, -1, 1, 15, -1, 15, -1, 5, 20,
+ -1, 5, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 52, 52, 56, 63, 66, 74, 78, 82, 86,
+ 90, 94, 98, 102, 106, 110, 114, 118, 122, 127,
+ 135, 140
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOK_HELP", "TOK_EXIT", "TOK_STRING",
+ "TOK_LIST", "TOK_LIST_RECURSIVE", "TOK_CREATE_FILE", "TOK_CREATE_DIR",
+ "TOK_PWD", "TOK_CD", "TOK_CAT", "TOK_WRITE", "TOK_RM", "';'", "$accept",
+ "start", "commands", "command", "strings", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 59
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 16, 17, 17, 18, 18, 19, 19, 19, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 20, 20
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 0, 2, 1, 2, 2, 1, 1,
+ 2, 2, 1, 1, 2, 2, 2, 2, 2, 1,
+ 2, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 8, 9, 0, 0, 12, 13,
+ 0, 0, 0, 19, 0, 0, 5, 18, 6, 7,
+ 21, 10, 11, 14, 15, 16, 17, 1, 4, 20
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 14, 15, 16, 21
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -14
+static const yysigned_char yypact[] =
+{
+ 0, -13, -10, 3, -14, -14, 28, 28, -14, 28,
+ 30, 28, 28, -14, 21, 16, -14, -14, -14, -14,
+ 28, -14, -14, -14, -14, -14, -14, -14, -14, -14
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -14, -14, -14, 23, 25
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
+static const yysigned_char yytable[] =
+{
+ -3, 1, 17, 2, 3, 18, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, -2, 1, 19, 2,
+ 3, 27, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 22, 20, 23, 24, 25, 26, 28, 0,
+ 0, 0, 0, 0, 0, 29
+};
+
+static const yysigned_char yycheck[] =
+{
+ 0, 1, 15, 3, 4, 15, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 0, 1, 15, 3,
+ 4, 0, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 7, 5, 9, 5, 11, 12, 15, -1,
+ -1, -1, -1, -1, -1, 20
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 1, 3, 4, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 17, 18, 19, 15, 15, 15,
+ 5, 20, 20, 20, 5, 20, 20, 0, 19, 20
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 53 "Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 56 "Grammar.y"
+ {
+;}
+ break;
+
+ case 4:
+#line 64 "Grammar.y"
+ {
+;}
+ break;
+
+ case 5:
+#line 67 "Grammar.y"
+ {
+;}
+ break;
+
+ case 6:
+#line 75 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 7:
+#line 79 "Grammar.y"
+ {
+ return 0;
+;}
+ break;
+
+ case 8:
+#line 83 "Grammar.y"
+ {
+ parser->list(false);
+;}
+ break;
+
+ case 9:
+#line 87 "Grammar.y"
+ {
+ parser->list(true);
+;}
+ break;
+
+ case 10:
+#line 91 "Grammar.y"
+ {
+ parser->createFile(yyvsp[0]);
+;}
+ break;
+
+ case 11:
+#line 95 "Grammar.y"
+ {
+ parser->createDir(yyvsp[0]);
+;}
+ break;
+
+ case 12:
+#line 99 "Grammar.y"
+ {
+ parser->pwd();
+;}
+ break;
+
+ case 13:
+#line 103 "Grammar.y"
+ {
+ parser->cd("/");
+;}
+ break;
+
+ case 14:
+#line 107 "Grammar.y"
+ {
+ parser->cd(yyvsp[0].front());
+;}
+ break;
+
+ case 15:
+#line 111 "Grammar.y"
+ {
+ parser->cat(yyvsp[0].front());
+;}
+ break;
+
+ case 16:
+#line 115 "Grammar.y"
+ {
+ parser->write(yyvsp[0]);
+;}
+ break;
+
+ case 17:
+#line 119 "Grammar.y"
+ {
+ parser->destroy(yyvsp[0]);
+;}
+ break;
+
+ case 18:
+#line 123 "Grammar.y"
+ {
+ parser->usage();
+ yyerrok;
+;}
+ break;
+
+ case 19:
+#line 128 "Grammar.y"
+ {
+;}
+ break;
+
+ case 20:
+#line 136 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 21:
+#line 141 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1182 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 146 "Grammar.y"
+
+
diff --git a/cpp/demo/book/lifecycle/Grammar.h b/cpp/demo/book/lifecycle/Grammar.h
new file mode 100644
index 00000000000..d90f2d43183
--- /dev/null
+++ b/cpp/demo/book/lifecycle/Grammar.h
@@ -0,0 +1,72 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_HELP = 258,
+ TOK_EXIT = 259,
+ TOK_STRING = 260,
+ TOK_LIST = 261,
+ TOK_LIST_RECURSIVE = 262,
+ TOK_CREATE_FILE = 263,
+ TOK_CREATE_DIR = 264,
+ TOK_PWD = 265,
+ TOK_CD = 266,
+ TOK_CAT = 267,
+ TOK_WRITE = 268,
+ TOK_RM = 269
+ };
+#endif
+#define TOK_HELP 258
+#define TOK_EXIT 259
+#define TOK_STRING 260
+#define TOK_LIST 261
+#define TOK_LIST_RECURSIVE 262
+#define TOK_CREATE_FILE 263
+#define TOK_CREATE_DIR 264
+#define TOK_PWD 265
+#define TOK_CD 266
+#define TOK_CAT 267
+#define TOK_WRITE 268
+#define TOK_RM 269
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/demo/book/lifecycle/Grammar.y b/cpp/demo/book/lifecycle/Grammar.y
index ec5d0f2bf8a..d3d1a2bcdde 100644
--- a/cpp/demo/book/lifecycle/Grammar.y
+++ b/cpp/demo/book/lifecycle/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/book/lifecycle/Makefile b/cpp/demo/book/lifecycle/Makefile
index 5a2aacbbe5a..cf5ee6a1c7b 100644
--- a/cpp/demo/book/lifecycle/Makefile
+++ b/cpp/demo/book/lifecycle/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.
@@ -43,8 +43,4 @@ $(SERVER): $(OBJS) $(SOBJS)
rm -f $@
$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(SOBJS) $(DB_RPATH_LINK) $(LIBS)
-clean::
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
-
include .depend
diff --git a/cpp/demo/book/lifecycle/Makefile.mak b/cpp/demo/book/lifecycle/Makefile.mak
index 018ef0ea483..7828da700c3 100644
--- a/cpp/demo/book/lifecycle/Makefile.mak
+++ b/cpp/demo/book/lifecycle/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.
@@ -63,7 +63,5 @@ Grammar.cpp Grammar.h: Grammar.y
clean::
-del /q Filesystem.cpp Filesystem.h
- -del /q Scanner.cpp Scanner.h
- -del /q Grammar.cpp Grammar.h
!include .depend
diff --git a/cpp/demo/book/lifecycle/Parser.cpp b/cpp/demo/book/lifecycle/Parser.cpp
index 83cea62bd74..cb4c3411d97 100644
--- a/cpp/demo/book/lifecycle/Parser.cpp
+++ b/cpp/demo/book/lifecycle/Parser.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/book/lifecycle/Parser.h b/cpp/demo/book/lifecycle/Parser.h
index 7479e0f349a..648812abfaa 100644
--- a/cpp/demo/book/lifecycle/Parser.h
+++ b/cpp/demo/book/lifecycle/Parser.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/book/lifecycle/Scanner.cpp b/cpp/demo/book/lifecycle/Scanner.cpp
new file mode 100644
index 00000000000..6cc5ce4d919
--- /dev/null
+++ b/cpp/demo/book/lifecycle/Scanner.cpp
@@ -0,0 +1,1826 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 19
+#define YY_END_OF_BUFFER 20
+static yyconst short int yy_accept[56] =
+ { 0,
+ 14, 14, 20, 18, 14, 15, 16, 17, 18, 15,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 14, 0, 2, 1, 0, 14, 0, 10, 0, 0,
+ 6, 5, 0, 0, 0, 13, 0, 11, 0, 0,
+ 0, 0, 9, 0, 0, 4, 3, 0, 0, 0,
+ 8, 0, 12, 7, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 1,
+ 1, 6, 1, 1, 1, 1, 7, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 10, 1, 11, 12,
+
+ 13, 14, 1, 15, 16, 1, 17, 18, 19, 1,
+ 1, 20, 21, 22, 23, 24, 25, 1, 26, 27,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[28] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[56] =
+ { 0,
+ 0, 0, 69, 70, 26, 70, 70, 70, 23, 70,
+ 29, 24, 41, 54, 15, 49, 39, 39, 44, 40,
+ 31, 39, 70, 70, 41, 70, 37, 70, 44, 41,
+ 70, 70, 33, 46, 41, 70, 40, 70, 31, 34,
+ 37, 36, 70, 27, 26, 70, 70, 27, 30, 33,
+ 70, 26, 70, 70, 70
+ } ;
+
+static yyconst short int yy_def[56] =
+ { 0,
+ 55, 1, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 0
+ } ;
+
+static yyconst short int yy_nxt[98] =
+ { 0,
+ 4, 5, 6, 7, 8, 4, 9, 10, 11, 4,
+ 12, 4, 13, 4, 14, 4, 4, 15, 16, 17,
+ 18, 19, 4, 4, 4, 20, 4, 21, 23, 24,
+ 25, 26, 21, 27, 22, 28, 31, 32, 54, 22,
+ 25, 26, 25, 26, 41, 53, 42, 52, 51, 50,
+ 46, 49, 48, 47, 46, 45, 44, 43, 40, 39,
+ 38, 37, 36, 35, 34, 33, 30, 29, 55, 3,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55
+
+ } ;
+
+static yyconst short int yy_chk[98] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 5, 9, 9,
+ 11, 11, 21, 12, 5, 12, 15, 15, 52, 21,
+ 22, 22, 25, 25, 33, 50, 33, 49, 48, 45,
+ 44, 42, 41, 40, 39, 37, 35, 34, 30, 29,
+ 27, 20, 19, 18, 17, 16, 14, 13, 3, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
+ 55, 55, 55, 55, 55, 55, 55
+
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+#include <Grammar.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+#define YY_ALWAYS_INTERACTIVE 1
+#line 430 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 35 "Scanner.l"
+
+
+#line 584 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 56 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 70 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 37 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 47 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 72 "Scanner.l"
+{
+ return TOK_HELP;
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 76 "Scanner.l"
+{
+ return TOK_EXIT;
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 80 "Scanner.l"
+{
+ return TOK_LIST;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 84 "Scanner.l"
+{
+ return TOK_LIST_RECURSIVE;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 88 "Scanner.l"
+{
+ return TOK_CREATE_FILE;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 92 "Scanner.l"
+{
+ return TOK_CREATE_DIR;
+}
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 96 "Scanner.l"
+{
+ return TOK_PWD;
+}
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 100 "Scanner.l"
+{
+ return TOK_CD;
+}
+ YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 104 "Scanner.l"
+{
+ return TOK_CAT;
+}
+ YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 108 "Scanner.l"
+{
+ return TOK_WRITE;
+}
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 112 "Scanner.l"
+{
+ return TOK_RM;
+}
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 116 "Scanner.l"
+{
+ size_t len = strlen(yytext);
+ for(size_t i = 0; i < len; ++i)
+ {
+ if(yytext[i] == '\\')
+ {
+ parser->continueLine();
+ }
+ }
+}
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 127 "Scanner.l"
+{
+ return ';';
+}
+ YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 131 "Scanner.l"
+{
+ // "..."-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ s += next;
+ break;
+ }
+
+ case 'n':
+ {
+ s += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ s += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ s += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ s += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ s += '\f';
+ break;
+ }
+
+ default:
+ {
+ s += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 205 "Scanner.l"
+{
+ // '...'-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '\'')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 230 "Scanner.l"
+{
+ // Simple strings
+ string s;
+ s += yytext[0];
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == EOF)
+ {
+ break;
+ }
+ else if(isspace(c) || c == ';')
+ {
+ unput(c);
+ break;
+ }
+
+ s += c;
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return TOK_STRING;
+}
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 254 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 943 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 56 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 56 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 55);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 254 "Scanner.l"
+
diff --git a/cpp/demo/book/lifecycle/Scanner.l b/cpp/demo/book/lifecycle/Scanner.l
index d1a991f8280..338a6742814 100644
--- a/cpp/demo/book/lifecycle/Scanner.l
+++ b/cpp/demo/book/lifecycle/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/book/lifecycle/Server.cpp b/cpp/demo/book/lifecycle/Server.cpp
index 6c44e305745..e81412e3b9f 100644
--- a/cpp/demo/book/lifecycle/Server.cpp
+++ b/cpp/demo/book/lifecycle/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/book/lifecycle/expect.py b/cpp/demo/book/lifecycle/expect.py
index f8e8707519d..46ea4fd24fd 100755
--- a/cpp/demo/book/lifecycle/expect.py
+++ b/cpp/demo/book/lifecycle/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/book/printer/Client.cpp b/cpp/demo/book/printer/Client.cpp
index 003f0c822cc..e7190622a6b 100644
--- a/cpp/demo/book/printer/Client.cpp
+++ b/cpp/demo/book/printer/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/book/printer/Makefile b/cpp/demo/book/printer/Makefile
index 15fcfe44219..0a36b44bfe1 100644
--- a/cpp/demo/book/printer/Makefile
+++ b/cpp/demo/book/printer/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/book/printer/Makefile.mak b/cpp/demo/book/printer/Makefile.mak
index 8166be22d25..19bc5019e21 100644
--- a/cpp/demo/book/printer/Makefile.mak
+++ b/cpp/demo/book/printer/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/book/printer/Printer.ice b/cpp/demo/book/printer/Printer.ice
index 3034d48d42e..f48d35d699f 100644
--- a/cpp/demo/book/printer/Printer.ice
+++ b/cpp/demo/book/printer/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/book/printer/Server.cpp b/cpp/demo/book/printer/Server.cpp
index b5c1d2b3306..c4330b12499 100644
--- a/cpp/demo/book/printer/Server.cpp
+++ b/cpp/demo/book/printer/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/book/printer/expect.py b/cpp/demo/book/printer/expect.py
index c70a9ec3716..5ac198cc438 100755
--- a/cpp/demo/book/printer/expect.py
+++ b/cpp/demo/book/printer/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/book/simple_filesystem/Client.cpp b/cpp/demo/book/simple_filesystem/Client.cpp
index 51c24e6951b..24865abb023 100644
--- a/cpp/demo/book/simple_filesystem/Client.cpp
+++ b/cpp/demo/book/simple_filesystem/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/book/simple_filesystem/Filesystem.ice b/cpp/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100644
--- a/cpp/demo/book/simple_filesystem/Filesystem.ice
+++ b/cpp/demo/book/simple_filesystem/Filesystem.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/book/simple_filesystem/FilesystemI.cpp b/cpp/demo/book/simple_filesystem/FilesystemI.cpp
index 2db5e747d39..cde437545b6 100644
--- a/cpp/demo/book/simple_filesystem/FilesystemI.cpp
+++ b/cpp/demo/book/simple_filesystem/FilesystemI.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/book/simple_filesystem/FilesystemI.h b/cpp/demo/book/simple_filesystem/FilesystemI.h
index db332ed89a8..e848eb55062 100644
--- a/cpp/demo/book/simple_filesystem/FilesystemI.h
+++ b/cpp/demo/book/simple_filesystem/FilesystemI.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/book/simple_filesystem/Makefile b/cpp/demo/book/simple_filesystem/Makefile
index 8479492cf1d..9f599a74929 100644
--- a/cpp/demo/book/simple_filesystem/Makefile
+++ b/cpp/demo/book/simple_filesystem/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/book/simple_filesystem/Makefile.mak b/cpp/demo/book/simple_filesystem/Makefile.mak
index bfe98c51dc7..7ee4759beb3 100644
--- a/cpp/demo/book/simple_filesystem/Makefile.mak
+++ b/cpp/demo/book/simple_filesystem/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/book/simple_filesystem/Server.cpp b/cpp/demo/book/simple_filesystem/Server.cpp
index 472fe7e0825..044b5eba9b5 100644
--- a/cpp/demo/book/simple_filesystem/Server.cpp
+++ b/cpp/demo/book/simple_filesystem/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/book/simple_filesystem/expect.py b/cpp/demo/book/simple_filesystem/expect.py
index 53427483f18..bb1ebe1dace 100755
--- a/cpp/demo/book/simple_filesystem/expect.py
+++ b/cpp/demo/book/simple_filesystem/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/doc/Makefile b/cpp/doc/Makefile
index 836897a32e6..73b6dc7da58 100644
--- a/cpp/doc/Makefile
+++ b/cpp/doc/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/doc/Makefile.mak b/cpp/doc/Makefile.mak
index d24a2905148..332b33bc88c 100644
--- a/cpp/doc/Makefile.mak
+++ b/cpp/doc/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/doc/htmlHeader b/cpp/doc/htmlHeader
index d1bd99e135a..99e76af519d 100644
--- a/cpp/doc/htmlHeader
+++ b/cpp/doc/htmlHeader
@@ -1,6 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>
TITLE
</title>
@@ -30,17 +31,13 @@ TITLE
font-style: italic;
}
.HeaderFooter {
- position: relative;
width: 100%;
}
- .LogoTable {
- position: absolute;
- right: 0;
- top: 0;
- }
.Logo {
border-style: none;
}
+ .LogoTable {
+ }
.Button {
border-style: none;
}
@@ -48,12 +45,6 @@ TITLE
border-style: none;
cursor: default;
}
- .SearchTable {
- position: absolute;
- top: 0px;
- margin-left: auto;
- margin-right: auto;
- }
</style>
</head>
<body>
diff --git a/cpp/doc/indexFooter b/cpp/doc/indexFooter
index 4d95b418770..5d7e7e03943 100644
--- a/cpp/doc/indexFooter
+++ b/cpp/doc/indexFooter
@@ -1,40 +1,38 @@
- <!-- SwishCommand noindex -->
- <hr>
- <div class="HeaderFooter">
- <table class="ButtonTable">
- <tr>
- <td>
- <a href="index.html">
- <img class="HomeButton" src="images/home.gif" alt="Home" style="border-style: none"/>
- </a>
- </td>
- </tr>
- </table>
- <div style="text-align: center;">
- <table class="SearchTable">
+ <hr>
+ <!-- SwishCommand noindex -->
+ <table class="HeaderFooter">
+ <tr>
+ <td align="left">
+ <table>
+ <tr>
+ <td><a href="index.html"><img class="Button" src="images/home.gif" alt="Home"></a></td>
+ </tr>
+ </table>
+ </td>
+ <td align="center">
+ <table>
<tr>
<td>
- <form method="get" action="/cgi-bin/swish.cgi"
- enctype="application/x-www-form-urlencoded" class="form">
+ <form method="get" action="/cgi-bin/swish.cgi" enctype="application/x-www-form-urlencoded" class="form">
<div>
<input maxlength="100" value="" type="text" name="query">
- <input type="submit" value="Search" name="submit">
- </div>
- </form>
- </td>
+ <input type="submit" value="Search" name="submit"></div>
+ </form></td>
+ </tr>
+ </table>
+ </td>
+ <td align="right">
+ <table class="LogoTable">
+ <tr>
+ <td><a href="http://www.zeroc.com"><img class="Logo" src="images/logo.gif" alt="Logo"></a></td>
</tr>
</table>
- </div>
- <table class="LogoTable">
- <tr>
- <td>
- <a href="http://www.zeroc.com"><img class="Logo" src="images/logo.gif" alt="Logo"/></a>
- </td>
- </tr>
- </table>
- </div>
- <script type="text/javascript" src="symboltree.js">
- symboltree.main();
- </script>
- </div>
+ </td>
+ </tr>
+ </table>
+ <!-- SwishCommand index -->
+ <script type="text/javascript" src="symboltree.js">
+ symboltree.main();
+ </script>
+ </div>
</body>
diff --git a/cpp/doc/indexHeader b/cpp/doc/indexHeader
index 286f6f31cbf..6da017fbeed 100644
--- a/cpp/doc/indexHeader
+++ b/cpp/doc/indexHeader
@@ -1,6 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<title>
TITLE
@@ -10,7 +11,9 @@ TITLE
font-family: Arial, Helvetica, sans-serif;
}
.Page {
- width: 850px; margin-left: auto; margin-right: auto;
+ width: 850px;
+ margin-left: auto;
+ margin-right: auto;
}
.Symbol {
font-family: "Courier New", Courier, mono;
@@ -47,60 +50,50 @@ TITLE
cursor: pointer;
}
.HeaderFooter {
- position: relative;
width: 100%;
}
- .ButtonTable {
- }
- .LogoTable {
- position: absolute;
- right: 0;
- top: 0;
+ .Button {
+ border-style: none;
}
.Logo {
border-style: none;
}
- .SearchTable {
- position: absolute;
- top: 0px;
- margin-left: auto;
- margin-right: auto;
- }
</style>
</head>
<body>
- <div class="Page">
- <div class="HeaderFooter">
- <table class="ButtonTable">
- <tr>
- <td>
- <a href="index.html">
- <img class="HomeButton" src="images/home.gif" alt="Home" style="border-style: none"/>
- </a>
- </td>
- </tr>
- </table>
- <div style="text-align: center;">
- <table class="SearchTable">
+ <div class="Page">
+
+ <!-- SwishCommand noindex -->
+ <table class="HeaderFooter">
+ <tr>
+ <td align="left">
+ <table>
+ <tr>
+ <td><a href="index.html"><img class="Button" src="images/home.gif" alt="Home"></a></td>
+ </tr>
+ </table>
+ </td>
+ <td align="center">
+ <table>
<tr>
<td>
- <form method="get" action="/cgi-bin/swish.cgi"
- enctype="application/x-www-form-urlencoded" class="form">
+ <form method="get" action="/cgi-bin/swish.cgi" enctype="application/x-www-form-urlencoded" class="form">
<div>
<input maxlength="100" value="" type="text" name="query">
- <input type="submit" value="Search" name="submit">
- </div>
- </form>
- </td>
+ <input type="submit" value="Search" name="submit"></div>
+ </form></td>
+ </tr>
+ </table>
+ </td>
+ <td align="right">
+ <table class="LogoTable">
+ <tr>
+ <td><a href="http://www.zeroc.com"><img class="Logo" src="images/logo.gif" alt="Logo"></a></td>
</tr>
</table>
- </div>
- <table class="LogoTable">
- <tr>
- <td>
- <a href="http://www.zeroc.com"><img class="Logo" src="images/logo.gif" alt="Logo"/></a>
- </td>
- </tr>
- </table>
- </div>
- <hr>
+ </td>
+ </tr>
+ </table>
+ <!-- SwishCommand index -->
+
+ <hr>
diff --git a/cpp/doc/swish/TemplateSlice.pm b/cpp/doc/swish/TemplateSlice.pm
index a346946089d..b0219fe0108 100755
--- a/cpp/doc/swish/TemplateSlice.pm
+++ b/cpp/doc/swish/TemplateSlice.pm
@@ -337,8 +337,12 @@ EOF
#
sub footer {
+ my $links = '';
my $results = shift;
- my $links = qq[<table width="100%"><tr><td colspan="2" bgcolor="#EEEEEE">$results->{LINKS}</td></tr></table>] if $results->{LINKS};
+ if ($results)
+ {
+ my $links = qq[<table width="100%"><tr><td colspan="2" bgcolor="#EEEEEE">$results->{LINKS}</td></tr></table>] if $results->{LINKS};
+ }
return <<EOF;
$links
</div>
diff --git a/cpp/doc/swish/swish.conf b/cpp/doc/swish/swish.conf
index 4a1c7381fa4..d8525b57482 100644
--- a/cpp/doc/swish/swish.conf
+++ b/cpp/doc/swish/swish.conf
@@ -1,6 +1,6 @@
Replacerules remove /var/www/html/
-IndexDir /var/www/html/doc/Ice-3.3.0/reference
-IndexDir /var/www/html/doc/Ice-3.3.0/manual
+IndexDir /var/www/html/doc/Ice-3.3.1/reference
+IndexDir /var/www/html/doc/Ice-3.3.1/manual
IndexOnly .html
FileRules filename is _sindex\.html
DefaultContents HTML*
diff --git a/cpp/doc/swish/swishcgi.conf b/cpp/doc/swish/swishcgi.conf
index 8fc445f4382..0baf1371126 100644
--- a/cpp/doc/swish/swishcgi.conf
+++ b/cpp/doc/swish/swishcgi.conf
@@ -1,9 +1,16 @@
use lib '/var/www/html/doc/swishdir';
-my $referer = $ENV{HTTP_REFERER};
-$referer =~ m{/Ice-([0-9]+\.[0-9]+\.[0-9]+b?)/};;
-my $ice_version = $1;
-$index_loc = '../html/doc/Ice-' . $ice_version . '/swishdir/index.swish-e';
+my $ice_version = '3.3.1';
+my $suffix = '-IceTouch';
+
+my $referer = $ENV{HTTP_REFERER} ? $ENV{HTTP_REFERER} : '';
+if ($referer =~ m{/Ice-([0-9]+\.[0-9]+\.[0-9]+)(b|-IceTouch)?/})
+{
+ my $ice_version = $1;
+ my $suffix = $2;
+}
+
+$index_loc = '../html/doc/Ice-' . $ice_version . $suffix . '/swishdir/index.swish-e';
return {
swish_index => $index_loc,
@@ -15,4 +22,5 @@ return {
},
display_props => '',
prepend_path => '../',
+ page_size => 200,
};
diff --git a/cpp/doc/symboltree.js b/cpp/doc/symboltree.js
index 3c38867f3ae..8eca7cc351d 100644
--- a/cpp/doc/symboltree.js
+++ b/cpp/doc/symboltree.js
@@ -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/include/Freeze/Freeze.h b/cpp/include/Freeze/Freeze.h
index 0eaec3375ad..416f24eee33 100644
--- a/cpp/include/Freeze/Freeze.h
+++ b/cpp/include/Freeze/Freeze.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/include/Freeze/Index.h b/cpp/include/Freeze/Index.h
index 953fdbe2795..17bf5ee9239 100644
--- a/cpp/include/Freeze/Index.h
+++ b/cpp/include/Freeze/Index.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/include/Freeze/Initialize.h b/cpp/include/Freeze/Initialize.h
index 8e4a6e37d48..7546a90cbc5 100644
--- a/cpp/include/Freeze/Initialize.h
+++ b/cpp/include/Freeze/Initialize.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/include/Freeze/Makefile b/cpp/include/Freeze/Makefile
index 27390e3ab68..8fe72387275 100644
--- a/cpp/include/Freeze/Makefile
+++ b/cpp/include/Freeze/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/include/Freeze/Makefile.mak b/cpp/include/Freeze/Makefile.mak
index 708a7d78c0f..9e9cfe304fc 100644
--- a/cpp/include/Freeze/Makefile.mak
+++ b/cpp/include/Freeze/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/include/Freeze/Map.h b/cpp/include/Freeze/Map.h
index 5f579ccc395..c51e867cab6 100644
--- a/cpp/include/Freeze/Map.h
+++ b/cpp/include/Freeze/Map.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/include/Freeze/TransactionHolder.h b/cpp/include/Freeze/TransactionHolder.h
index e05c8c06a0c..ecfd6f7e215 100644
--- a/cpp/include/Freeze/TransactionHolder.h
+++ b/cpp/include/Freeze/TransactionHolder.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/include/Glacier2/Glacier2.h b/cpp/include/Glacier2/Glacier2.h
index ea114db2632..2bd1b800ba5 100644
--- a/cpp/include/Glacier2/Glacier2.h
+++ b/cpp/include/Glacier2/Glacier2.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/include/Glacier2/Makefile b/cpp/include/Glacier2/Makefile
index e23938afb85..ef57230cfdb 100644
--- a/cpp/include/Glacier2/Makefile
+++ b/cpp/include/Glacier2/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/include/Glacier2/Makefile.mak b/cpp/include/Glacier2/Makefile.mak
index f2b57feef0c..63b65470a15 100644
--- a/cpp/include/Glacier2/Makefile.mak
+++ b/cpp/include/Glacier2/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/include/Ice/Application.h b/cpp/include/Ice/Application.h
index 39d1722c969..1ffc86572e4 100644
--- a/cpp/include/Ice/Application.h
+++ b/cpp/include/Ice/Application.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/include/Ice/BasicStream.h b/cpp/include/Ice/BasicStream.h
index 3569be3e62f..36b39ce62ce 100644
--- a/cpp/include/Ice/BasicStream.h
+++ b/cpp/include/Ice/BasicStream.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/include/Ice/Buffer.h b/cpp/include/Ice/Buffer.h
index 92a706b3a65..1f9a02980bd 100644
--- a/cpp/include/Ice/Buffer.h
+++ b/cpp/include/Ice/Buffer.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/include/Ice/Config.h b/cpp/include/Ice/Config.h
index b4b1c1b9536..1a8167c7a2d 100644
--- a/cpp/include/Ice/Config.h
+++ b/cpp/include/Ice/Config.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/include/Ice/ConnectionFactoryF.h b/cpp/include/Ice/ConnectionFactoryF.h
index e421a0f3bc1..d7b28fab103 100644
--- a/cpp/include/Ice/ConnectionFactoryF.h
+++ b/cpp/include/Ice/ConnectionFactoryF.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/include/Ice/ConnectionIF.h b/cpp/include/Ice/ConnectionIF.h
index b9036e7ee49..8d7f8dfd316 100644
--- a/cpp/include/Ice/ConnectionIF.h
+++ b/cpp/include/Ice/ConnectionIF.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/include/Ice/ConnectionMonitorF.h b/cpp/include/Ice/ConnectionMonitorF.h
index 76b3d0a61f3..de2c998696b 100644
--- a/cpp/include/Ice/ConnectionMonitorF.h
+++ b/cpp/include/Ice/ConnectionMonitorF.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/include/Ice/Direct.h b/cpp/include/Ice/Direct.h
index fc312a3740f..f83e42088eb 100644
--- a/cpp/include/Ice/Direct.h
+++ b/cpp/include/Ice/Direct.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/include/Ice/DispatchInterceptor.h b/cpp/include/Ice/DispatchInterceptor.h
index 252632eaf7f..9427325c6e3 100644
--- a/cpp/include/Ice/DispatchInterceptor.h
+++ b/cpp/include/Ice/DispatchInterceptor.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/include/Ice/DynamicLibrary.h b/cpp/include/Ice/DynamicLibrary.h
index b3d6b7df51b..0fd68697bb2 100644
--- a/cpp/include/Ice/DynamicLibrary.h
+++ b/cpp/include/Ice/DynamicLibrary.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/include/Ice/DynamicLibraryF.h b/cpp/include/Ice/DynamicLibraryF.h
index e9957d9ae67..63145717e7a 100644
--- a/cpp/include/Ice/DynamicLibraryF.h
+++ b/cpp/include/Ice/DynamicLibraryF.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/include/Ice/EndpointFactory.h b/cpp/include/Ice/EndpointFactory.h
index 580d2b901eb..0590edcbb0a 100644
--- a/cpp/include/Ice/EndpointFactory.h
+++ b/cpp/include/Ice/EndpointFactory.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/include/Ice/EndpointFactoryF.h b/cpp/include/Ice/EndpointFactoryF.h
index af91b4f24b2..728d685a659 100644
--- a/cpp/include/Ice/EndpointFactoryF.h
+++ b/cpp/include/Ice/EndpointFactoryF.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/include/Ice/EndpointIF.h b/cpp/include/Ice/EndpointIF.h
index 15f83d79a84..4d391da54b2 100644
--- a/cpp/include/Ice/EndpointIF.h
+++ b/cpp/include/Ice/EndpointIF.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/include/Ice/Exception.h b/cpp/include/Ice/Exception.h
index 3256d90bf04..b7c476dd3af 100644
--- a/cpp/include/Ice/Exception.h
+++ b/cpp/include/Ice/Exception.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/include/Ice/FactoryTable.h b/cpp/include/Ice/FactoryTable.h
index f403daffc23..8fd85443094 100644
--- a/cpp/include/Ice/FactoryTable.h
+++ b/cpp/include/Ice/FactoryTable.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/include/Ice/FactoryTableDef.h b/cpp/include/Ice/FactoryTableDef.h
index c6df41b41f3..51a22031585 100644
--- a/cpp/include/Ice/FactoryTableDef.h
+++ b/cpp/include/Ice/FactoryTableDef.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/include/Ice/Functional.h b/cpp/include/Ice/Functional.h
index c8357ac9c26..84d77533f3c 100644
--- a/cpp/include/Ice/Functional.h
+++ b/cpp/include/Ice/Functional.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/include/Ice/GCCountMap.h b/cpp/include/Ice/GCCountMap.h
index 0703911e7e0..9c5bd039491 100644
--- a/cpp/include/Ice/GCCountMap.h
+++ b/cpp/include/Ice/GCCountMap.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/include/Ice/GCShared.h b/cpp/include/Ice/GCShared.h
index 059c245056a..b53f628eded 100644
--- a/cpp/include/Ice/GCShared.h
+++ b/cpp/include/Ice/GCShared.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/include/Ice/Handle.h b/cpp/include/Ice/Handle.h
index 4453c8eefb1..15731e774b3 100644
--- a/cpp/include/Ice/Handle.h
+++ b/cpp/include/Ice/Handle.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/include/Ice/Ice.h b/cpp/include/Ice/Ice.h
index 486b4b6803c..d51133809df 100644
--- a/cpp/include/Ice/Ice.h
+++ b/cpp/include/Ice/Ice.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/include/Ice/IconvStringConverter.h b/cpp/include/Ice/IconvStringConverter.h
index 193fd969da5..56f8309ea98 100644
--- a/cpp/include/Ice/IconvStringConverter.h
+++ b/cpp/include/Ice/IconvStringConverter.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.
@@ -11,6 +11,7 @@
#define ICE_ICONV_STRING_CONVERTER
#include <Ice/StringConverter.h>
+#include <Ice/UndefSysMacros.h>
#include <algorithm>
#include <iconv.h>
diff --git a/cpp/include/Ice/Incoming.h b/cpp/include/Ice/Incoming.h
index 50ff6954766..2289917b4d3 100644
--- a/cpp/include/Ice/Incoming.h
+++ b/cpp/include/Ice/Incoming.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/include/Ice/IncomingAsync.h b/cpp/include/Ice/IncomingAsync.h
index c46981b633e..5ce4a22b640 100644
--- a/cpp/include/Ice/IncomingAsync.h
+++ b/cpp/include/Ice/IncomingAsync.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/include/Ice/IncomingAsyncF.h b/cpp/include/Ice/IncomingAsyncF.h
index f84970e3c82..e123d7ba148 100644
--- a/cpp/include/Ice/IncomingAsyncF.h
+++ b/cpp/include/Ice/IncomingAsyncF.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/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h
index 972ed72c4dd..2d7d83e290e 100644
--- a/cpp/include/Ice/Initialize.h
+++ b/cpp/include/Ice/Initialize.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/include/Ice/InstanceF.h b/cpp/include/Ice/InstanceF.h
index 06968c10281..983dab52414 100644
--- a/cpp/include/Ice/InstanceF.h
+++ b/cpp/include/Ice/InstanceF.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/include/Ice/LocalObject.h b/cpp/include/Ice/LocalObject.h
index 40714cc1949..9fcd48e5715 100644
--- a/cpp/include/Ice/LocalObject.h
+++ b/cpp/include/Ice/LocalObject.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/include/Ice/LocalObjectF.h b/cpp/include/Ice/LocalObjectF.h
index 5caba7d229b..5601e3c3a48 100644
--- a/cpp/include/Ice/LocalObjectF.h
+++ b/cpp/include/Ice/LocalObjectF.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/include/Ice/LoggerUtil.h b/cpp/include/Ice/LoggerUtil.h
index fc88edd68de..dae6a523532 100644
--- a/cpp/include/Ice/LoggerUtil.h
+++ b/cpp/include/Ice/LoggerUtil.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.
@@ -150,7 +150,7 @@ template<class Y>
ICE_API Trace& operator<<(Trace&, std::ios_base& (*)(std::ios_base&));
//
-// A special plugin that installs a logger during a communicator's initialization.
+// A special plug-in that installs a logger during a communicator's initialization.
// Both initialize and destroy are no-op. See Ice::InitializationData.
//
diff --git a/cpp/include/Ice/Makefile b/cpp/include/Ice/Makefile
index ab1ace56071..fb3d6200fda 100644
--- a/cpp/include/Ice/Makefile
+++ b/cpp/include/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.
diff --git a/cpp/include/Ice/Makefile.mak b/cpp/include/Ice/Makefile.mak
index cd713371f4f..956c7fe70eb 100644
--- a/cpp/include/Ice/Makefile.mak
+++ b/cpp/include/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.
diff --git a/cpp/include/Ice/Object.h b/cpp/include/Ice/Object.h
index 92a24358b62..b640aa1bd8d 100644
--- a/cpp/include/Ice/Object.h
+++ b/cpp/include/Ice/Object.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/include/Ice/ObjectAdapterFactoryF.h b/cpp/include/Ice/ObjectAdapterFactoryF.h
index 3853c636c6e..d5670a519a1 100644
--- a/cpp/include/Ice/ObjectAdapterFactoryF.h
+++ b/cpp/include/Ice/ObjectAdapterFactoryF.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/include/Ice/ObjectF.h b/cpp/include/Ice/ObjectF.h
index 82386a663b5..1d83231b4a2 100644
--- a/cpp/include/Ice/ObjectF.h
+++ b/cpp/include/Ice/ObjectF.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/include/Ice/Outgoing.h b/cpp/include/Ice/Outgoing.h
index 576a4e33d9d..f99e6f11db8 100644
--- a/cpp/include/Ice/Outgoing.h
+++ b/cpp/include/Ice/Outgoing.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/include/Ice/OutgoingAsync.h b/cpp/include/Ice/OutgoingAsync.h
index ae16ecebdd6..66412a9a6b2 100644
--- a/cpp/include/Ice/OutgoingAsync.h
+++ b/cpp/include/Ice/OutgoingAsync.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.
@@ -25,6 +25,7 @@ namespace IceInternal
class BasicStream;
class LocalExceptionWrapper;
class Outgoing;
+class RetryTask;
class ICE_API OutgoingAsyncMessageCallback : virtual public IceUtil::Shared
{
@@ -49,6 +50,8 @@ public:
protected:
+ friend class ::IceInternal::RetryTask;
+
void __acquireCallback(const Ice::ObjectPrx&);
void __releaseCallback(const Ice::LocalException&);
void __releaseCallback()
@@ -83,6 +86,7 @@ public:
void __finished(const Ice::LocalException&);
void __finished(const LocalExceptionWrapper&);
+ void __retry(int);
bool __send();
protected:
diff --git a/cpp/include/Ice/OutgoingAsyncF.h b/cpp/include/Ice/OutgoingAsyncF.h
index cacb089d35c..2b2b9b5fc3e 100644
--- a/cpp/include/Ice/OutgoingAsyncF.h
+++ b/cpp/include/Ice/OutgoingAsyncF.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/include/Ice/Protocol.h b/cpp/include/Ice/Protocol.h
index f0d3de2ddad..ab6c4b13295 100644
--- a/cpp/include/Ice/Protocol.h
+++ b/cpp/include/Ice/Protocol.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/include/Ice/ProtocolPluginFacade.h b/cpp/include/Ice/ProtocolPluginFacade.h
index ec6a02262f0..8c0a3ea1bbd 100644
--- a/cpp/include/Ice/ProtocolPluginFacade.h
+++ b/cpp/include/Ice/ProtocolPluginFacade.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/include/Ice/ProtocolPluginFacadeF.h b/cpp/include/Ice/ProtocolPluginFacadeF.h
index 2659b445c03..9dfe202ef7e 100644
--- a/cpp/include/Ice/ProtocolPluginFacadeF.h
+++ b/cpp/include/Ice/ProtocolPluginFacadeF.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/include/Ice/Proxy.h b/cpp/include/Ice/Proxy.h
index 94f95a61f28..3fc321a6c34 100644
--- a/cpp/include/Ice/Proxy.h
+++ b/cpp/include/Ice/Proxy.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/include/Ice/ProxyF.h b/cpp/include/Ice/ProxyF.h
index bef17c59f60..8a9184b959a 100644
--- a/cpp/include/Ice/ProxyF.h
+++ b/cpp/include/Ice/ProxyF.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/include/Ice/ProxyFactoryF.h b/cpp/include/Ice/ProxyFactoryF.h
index 6dd6d56a52e..dd2a9a2a95f 100644
--- a/cpp/include/Ice/ProxyFactoryF.h
+++ b/cpp/include/Ice/ProxyFactoryF.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/include/Ice/ProxyHandle.h b/cpp/include/Ice/ProxyHandle.h
index 90a4d65337d..f73222b703f 100644
--- a/cpp/include/Ice/ProxyHandle.h
+++ b/cpp/include/Ice/ProxyHandle.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/include/Ice/ReferenceF.h b/cpp/include/Ice/ReferenceF.h
index 5d7161497c0..71c70ccc9ff 100644
--- a/cpp/include/Ice/ReferenceF.h
+++ b/cpp/include/Ice/ReferenceF.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/include/Ice/RequestHandlerF.h b/cpp/include/Ice/RequestHandlerF.h
index 5f0fe006dfa..ecd7c0e1f03 100644
--- a/cpp/include/Ice/RequestHandlerF.h
+++ b/cpp/include/Ice/RequestHandlerF.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/include/Ice/ServantManagerF.h b/cpp/include/Ice/ServantManagerF.h
index 432f60dfab9..16e9132c243 100644
--- a/cpp/include/Ice/ServantManagerF.h
+++ b/cpp/include/Ice/ServantManagerF.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/include/Ice/Service.h b/cpp/include/Ice/Service.h
index 0e97101146b..9afb59498dd 100644
--- a/cpp/include/Ice/Service.h
+++ b/cpp/include/Ice/Service.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/include/Ice/SliceChecksums.h b/cpp/include/Ice/SliceChecksums.h
index 9ff5d3a6b78..95d6eca9985 100644
--- a/cpp/include/Ice/SliceChecksums.h
+++ b/cpp/include/Ice/SliceChecksums.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/include/Ice/Stream.h b/cpp/include/Ice/Stream.h
index 284fa65900f..a4f3d5721c9 100644
--- a/cpp/include/Ice/Stream.h
+++ b/cpp/include/Ice/Stream.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/include/Ice/StreamF.h b/cpp/include/Ice/StreamF.h
index 40b39f36b67..a938e7e99ea 100644
--- a/cpp/include/Ice/StreamF.h
+++ b/cpp/include/Ice/StreamF.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/include/Ice/StringConverter.h b/cpp/include/Ice/StringConverter.h
index c0caa060918..4166ad7f781 100644
--- a/cpp/include/Ice/StringConverter.h
+++ b/cpp/include/Ice/StringConverter.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.
@@ -107,7 +107,7 @@ private:
//
-// A special plugin that sets stringConverter and wstringConverter during
+// A special plug-in that sets stringConverter and wstringConverter during
// construction (when the provided stringConverter resp. wstringConverter
// are not null). Both initialize and destroy are no-op. See Ice::InitializationData.
//
diff --git a/cpp/include/Ice/UndefSysMacros.h b/cpp/include/Ice/UndefSysMacros.h
index 64e4648d0b1..10728448583 100644
--- a/cpp/include/Ice/UndefSysMacros.h
+++ b/cpp/include/Ice/UndefSysMacros.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/include/Ice/UserExceptionFactory.h b/cpp/include/Ice/UserExceptionFactory.h
index a93aa4195cf..0cfb83cfc23 100644
--- a/cpp/include/Ice/UserExceptionFactory.h
+++ b/cpp/include/Ice/UserExceptionFactory.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/include/Ice/UserExceptionFactoryF.h b/cpp/include/Ice/UserExceptionFactoryF.h
index ff9ee50d9e4..50b149e58bb 100644
--- a/cpp/include/Ice/UserExceptionFactoryF.h
+++ b/cpp/include/Ice/UserExceptionFactoryF.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/include/IceBox/Makefile b/cpp/include/IceBox/Makefile
index 6a0e7b7ba0d..b467c52ed37 100644
--- a/cpp/include/IceBox/Makefile
+++ b/cpp/include/IceBox/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/include/IceBox/Makefile.mak b/cpp/include/IceBox/Makefile.mak
index 1baa7c78d8e..1f9fe280342 100644
--- a/cpp/include/IceBox/Makefile.mak
+++ b/cpp/include/IceBox/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/include/IceGrid/IceGrid.h b/cpp/include/IceGrid/IceGrid.h
index aa84a0f066f..d0e75fa22df 100644
--- a/cpp/include/IceGrid/IceGrid.h
+++ b/cpp/include/IceGrid/IceGrid.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/include/IceGrid/Makefile b/cpp/include/IceGrid/Makefile
index 645e99ab31b..127572b5433 100644
--- a/cpp/include/IceGrid/Makefile
+++ b/cpp/include/IceGrid/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/include/IceGrid/Makefile.mak b/cpp/include/IceGrid/Makefile.mak
index 5661c61f762..c3814336cbc 100644
--- a/cpp/include/IceGrid/Makefile.mak
+++ b/cpp/include/IceGrid/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/include/IceGrid/Perf.h b/cpp/include/IceGrid/Perf.h
index 4bdfbb48442..69b9f07b37e 100644
--- a/cpp/include/IceGrid/Perf.h
+++ b/cpp/include/IceGrid/Perf.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/include/IcePatch2/ClientUtil.h b/cpp/include/IcePatch2/ClientUtil.h
index edf7f2894e5..8cf1d760c5b 100644
--- a/cpp/include/IcePatch2/ClientUtil.h
+++ b/cpp/include/IcePatch2/ClientUtil.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/include/IcePatch2/Makefile b/cpp/include/IcePatch2/Makefile
index f7fa4d7e872..bf7d7b63c27 100644
--- a/cpp/include/IcePatch2/Makefile
+++ b/cpp/include/IcePatch2/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/include/IcePatch2/Makefile.mak b/cpp/include/IcePatch2/Makefile.mak
index ab2202aa853..455cdf7ebfc 100644
--- a/cpp/include/IcePatch2/Makefile.mak
+++ b/cpp/include/IcePatch2/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/include/IceSSL/Makefile b/cpp/include/IceSSL/Makefile
index 9936106ead9..74e0d75a772 100644
--- a/cpp/include/IceSSL/Makefile
+++ b/cpp/include/IceSSL/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/include/IceSSL/Makefile.mak b/cpp/include/IceSSL/Makefile.mak
index 16fa4aa1ed7..303417dacfb 100644
--- a/cpp/include/IceSSL/Makefile.mak
+++ b/cpp/include/IceSSL/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/include/IceSSL/Plugin.h b/cpp/include/IceSSL/Plugin.h
index 468ea3a59b3..bd9c3e92580 100644
--- a/cpp/include/IceSSL/Plugin.h
+++ b/cpp/include/IceSSL/Plugin.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.
@@ -428,10 +428,10 @@ typedef IceUtil::Handle<CertificateVerifier> CertificateVerifierPtr;
// so the application can supply an implementation of PasswordPrompt
// to take responsibility for obtaining the password.
//
-// Note that the password is needed during plugin initialization, so
+// Note that the password is needed during plug-in initialization, so
// in general you will need to delay initialization (by defining
// IceSSL.DelayInit=1), configure the PasswordPrompt, then manually
-// initialize the plugin.
+// initialize the plug-in.
//
class PasswordPrompt : public IceUtil::Shared
{
@@ -452,13 +452,16 @@ public:
//
// Establish the OpenSSL context. This must be done before the
- // plugin is initialized, therefore the application must define
+ // plug-in is initialized, therefore the application must define
// the property Ice.InitPlugins=0, set the context, and finally
// invoke initializePlugins on the PluginManager.
//
// When the application supplies its own OpenSSL context, the
- // plugin skips its normal property-based configuration.
+ // plug-in ignores configuration properties related to certificates,
+ // keys, and passwords.
//
+ // Note that the plugin assumes ownership of the given context.
+ //
virtual void setContext(SSL_CTX*) = 0;
//
@@ -475,7 +478,7 @@ public:
//
// Establish the password prompt object. This must be done before
- // the plugin is initialized.
+ // the plug-in is initialized.
//
virtual void setPasswordPrompt(const PasswordPromptPtr&) = 0;
};
diff --git a/cpp/include/IceStorm/Makefile b/cpp/include/IceStorm/Makefile
index 8edd5409c54..f5bef65e3d8 100644
--- a/cpp/include/IceStorm/Makefile
+++ b/cpp/include/IceStorm/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/include/IceStorm/Makefile.mak b/cpp/include/IceStorm/Makefile.mak
index 02d69d76015..d3a5899d2f3 100644
--- a/cpp/include/IceStorm/Makefile.mak
+++ b/cpp/include/IceStorm/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/include/IceUtil/AbstractMutex.h b/cpp/include/IceUtil/AbstractMutex.h
index ac010f12e5e..b73d729f880 100644
--- a/cpp/include/IceUtil/AbstractMutex.h
+++ b/cpp/include/IceUtil/AbstractMutex.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/include/IceUtil/ArgVector.h b/cpp/include/IceUtil/ArgVector.h
index 31aa9a86dae..3fe66acef95 100644
--- a/cpp/include/IceUtil/ArgVector.h
+++ b/cpp/include/IceUtil/ArgVector.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/include/IceUtil/Cache.h b/cpp/include/IceUtil/Cache.h
index 93c1c521a60..988ef7b29dc 100644
--- a/cpp/include/IceUtil/Cache.h
+++ b/cpp/include/IceUtil/Cache.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/include/IceUtil/Cond.h b/cpp/include/IceUtil/Cond.h
index bb21236e3e3..98ce68e5e4e 100644
--- a/cpp/include/IceUtil/Cond.h
+++ b/cpp/include/IceUtil/Cond.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/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
index 41bbcd39a57..28bd4f27e90 100644
--- a/cpp/include/IceUtil/Config.h
+++ b/cpp/include/IceUtil/Config.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.
@@ -214,7 +214,7 @@ typedef long long Int64;
//
// The Ice version.
//
-#define ICE_STRING_VERSION "3.3.0" // "A.B.C", with A=major, B=minor, C=patch
-#define ICE_INT_VERSION 30300 // AABBCC, with AA=major, BB=minor, CC=patch
+#define ICE_STRING_VERSION "3.3.1" // "A.B.C", with A=major, B=minor, C=patch
+#define ICE_INT_VERSION 30301 // AABBCC, with AA=major, BB=minor, CC=patch
#endif
diff --git a/cpp/include/IceUtil/CountDownLatch.h b/cpp/include/IceUtil/CountDownLatch.h
index a7064eb85e1..f1428bd0b5e 100644
--- a/cpp/include/IceUtil/CountDownLatch.h
+++ b/cpp/include/IceUtil/CountDownLatch.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/include/IceUtil/CtrlCHandler.h b/cpp/include/IceUtil/CtrlCHandler.h
index 3302e1b149e..68774fe5be6 100644
--- a/cpp/include/IceUtil/CtrlCHandler.h
+++ b/cpp/include/IceUtil/CtrlCHandler.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/include/IceUtil/DisableWarnings.h b/cpp/include/IceUtil/DisableWarnings.h
index 2d48a705b68..50c147a3455 100644
--- a/cpp/include/IceUtil/DisableWarnings.h
+++ b/cpp/include/IceUtil/DisableWarnings.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/include/IceUtil/Exception.h b/cpp/include/IceUtil/Exception.h
index 07632f87d75..907d7046c57 100644
--- a/cpp/include/IceUtil/Exception.h
+++ b/cpp/include/IceUtil/Exception.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/include/IceUtil/FileUtil.h b/cpp/include/IceUtil/FileUtil.h
index 8f4d7b1f348..d081a6a5cba 100644
--- a/cpp/include/IceUtil/FileUtil.h
+++ b/cpp/include/IceUtil/FileUtil.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/include/IceUtil/Functional.h b/cpp/include/IceUtil/Functional.h
index dbe0061b7be..a6240139fc5 100644
--- a/cpp/include/IceUtil/Functional.h
+++ b/cpp/include/IceUtil/Functional.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/include/IceUtil/Handle.h b/cpp/include/IceUtil/Handle.h
index cbd10974581..d466b4304ed 100644
--- a/cpp/include/IceUtil/Handle.h
+++ b/cpp/include/IceUtil/Handle.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/include/IceUtil/IceUtil.h b/cpp/include/IceUtil/IceUtil.h
index a5ef4ad4e0b..469e2355189 100644
--- a/cpp/include/IceUtil/IceUtil.h
+++ b/cpp/include/IceUtil/IceUtil.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/include/IceUtil/InputUtil.h b/cpp/include/IceUtil/InputUtil.h
index 4515790c227..da47a209766 100644
--- a/cpp/include/IceUtil/InputUtil.h
+++ b/cpp/include/IceUtil/InputUtil.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/include/IceUtil/Iterator.h b/cpp/include/IceUtil/Iterator.h
index 94be3573832..052a4071147 100644
--- a/cpp/include/IceUtil/Iterator.h
+++ b/cpp/include/IceUtil/Iterator.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/include/IceUtil/Lock.h b/cpp/include/IceUtil/Lock.h
index f2a48e8e86c..3ed58aeee18 100644
--- a/cpp/include/IceUtil/Lock.h
+++ b/cpp/include/IceUtil/Lock.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/include/IceUtil/Makefile b/cpp/include/IceUtil/Makefile
index f82add9954e..8739688ddd6 100644
--- a/cpp/include/IceUtil/Makefile
+++ b/cpp/include/IceUtil/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/include/IceUtil/Makefile.mak b/cpp/include/IceUtil/Makefile.mak
index fa32ff788e4..1a01b70ab0b 100644
--- a/cpp/include/IceUtil/Makefile.mak
+++ b/cpp/include/IceUtil/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/include/IceUtil/Monitor.h b/cpp/include/IceUtil/Monitor.h
index ffda0eafc1b..d75814643ec 100644
--- a/cpp/include/IceUtil/Monitor.h
+++ b/cpp/include/IceUtil/Monitor.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/include/IceUtil/Mutex.h b/cpp/include/IceUtil/Mutex.h
index 1d7f3fb018b..af0c709f89e 100644
--- a/cpp/include/IceUtil/Mutex.h
+++ b/cpp/include/IceUtil/Mutex.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/include/IceUtil/Options.h b/cpp/include/IceUtil/Options.h
index e6f5c4f487d..997ffea52b3 100644
--- a/cpp/include/IceUtil/Options.h
+++ b/cpp/include/IceUtil/Options.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/include/IceUtil/OutputUtil.h b/cpp/include/IceUtil/OutputUtil.h
index f068f19eb6e..4327c72ff53 100644
--- a/cpp/include/IceUtil/OutputUtil.h
+++ b/cpp/include/IceUtil/OutputUtil.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/include/IceUtil/RWRecMutex.h b/cpp/include/IceUtil/RWRecMutex.h
index e25b26bed51..a4cf81b18f5 100644
--- a/cpp/include/IceUtil/RWRecMutex.h
+++ b/cpp/include/IceUtil/RWRecMutex.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/include/IceUtil/Random.h b/cpp/include/IceUtil/Random.h
index 5493f6bc2a4..f2057ddcf75 100644
--- a/cpp/include/IceUtil/Random.h
+++ b/cpp/include/IceUtil/Random.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/include/IceUtil/RecMutex.h b/cpp/include/IceUtil/RecMutex.h
index 6f53b9f6565..70aa66109a7 100644
--- a/cpp/include/IceUtil/RecMutex.h
+++ b/cpp/include/IceUtil/RecMutex.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/include/IceUtil/ScopedArray.h b/cpp/include/IceUtil/ScopedArray.h
index a05237e0675..82f85a9dbf1 100644
--- a/cpp/include/IceUtil/ScopedArray.h
+++ b/cpp/include/IceUtil/ScopedArray.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/include/IceUtil/Shared.h b/cpp/include/IceUtil/Shared.h
index 050654e9c7d..a23a55fb3ae 100644
--- a/cpp/include/IceUtil/Shared.h
+++ b/cpp/include/IceUtil/Shared.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/include/IceUtil/StaticMutex.h b/cpp/include/IceUtil/StaticMutex.h
index 8ba9a3e23c9..9ba6f387c90 100644
--- a/cpp/include/IceUtil/StaticMutex.h
+++ b/cpp/include/IceUtil/StaticMutex.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/include/IceUtil/StringUtil.h b/cpp/include/IceUtil/StringUtil.h
index 351739cc311..72f061e311e 100644
--- a/cpp/include/IceUtil/StringUtil.h
+++ b/cpp/include/IceUtil/StringUtil.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.
@@ -65,6 +65,18 @@ ICE_UTIL_API std::string errorToString(int, LPCVOID = NULL);
#else
ICE_UTIL_API std::string errorToString(int);
#endif
+
+//
+// Functions to convert to to all lower/upper case
+//
+ICE_UTIL_API std::string toLower(const std::string&);
+ICE_UTIL_API std::string toUpper(const std::string&);
+
+//
+// Remove all whitespace from a string
+//
+ICE_UTIL_API std::string removeWhitespace(const std::string&);
+
}
#endif
diff --git a/cpp/include/IceUtil/Thread.h b/cpp/include/IceUtil/Thread.h
index 57a2184908a..65284b3b5fd 100644
--- a/cpp/include/IceUtil/Thread.h
+++ b/cpp/include/IceUtil/Thread.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/include/IceUtil/ThreadException.h b/cpp/include/IceUtil/ThreadException.h
index 5f2f85aa2c2..f11d55e89c5 100644
--- a/cpp/include/IceUtil/ThreadException.h
+++ b/cpp/include/IceUtil/ThreadException.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/include/IceUtil/Time.h b/cpp/include/IceUtil/Time.h
index a2be6a13f0f..80cbc0ad625 100644
--- a/cpp/include/IceUtil/Time.h
+++ b/cpp/include/IceUtil/Time.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/include/IceUtil/Timer.h b/cpp/include/IceUtil/Timer.h
index f0920bb03b3..2683c87d062 100644
--- a/cpp/include/IceUtil/Timer.h
+++ b/cpp/include/IceUtil/Timer.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/include/IceUtil/UUID.h b/cpp/include/IceUtil/UUID.h
index f4e0fa33bab..2783f5f83d8 100644
--- a/cpp/include/IceUtil/UUID.h
+++ b/cpp/include/IceUtil/UUID.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/include/IceUtil/Unicode.h b/cpp/include/IceUtil/Unicode.h
index 4360437f7f6..0152530415e 100644
--- a/cpp/include/IceUtil/Unicode.h
+++ b/cpp/include/IceUtil/Unicode.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/include/IceXML/Makefile b/cpp/include/IceXML/Makefile
index e8279e783d2..9794ccc0179 100644
--- a/cpp/include/IceXML/Makefile
+++ b/cpp/include/IceXML/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/include/IceXML/Makefile.mak b/cpp/include/IceXML/Makefile.mak
index 918fff79c9b..38e1c70612b 100644
--- a/cpp/include/IceXML/Makefile.mak
+++ b/cpp/include/IceXML/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/include/IceXML/Parser.h b/cpp/include/IceXML/Parser.h
index 1117e5d75b6..1cab37b7eea 100644
--- a/cpp/include/IceXML/Parser.h
+++ b/cpp/include/IceXML/Parser.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/include/Makefile b/cpp/include/Makefile
index b86987d0969..225b85678a7 100644
--- a/cpp/include/Makefile
+++ b/cpp/include/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/include/Makefile.mak b/cpp/include/Makefile.mak
index 4c5bcd0b35f..2ee6e8bdf07 100644
--- a/cpp/include/Makefile.mak
+++ b/cpp/include/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/include/Slice/CPlusPlusUtil.h b/cpp/include/Slice/CPlusPlusUtil.h
index ee8cc298cc1..4fc6ea5e822 100644
--- a/cpp/include/Slice/CPlusPlusUtil.h
+++ b/cpp/include/Slice/CPlusPlusUtil.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/include/Slice/Checksum.h b/cpp/include/Slice/Checksum.h
index f01a5430007..c02fa920163 100644
--- a/cpp/include/Slice/Checksum.h
+++ b/cpp/include/Slice/Checksum.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/include/Slice/CsUtil.h b/cpp/include/Slice/CsUtil.h
index 044b2dcc7cd..e9acdfc8138 100644
--- a/cpp/include/Slice/CsUtil.h
+++ b/cpp/include/Slice/CsUtil.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/include/Slice/DotNetNames.h b/cpp/include/Slice/DotNetNames.h
index 31fab7dc985..63d0cd08981 100644
--- a/cpp/include/Slice/DotNetNames.h
+++ b/cpp/include/Slice/DotNetNames.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/include/Slice/FileTracker.h b/cpp/include/Slice/FileTracker.h
new file mode 100644
index 00000000000..944774d809b
--- /dev/null
+++ b/cpp/include/Slice/FileTracker.h
@@ -0,0 +1,62 @@
+// **********************************************************************
+//
+// 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 FILE_TRACKER_H
+#define FILE_TRACKER_H
+
+#include <IceUtil/Shared.h>
+#include <Slice/Parser.h>
+
+namespace Slice
+{
+
+class SLICE_API FileException : public ::IceUtil::Exception
+{
+public:
+
+ FileException(const char*, int, const std::string&);
+ ~FileException() throw();
+ virtual std::string ice_name() const;
+ virtual void ice_print(std::ostream&) const;
+ virtual ::IceUtil::Exception* ice_clone() const;
+ virtual void ice_throw() const;
+
+ std::string reason() const;
+
+private:
+
+ static const char* _name;
+ const std::string _reason;
+};
+
+class FileTracker;
+typedef IceUtil::Handle<FileTracker> FileTrackerPtr;
+
+class SLICE_API FileTracker : public ::IceUtil::SimpleShared
+{
+public:
+
+ FileTracker();
+ ~FileTracker();
+
+ static FileTrackerPtr instance();
+
+ void addFile(const std::string&);
+ void addDirectory(const std::string&);
+
+ void cleanup();
+
+private:
+
+ std::list<std::pair< std::string, bool> > _files;
+};
+
+}
+
+#endif
diff --git a/cpp/include/Slice/JavaUtil.h b/cpp/include/Slice/JavaUtil.h
index 124fbc58ecb..d85ae3cf2bb 100644
--- a/cpp/include/Slice/JavaUtil.h
+++ b/cpp/include/Slice/JavaUtil.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.
@@ -36,7 +36,7 @@ public:
// printHeader() and then emits a "package" statement if
// necessary.
//
- bool openClass(const std::string&, const std::string& = std::string());
+ void openClass(const std::string&, const std::string& = std::string());
virtual void printHeader();
};
@@ -64,7 +64,7 @@ protected:
// Given the fully-scoped Java class name, create any intermediate
// package directories and open the class file
//
- bool open(const std::string&);
+ void open(const std::string&);
::IceUtilInternal::Output& output() const;
diff --git a/cpp/include/Slice/Makefile b/cpp/include/Slice/Makefile
index 882de6df52c..eecf278ce01 100644
--- a/cpp/include/Slice/Makefile
+++ b/cpp/include/Slice/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/include/Slice/Makefile.mak b/cpp/include/Slice/Makefile.mak
index 51427e41cef..a55f64b87a6 100644
--- a/cpp/include/Slice/Makefile.mak
+++ b/cpp/include/Slice/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/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index c8e9ebb6ad9..4d0aac70b79 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.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/include/Slice/Preprocessor.h b/cpp/include/Slice/Preprocessor.h
index 97da004e9bc..98a018fbfbe 100644
--- a/cpp/include/Slice/Preprocessor.h
+++ b/cpp/include/Slice/Preprocessor.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.
@@ -40,7 +40,7 @@ public:
enum Language { CPlusPlus, Java, CSharp, VisualBasic };
- void printMakefileDependencies(Language, const std::vector<std::string>&);
+ bool printMakefileDependencies(Language, const std::vector<std::string>&);
std::string getBaseName();
@@ -54,7 +54,11 @@ private:
const std::string _path;
const std::string _fileName;
const std::vector<std::string> _args;
+#ifdef _WIN32
+ std::wstring _cppFile;
+#else
std::string _cppFile;
+#endif
FILE* _cppHandle;
};
diff --git a/cpp/include/Slice/PythonUtil.h b/cpp/include/Slice/PythonUtil.h
index 6814d208d54..017c00e5f1e 100644
--- a/cpp/include/Slice/PythonUtil.h
+++ b/cpp/include/Slice/PythonUtil.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/include/Slice/RubyUtil.h b/cpp/include/Slice/RubyUtil.h
index b4607f75328..2274260705c 100644
--- a/cpp/include/Slice/RubyUtil.h
+++ b/cpp/include/Slice/RubyUtil.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/include/Slice/SignalHandler.h b/cpp/include/Slice/SignalHandler.h
deleted file mode 100644
index 318547cf5ae..00000000000
--- a/cpp/include/Slice/SignalHandler.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. 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 SLICE_SIGNAL_HANDLER_H
-#define SLICE_SIGNAL_HANDLER_H
-
-#include <IceUtil/Config.h>
-#include <string>
-
-#ifndef SLICE_API
-# ifdef SLICE_API_EXPORTS
-# define SLICE_API ICE_DECLSPEC_EXPORT
-# else
-# define SLICE_API ICE_DECLSPEC_IMPORT
-# endif
-#endif
-
-namespace Slice
-{
-
-typedef void (*SignalHandlerCallback)();
-
-class SLICE_API SignalHandler
-{
-public:
-
- SignalHandler();
- ~SignalHandler();
-
- static void setCallback(SignalHandlerCallback);
-
- static void addFile(const std::string&);
-};
-
-}
-
-#endif
diff --git a/cpp/include/Slice/Util.h b/cpp/include/Slice/Util.h
index 484c0e77cff..1e645595ea4 100644
--- a/cpp/include/Slice/Util.h
+++ b/cpp/include/Slice/Util.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/src/Freeze/BackgroundSaveEvictorI.cpp b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
index b4b318b2ce6..a6ddfea7a67 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.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.
@@ -198,7 +198,9 @@ Freeze::BackgroundSaveEvictorI::BackgroundSaveEvictorI(const ObjectAdapterPtr& a
//
// Start saving thread
//
+ __setNoDelete(true);
start();
+ __setNoDelete(false);
}
diff --git a/cpp/src/Freeze/BackgroundSaveEvictorI.h b/cpp/src/Freeze/BackgroundSaveEvictorI.h
index 32bb9361b21..d01fb5e8768 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.h
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.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/src/Freeze/ConnectionI.cpp b/cpp/src/Freeze/ConnectionI.cpp
index 2ac6c73f92a..13e981f693e 100644
--- a/cpp/src/Freeze/ConnectionI.cpp
+++ b/cpp/src/Freeze/ConnectionI.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/src/Freeze/ConnectionI.h b/cpp/src/Freeze/ConnectionI.h
index 3f7d168d120..20baeb07f2e 100644
--- a/cpp/src/Freeze/ConnectionI.h
+++ b/cpp/src/Freeze/ConnectionI.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/src/Freeze/EvictorI.cpp b/cpp/src/Freeze/EvictorI.cpp
index fd4a30a4c0c..7c75bb65d8d 100644
--- a/cpp/src/Freeze/EvictorI.cpp
+++ b/cpp/src/Freeze/EvictorI.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/src/Freeze/EvictorI.h b/cpp/src/Freeze/EvictorI.h
index 9eff024a02f..03d70f7ccf2 100644
--- a/cpp/src/Freeze/EvictorI.h
+++ b/cpp/src/Freeze/EvictorI.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/src/Freeze/EvictorIteratorI.cpp b/cpp/src/Freeze/EvictorIteratorI.cpp
index 2c6821a0621..ea3920e22c4 100644
--- a/cpp/src/Freeze/EvictorIteratorI.cpp
+++ b/cpp/src/Freeze/EvictorIteratorI.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/src/Freeze/EvictorIteratorI.h b/cpp/src/Freeze/EvictorIteratorI.h
index ac381cd6b9e..feca70976f0 100644
--- a/cpp/src/Freeze/EvictorIteratorI.h
+++ b/cpp/src/Freeze/EvictorIteratorI.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/src/Freeze/Freeze.rc b/cpp/src/Freeze/Freeze.rc
index a3e2095a00e..7b0f81d2f69 100644
--- a/cpp/src/Freeze/Freeze.rc
+++ b/cpp/src/Freeze/Freeze.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Freeze DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/Freeze/Index.cpp b/cpp/src/Freeze/Index.cpp
index 4e99743ab22..77b52573060 100644
--- a/cpp/src/Freeze/Index.cpp
+++ b/cpp/src/Freeze/Index.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/src/Freeze/IndexI.cpp b/cpp/src/Freeze/IndexI.cpp
index 25c2de284c3..0115e58a7b2 100644
--- a/cpp/src/Freeze/IndexI.cpp
+++ b/cpp/src/Freeze/IndexI.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/src/Freeze/IndexI.h b/cpp/src/Freeze/IndexI.h
index d7f69ff1758..243cda835a8 100644
--- a/cpp/src/Freeze/IndexI.h
+++ b/cpp/src/Freeze/IndexI.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/src/Freeze/Makefile b/cpp/src/Freeze/Makefile
index 827eebfe525..5595058c658 100644
--- a/cpp/src/Freeze/Makefile
+++ b/cpp/src/Freeze/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/src/Freeze/Makefile.mak b/cpp/src/Freeze/Makefile.mak
index b0e550e6a6e..237d0d21580 100644
--- a/cpp/src/Freeze/Makefile.mak
+++ b/cpp/src/Freeze/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/src/Freeze/MapDb.cpp b/cpp/src/Freeze/MapDb.cpp
index c28f1bf62f4..1978575c40a 100644
--- a/cpp/src/Freeze/MapDb.cpp
+++ b/cpp/src/Freeze/MapDb.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/src/Freeze/MapDb.h b/cpp/src/Freeze/MapDb.h
index e52b3b550f5..1d509e56ccb 100644
--- a/cpp/src/Freeze/MapDb.h
+++ b/cpp/src/Freeze/MapDb.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/src/Freeze/MapI.cpp b/cpp/src/Freeze/MapI.cpp
index 3bb4a7c0e54..225890374b6 100644
--- a/cpp/src/Freeze/MapI.cpp
+++ b/cpp/src/Freeze/MapI.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/src/Freeze/MapI.h b/cpp/src/Freeze/MapI.h
index 37185cc31dc..ecc61c2b88f 100644
--- a/cpp/src/Freeze/MapI.h
+++ b/cpp/src/Freeze/MapI.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/src/Freeze/ObjectStore.cpp b/cpp/src/Freeze/ObjectStore.cpp
index 04e4550e57d..8e433b9eae9 100644
--- a/cpp/src/Freeze/ObjectStore.cpp
+++ b/cpp/src/Freeze/ObjectStore.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/src/Freeze/ObjectStore.h b/cpp/src/Freeze/ObjectStore.h
index 1f9f389035a..0b47c8a9177 100644
--- a/cpp/src/Freeze/ObjectStore.h
+++ b/cpp/src/Freeze/ObjectStore.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/src/Freeze/PingObject.ice b/cpp/src/Freeze/PingObject.ice
index 0fc98ca58ee..9ef1772eb57 100644
--- a/cpp/src/Freeze/PingObject.ice
+++ b/cpp/src/Freeze/PingObject.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/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp
index 620a17459b9..88ca89dbedd 100644
--- a/cpp/src/Freeze/SharedDbEnv.cpp
+++ b/cpp/src/Freeze/SharedDbEnv.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.
@@ -506,7 +506,11 @@ Freeze::SharedDbEnv::SharedDbEnv(const std::string& envName,
if(autoDelete)
{
- _env->set_flags(DB_LOG_AUTOREMOVE, 1);
+ #ifdef DB_LOG_AUTO_REMOVE //This is the new name for the property from DB 4.7
+ _env->set_flags(DB_LOG_AUTO_REMOVE, 1);
+ #else
+ _env->set_flags(DB_LOG_AUTOREMOVE, 1);
+ #endif
}
//
@@ -604,7 +608,9 @@ Freeze::CheckpointThread::CheckpointThread(SharedDbEnv& dbEnv, const Time& check
_kbyte(kbyte),
_trace(trace)
{
+ __setNoDelete(true);
start();
+ __setNoDelete(false);
}
void
diff --git a/cpp/src/Freeze/SharedDbEnv.h b/cpp/src/Freeze/SharedDbEnv.h
index c153b23cfd8..9d249bea6b5 100644
--- a/cpp/src/Freeze/SharedDbEnv.h
+++ b/cpp/src/Freeze/SharedDbEnv.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/src/Freeze/TransactionHolder.cpp b/cpp/src/Freeze/TransactionHolder.cpp
index ef6ebc03525..5055583461b 100644
--- a/cpp/src/Freeze/TransactionHolder.cpp
+++ b/cpp/src/Freeze/TransactionHolder.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/src/Freeze/TransactionI.cpp b/cpp/src/Freeze/TransactionI.cpp
index ac595af5120..b710e7b78cf 100644
--- a/cpp/src/Freeze/TransactionI.cpp
+++ b/cpp/src/Freeze/TransactionI.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.
@@ -270,7 +270,10 @@ Freeze::TransactionI::postCompletion(bool committed, bool deadlock)
if(_postCompletionCallback != 0)
{
- _postCompletionCallback->postCompletion(committed, deadlock);
+ PostCompletionCallbackPtr cb = _postCompletionCallback;
+ _postCompletionCallback = 0;
+
+ cb->postCompletion(committed, deadlock);
}
ConnectionIPtr connection = _connection;
diff --git a/cpp/src/Freeze/TransactionI.h b/cpp/src/Freeze/TransactionI.h
index 36363f1e3fd..f49f4834110 100644
--- a/cpp/src/Freeze/TransactionI.h
+++ b/cpp/src/Freeze/TransactionI.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/src/Freeze/TransactionalEvictorContext.cpp b/cpp/src/Freeze/TransactionalEvictorContext.cpp
index 86da89cc41a..9123b732557 100644
--- a/cpp/src/Freeze/TransactionalEvictorContext.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorContext.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/src/Freeze/TransactionalEvictorContext.h b/cpp/src/Freeze/TransactionalEvictorContext.h
index 9617b94f20e..0128b938be0 100644
--- a/cpp/src/Freeze/TransactionalEvictorContext.h
+++ b/cpp/src/Freeze/TransactionalEvictorContext.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/src/Freeze/TransactionalEvictorI.cpp b/cpp/src/Freeze/TransactionalEvictorI.cpp
index e2798be89da..c659cfdf198 100644
--- a/cpp/src/Freeze/TransactionalEvictorI.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorI.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.
@@ -625,7 +625,7 @@ Freeze::TransactionalEvictorI::dispatch(Request& request)
}
//
- // Can be reached
+ // Can't be reached
//
assert(0);
throw OperationNotExistException(__FILE__, __LINE__);
@@ -637,6 +637,17 @@ Freeze::TransactionalEvictorI::deactivate(const string&)
{
if(_deactivateController.deactivate())
{
+ {
+ Lock sync(*this);
+
+ //
+ // Set the evictor size to zero, meaning that we will evict
+ // everything possible.
+ //
+ _evictorSize = 0;
+ evict();
+ }
+
//
// Break cycle
//
diff --git a/cpp/src/Freeze/TransactionalEvictorI.h b/cpp/src/Freeze/TransactionalEvictorI.h
index 39de72e7b6e..e5d2ea3d530 100644
--- a/cpp/src/Freeze/TransactionalEvictorI.h
+++ b/cpp/src/Freeze/TransactionalEvictorI.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/src/Freeze/Util.cpp b/cpp/src/Freeze/Util.cpp
index 9fda8e35085..5762c68573a 100644
--- a/cpp/src/Freeze/Util.cpp
+++ b/cpp/src/Freeze/Util.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/src/Freeze/Util.h b/cpp/src/Freeze/Util.h
index e4e8b0adc2b..6a2bbbdf214 100644
--- a/cpp/src/Freeze/Util.h
+++ b/cpp/src/Freeze/Util.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/src/FreezeScript/AssignVisitor.cpp b/cpp/src/FreezeScript/AssignVisitor.cpp
index 1cb3f6be806..f8b97c53356 100644
--- a/cpp/src/FreezeScript/AssignVisitor.cpp
+++ b/cpp/src/FreezeScript/AssignVisitor.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/src/FreezeScript/AssignVisitor.h b/cpp/src/FreezeScript/AssignVisitor.h
index 6736c6028b0..4ba69dd5440 100644
--- a/cpp/src/FreezeScript/AssignVisitor.h
+++ b/cpp/src/FreezeScript/AssignVisitor.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/src/FreezeScript/Data.cpp b/cpp/src/FreezeScript/Data.cpp
index 5dd87b8a343..247141bf6c5 100644
--- a/cpp/src/FreezeScript/Data.cpp
+++ b/cpp/src/FreezeScript/Data.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/src/FreezeScript/Data.h b/cpp/src/FreezeScript/Data.h
index 04994180d07..8c058afb9ad 100644
--- a/cpp/src/FreezeScript/Data.h
+++ b/cpp/src/FreezeScript/Data.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/src/FreezeScript/DumpDB.cpp b/cpp/src/FreezeScript/DumpDB.cpp
index 3c79c5cf007..e5958d57059 100644
--- a/cpp/src/FreezeScript/DumpDB.cpp
+++ b/cpp/src/FreezeScript/DumpDB.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/src/FreezeScript/DumpDB.rc b/cpp/src/FreezeScript/DumpDB.rc
index 19d40cf0d28..a1a7d9d955f 100644
--- a/cpp/src/FreezeScript/DumpDB.rc
+++ b/cpp/src/FreezeScript/DumpDB.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Dump Database\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "dumpdb\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", "dumpdb.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/FreezeScript/DumpDescriptors.cpp b/cpp/src/FreezeScript/DumpDescriptors.cpp
index 166ef33d4b6..78fe53e2b9e 100644
--- a/cpp/src/FreezeScript/DumpDescriptors.cpp
+++ b/cpp/src/FreezeScript/DumpDescriptors.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/src/FreezeScript/DumpDescriptors.h b/cpp/src/FreezeScript/DumpDescriptors.h
index f748da0bc3d..3d295535410 100644
--- a/cpp/src/FreezeScript/DumpDescriptors.h
+++ b/cpp/src/FreezeScript/DumpDescriptors.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/src/FreezeScript/Error.cpp b/cpp/src/FreezeScript/Error.cpp
index 509fe03583a..0ec97961a0d 100644
--- a/cpp/src/FreezeScript/Error.cpp
+++ b/cpp/src/FreezeScript/Error.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/src/FreezeScript/Error.h b/cpp/src/FreezeScript/Error.h
index 511f18cf66b..05a155003ca 100644
--- a/cpp/src/FreezeScript/Error.h
+++ b/cpp/src/FreezeScript/Error.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/src/FreezeScript/Exception.cpp b/cpp/src/FreezeScript/Exception.cpp
index d689cf77a2f..c9effde8533 100644
--- a/cpp/src/FreezeScript/Exception.cpp
+++ b/cpp/src/FreezeScript/Exception.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/src/FreezeScript/Exception.h b/cpp/src/FreezeScript/Exception.h
index c1e98cfc8fa..2f28977c263 100644
--- a/cpp/src/FreezeScript/Exception.h
+++ b/cpp/src/FreezeScript/Exception.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/src/FreezeScript/Functions.cpp b/cpp/src/FreezeScript/Functions.cpp
index fe5a3192d77..41d6e279627 100644
--- a/cpp/src/FreezeScript/Functions.cpp
+++ b/cpp/src/FreezeScript/Functions.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.
@@ -10,6 +10,7 @@
#include <FreezeScript/Functions.h>
#include <FreezeScript/Util.h>
#include <IceUtil/UUID.h>
+#include <IceUtil/StringUtil.h>
using namespace std;
@@ -177,8 +178,7 @@ FreezeScript::invokeGlobalFunction(const Ice::CommunicatorPtr& communicator, con
{
errorReporter->error("lowercase() requires a string argument");
}
- string val = str->stringValue();
- transform(val.begin(), val.end(), val.begin(), ::tolower);
+ string val = IceUtilInternal::toLower(str->stringValue());
result = factory->createString(val, false);
return true;
}
diff --git a/cpp/src/FreezeScript/Functions.h b/cpp/src/FreezeScript/Functions.h
index 0d146a0e5da..19084c15dac 100644
--- a/cpp/src/FreezeScript/Functions.h
+++ b/cpp/src/FreezeScript/Functions.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/src/FreezeScript/Grammar.cpp b/cpp/src/FreezeScript/Grammar.cpp
new file mode 100644
index 00000000000..44df79bb717
--- /dev/null
+++ b/cpp/src/FreezeScript/Grammar.cpp
@@ -0,0 +1,1674 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+/* If NAME_PREFIX is specified substitute the variables and functions
+ names. */
+#define yyparse freeze_script_parse
+#define yylex freeze_script_lex
+#define yyerror freeze_script_error
+#define yylval freeze_script_lval
+#define yychar freeze_script_char
+#define yydebug freeze_script_debug
+#define yynerrs freeze_script_nerrs
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_AND = 258,
+ TOK_OR = 259,
+ TOK_NOT = 260,
+ TOK_ADD = 261,
+ TOK_SUB = 262,
+ TOK_MUL = 263,
+ TOK_DIV = 264,
+ TOK_MOD = 265,
+ TOK_LPAREN = 266,
+ TOK_RPAREN = 267,
+ TOK_LBRACKET = 268,
+ TOK_RBRACKET = 269,
+ TOK_LESS_THAN = 270,
+ TOK_GREATER_THAN = 271,
+ TOK_LESS_EQUAL = 272,
+ TOK_GREATER_EQUAL = 273,
+ TOK_EQUAL = 274,
+ TOK_NEQ = 275,
+ TOK_TRUE = 276,
+ TOK_FALSE = 277,
+ TOK_NIL = 278,
+ TOK_SCOPE_DELIMITER = 279,
+ TOK_IDENTIFIER = 280,
+ TOK_STRING_LITERAL = 281,
+ TOK_INTEGER_LITERAL = 282,
+ TOK_FLOATING_POINT_LITERAL = 283,
+ UNARY_OP = 284
+ };
+#endif
+#define TOK_AND 258
+#define TOK_OR 259
+#define TOK_NOT 260
+#define TOK_ADD 261
+#define TOK_SUB 262
+#define TOK_MUL 263
+#define TOK_DIV 264
+#define TOK_MOD 265
+#define TOK_LPAREN 266
+#define TOK_RPAREN 267
+#define TOK_LBRACKET 268
+#define TOK_RBRACKET 269
+#define TOK_LESS_THAN 270
+#define TOK_GREATER_THAN 271
+#define TOK_LESS_EQUAL 272
+#define TOK_GREATER_EQUAL 273
+#define TOK_EQUAL 274
+#define TOK_NEQ 275
+#define TOK_TRUE 276
+#define TOK_FALSE 277
+#define TOK_NIL 278
+#define TOK_SCOPE_DELIMITER 279
+#define TOK_IDENTIFIER 280
+#define TOK_STRING_LITERAL 281
+#define TOK_INTEGER_LITERAL 282
+#define TOK_FLOATING_POINT_LITERAL 283
+#define UNARY_OP 284
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "../FreezeScript/Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <FreezeScript/GrammarUtil.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace FreezeScript;
+
+void
+freeze_script_error(const char* s)
+{
+ // yacc and recent versions of Bison use "syntax error" instead
+ // of "parse error".
+
+ if(strcmp(s, "parse error") == 0)
+ {
+ parseErrorReporter->expressionSyntaxError("syntax error");
+ }
+ else
+ {
+ parseErrorReporter->expressionSyntaxError(s);
+ }
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 196 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 24
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 111
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 32
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 9
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 39
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 65
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 284
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 31, 2, 30, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 7, 11, 15, 19, 23, 27,
+ 31, 35, 39, 43, 47, 51, 55, 59, 61, 65,
+ 68, 71, 73, 75, 77, 79, 81, 83, 85, 89,
+ 91, 93, 98, 102, 104, 109, 113, 115, 116, 120
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 33, 0, -1, 34, -1, 35, -1, 35, 15, 35,
+ -1, 35, 16, 35, -1, 35, 17, 35, -1, 35,
+ 18, 35, -1, 35, 19, 35, -1, 35, 20, 35,
+ -1, 35, 4, 35, -1, 35, 3, 35, -1, 35,
+ 8, 35, -1, 35, 9, 35, -1, 35, 10, 35,
+ -1, 35, 6, 35, -1, 35, 7, 35, -1, 36,
+ -1, 11, 34, 12, -1, 7, 36, -1, 5, 36,
+ -1, 27, -1, 28, -1, 26, -1, 21, -1, 22,
+ -1, 23, -1, 37, -1, 37, 30, 38, -1, 38,
+ -1, 40, -1, 37, 13, 34, 14, -1, 37, 30,
+ 25, -1, 25, -1, 25, 11, 39, 12, -1, 39,
+ 31, 34, -1, 34, -1, -1, 40, 24, 25, -1,
+ 24, 25, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short yyrline[] =
+{
+ 0, 84, 84, 93, 102, 106, 110, 114, 118, 122,
+ 126, 130, 134, 138, 142, 146, 150, 154, 163, 167,
+ 171, 175, 181, 187, 193, 197, 201, 205, 209, 218,
+ 222, 233, 240, 249, 260, 273, 280, 287, 295, 304
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOK_AND", "TOK_OR", "TOK_NOT",
+ "TOK_ADD", "TOK_SUB", "TOK_MUL", "TOK_DIV", "TOK_MOD", "TOK_LPAREN",
+ "TOK_RPAREN", "TOK_LBRACKET", "TOK_RBRACKET", "TOK_LESS_THAN",
+ "TOK_GREATER_THAN", "TOK_LESS_EQUAL", "TOK_GREATER_EQUAL", "TOK_EQUAL",
+ "TOK_NEQ", "TOK_TRUE", "TOK_FALSE", "TOK_NIL", "TOK_SCOPE_DELIMITER",
+ "TOK_IDENTIFIER", "TOK_STRING_LITERAL", "TOK_INTEGER_LITERAL",
+ "TOK_FLOATING_POINT_LITERAL", "UNARY_OP", "'.'", "','", "$accept",
+ "start", "expr", "binary", "unary", "entity", "function", "arg_list",
+ "constant", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 46, 44
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 32, 33, 34, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 36, 36,
+ 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
+ 36, 37, 37, 37, 38, 39, 39, 39, 40, 40
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 1, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 1, 3, 2,
+ 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
+ 1, 4, 3, 1, 4, 3, 1, 0, 3, 2
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 24, 25, 26, 0, 33, 23,
+ 21, 22, 0, 2, 3, 17, 27, 29, 30, 20,
+ 19, 0, 39, 37, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 18, 36, 0, 11, 10, 15, 16, 12, 13,
+ 14, 4, 5, 6, 7, 8, 9, 0, 32, 28,
+ 38, 34, 0, 31, 35
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 12, 13, 14, 15, 16, 17, 43, 18
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -20
+static const yysigned_char yypact[] =
+{
+ 0, 0, 0, 0, -20, -20, -20, -19, 1, -20,
+ -20, -20, 13, -20, 30, -20, -12, -20, -10, -20,
+ -20, 3, -20, 0, -20, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -9,
+ -8, -20, -20, -2, 63, 48, -6, -6, -20, -20,
+ -20, 78, 78, 78, 78, 78, 78, 5, 1, -20,
+ -20, -20, 0, -20, -20
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -20, -20, -3, 74, 7, -20, -7, -20, -20
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -1
+static const yysigned_char yytable[] =
+{
+ 21, 38, 29, 30, 31, 1, 22, 2, 19, 20,
+ 61, 3, 23, 24, 40, 41, 58, 60, 39, 63,
+ 42, 4, 5, 6, 7, 8, 9, 10, 11, 62,
+ 0, 0, 59, 25, 26, 57, 27, 28, 29, 30,
+ 31, 0, 0, 0, 0, 32, 33, 34, 35, 36,
+ 37, 25, 0, 0, 27, 28, 29, 30, 31, 64,
+ 0, 0, 0, 32, 33, 34, 35, 36, 37, 27,
+ 28, 29, 30, 31, 0, 0, 0, 0, 32, 33,
+ 34, 35, 36, 37, 27, 28, 29, 30, 31, 0,
+ 0, 0, 0, -1, -1, -1, -1, -1, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56
+};
+
+static const yysigned_char yycheck[] =
+{
+ 3, 13, 8, 9, 10, 5, 25, 7, 1, 2,
+ 12, 11, 11, 0, 24, 12, 25, 25, 30, 14,
+ 23, 21, 22, 23, 24, 25, 26, 27, 28, 31,
+ -1, -1, 39, 3, 4, 38, 6, 7, 8, 9,
+ 10, -1, -1, -1, -1, 15, 16, 17, 18, 19,
+ 20, 3, -1, -1, 6, 7, 8, 9, 10, 62,
+ -1, -1, -1, 15, 16, 17, 18, 19, 20, 6,
+ 7, 8, 9, 10, -1, -1, -1, -1, 15, 16,
+ 17, 18, 19, 20, 6, 7, 8, 9, 10, -1,
+ -1, -1, -1, 15, 16, 17, 18, 19, 20, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 5, 7, 11, 21, 22, 23, 24, 25, 26,
+ 27, 28, 33, 34, 35, 36, 37, 38, 40, 36,
+ 36, 34, 25, 11, 0, 3, 4, 6, 7, 8,
+ 9, 10, 15, 16, 17, 18, 19, 20, 13, 30,
+ 24, 12, 34, 39, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 34, 25, 38,
+ 25, 12, 31, 14, 34
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 85 "../FreezeScript/Grammar.y"
+ {
+ parseResult = yyvsp[0];
+;}
+ break;
+
+ case 3:
+#line 94 "../FreezeScript/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 4:
+#line 103 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpLess, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 5:
+#line 107 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpGreater, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 6:
+#line 111 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpLessEq, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 7:
+#line 115 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpGrEq, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 8:
+#line 119 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpEq, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 9:
+#line 123 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpNotEq, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 10:
+#line 127 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpOr, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 11:
+#line 131 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpAnd, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 12:
+#line 135 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpMul, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 13:
+#line 139 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpDiv, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 14:
+#line 143 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpMod, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 15:
+#line 147 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpAdd, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 16:
+#line 151 "../FreezeScript/Grammar.y"
+ {
+ yyval = new BinaryNode(BinOpSub, parseDataFactory, yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 17:
+#line 155 "../FreezeScript/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 18:
+#line 164 "../FreezeScript/Grammar.y"
+ {
+ yyval = yyvsp[-1];
+;}
+ break;
+
+ case 19:
+#line 168 "../FreezeScript/Grammar.y"
+ {
+ yyval = new UnaryNode(UnaryOpNeg, parseDataFactory, yyvsp[0]);
+;}
+ break;
+
+ case 20:
+#line 172 "../FreezeScript/Grammar.y"
+ {
+ yyval = new UnaryNode(UnaryOpNot, parseDataFactory, yyvsp[0]);
+;}
+ break;
+
+ case 21:
+#line 176 "../FreezeScript/Grammar.y"
+ {
+ IntegerTokPtr intVal = IntegerTokPtr::dynamicCast(yyvsp[0]);
+ assert(intVal);
+ yyval = new DataNode(parseDataFactory->createInteger(intVal->v, true));
+;}
+ break;
+
+ case 22:
+#line 182 "../FreezeScript/Grammar.y"
+ {
+ FloatingTokPtr floatVal = FloatingTokPtr::dynamicCast(yyvsp[0]);
+ assert(floatVal);
+ yyval = new DataNode(parseDataFactory->createDouble(floatVal->v, true));
+;}
+ break;
+
+ case 23:
+#line 188 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr stringVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(stringVal);
+ yyval = new DataNode(parseDataFactory->createString(stringVal->v, true));
+;}
+ break;
+
+ case 24:
+#line 194 "../FreezeScript/Grammar.y"
+ {
+ yyval = new DataNode(parseDataFactory->createBoolean(true, true));
+;}
+ break;
+
+ case 25:
+#line 198 "../FreezeScript/Grammar.y"
+ {
+ yyval = new DataNode(parseDataFactory->createBoolean(false, true));
+;}
+ break;
+
+ case 26:
+#line 202 "../FreezeScript/Grammar.y"
+ {
+ yyval = new DataNode(parseDataFactory->createNil(true));
+;}
+ break;
+
+ case 27:
+#line 206 "../FreezeScript/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 28:
+#line 210 "../FreezeScript/Grammar.y"
+ {
+ EntityNodePtr entity = EntityNodePtr::dynamicCast(yyvsp[-2]);
+ assert(entity);
+ FunctionNodePtr func = FunctionNodePtr::dynamicCast(yyvsp[0]);
+ assert(func);
+ func->setTarget(entity);
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 29:
+#line 219 "../FreezeScript/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 30:
+#line 223 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr stringVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(stringVal);
+ yyval = new ConstantNode(stringVal->v);
+;}
+ break;
+
+ case 31:
+#line 234 "../FreezeScript/Grammar.y"
+ {
+ EntityNodePtr entity = EntityNodePtr::dynamicCast(yyvsp[-3]);
+ assert(entity);
+ entity->append(new ElementNode(yyvsp[-1]));
+ yyval = yyvsp[-3];
+;}
+ break;
+
+ case 32:
+#line 241 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr stringVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(stringVal);
+ EntityNodePtr entity = EntityNodePtr::dynamicCast(yyvsp[-2]);
+ assert(entity);
+ entity->append(new IdentNode(stringVal->v));
+ yyval = yyvsp[-2];
+;}
+ break;
+
+ case 33:
+#line 250 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr stringVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(stringVal);
+ yyval = new IdentNode(stringVal->v);
+;}
+ break;
+
+ case 34:
+#line 261 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr func = StringTokPtr::dynamicCast(yyvsp[-3]);
+ assert(func);
+ NodeListTokPtr args = NodeListTokPtr::dynamicCast(yyvsp[-1]);
+ assert(args);
+ yyval = new FunctionNode(func->v, args->v);
+;}
+ break;
+
+ case 35:
+#line 274 "../FreezeScript/Grammar.y"
+ {
+ NodeListTokPtr l = NodeListTokPtr::dynamicCast(yyvsp[-2]);
+ assert(l);
+ l->v.push_back(yyvsp[0]);
+ yyval = yyvsp[-2];
+;}
+ break;
+
+ case 36:
+#line 281 "../FreezeScript/Grammar.y"
+ {
+ NodeListTokPtr result = new NodeListTok;
+ result->v.push_back(yyvsp[0]);
+ yyval = result;
+;}
+ break;
+
+ case 37:
+#line 287 "../FreezeScript/Grammar.y"
+ {
+ yyval = new NodeListTok;
+;}
+ break;
+
+ case 38:
+#line 296 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr stringVal = StringTokPtr::dynamicCast(yyvsp[-2]);
+ assert(stringVal);
+ StringTokPtr idVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(idVal);
+ stringVal->v.append("::" + idVal->v);
+ yyval = yyvsp[-2];
+;}
+ break;
+
+ case 39:
+#line 305 "../FreezeScript/Grammar.y"
+ {
+ StringTokPtr idVal = StringTokPtr::dynamicCast(yyvsp[0]);
+ assert(idVal);
+ StringTokPtr stringVal = new StringTok;
+ stringVal->v.append("::" + idVal->v);
+ yyval = stringVal;
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1448 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 314 "../FreezeScript/Grammar.y"
+
+
diff --git a/cpp/src/FreezeScript/Grammar.h b/cpp/src/FreezeScript/Grammar.h
new file mode 100644
index 00000000000..be9f0c7bc5e
--- /dev/null
+++ b/cpp/src/FreezeScript/Grammar.h
@@ -0,0 +1,102 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_AND = 258,
+ TOK_OR = 259,
+ TOK_NOT = 260,
+ TOK_ADD = 261,
+ TOK_SUB = 262,
+ TOK_MUL = 263,
+ TOK_DIV = 264,
+ TOK_MOD = 265,
+ TOK_LPAREN = 266,
+ TOK_RPAREN = 267,
+ TOK_LBRACKET = 268,
+ TOK_RBRACKET = 269,
+ TOK_LESS_THAN = 270,
+ TOK_GREATER_THAN = 271,
+ TOK_LESS_EQUAL = 272,
+ TOK_GREATER_EQUAL = 273,
+ TOK_EQUAL = 274,
+ TOK_NEQ = 275,
+ TOK_TRUE = 276,
+ TOK_FALSE = 277,
+ TOK_NIL = 278,
+ TOK_SCOPE_DELIMITER = 279,
+ TOK_IDENTIFIER = 280,
+ TOK_STRING_LITERAL = 281,
+ TOK_INTEGER_LITERAL = 282,
+ TOK_FLOATING_POINT_LITERAL = 283,
+ UNARY_OP = 284
+ };
+#endif
+#define TOK_AND 258
+#define TOK_OR 259
+#define TOK_NOT 260
+#define TOK_ADD 261
+#define TOK_SUB 262
+#define TOK_MUL 263
+#define TOK_DIV 264
+#define TOK_MOD 265
+#define TOK_LPAREN 266
+#define TOK_RPAREN 267
+#define TOK_LBRACKET 268
+#define TOK_RBRACKET 269
+#define TOK_LESS_THAN 270
+#define TOK_GREATER_THAN 271
+#define TOK_LESS_EQUAL 272
+#define TOK_GREATER_EQUAL 273
+#define TOK_EQUAL 274
+#define TOK_NEQ 275
+#define TOK_TRUE 276
+#define TOK_FALSE 277
+#define TOK_NIL 278
+#define TOK_SCOPE_DELIMITER 279
+#define TOK_IDENTIFIER 280
+#define TOK_STRING_LITERAL 281
+#define TOK_INTEGER_LITERAL 282
+#define TOK_FLOATING_POINT_LITERAL 283
+#define UNARY_OP 284
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/src/FreezeScript/Grammar.y b/cpp/src/FreezeScript/Grammar.y
index eb34e613612..095b8ed303b 100644
--- a/cpp/src/FreezeScript/Grammar.y
+++ b/cpp/src/FreezeScript/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/src/FreezeScript/GrammarUtil.h b/cpp/src/FreezeScript/GrammarUtil.h
index bf4080737d3..b71c6ad8031 100644
--- a/cpp/src/FreezeScript/GrammarUtil.h
+++ b/cpp/src/FreezeScript/GrammarUtil.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/src/FreezeScript/Makefile b/cpp/src/FreezeScript/Makefile
index 8889f50c390..3949d79e94b 100644
--- a/cpp/src/FreezeScript/Makefile
+++ b/cpp/src/FreezeScript/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.
@@ -50,11 +50,6 @@ $(DUMPDB): $(DUMP_OBJS) $(COMMON_OBJS)
rm -f $@
$(CXX) $(LDFLAGS) -o $@ $(DUMP_OBJS) $(COMMON_OBJS) -lSlice $(EXPAT_RPATH_LINK) -lIceXML $(DB_RPATH_LINK) -lFreeze $(LIBS) $(DB_LIBS)
-
-clean::
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
-
install:: all
$(call installprogram,$(TRANSFORMDB),$(install_bindir))
$(call installprogram,$(DUMPDB),$(install_bindir))
diff --git a/cpp/src/FreezeScript/Makefile.mak b/cpp/src/FreezeScript/Makefile.mak
index d4ab331e5e7..8f72c15194b 100644
--- a/cpp/src/FreezeScript/Makefile.mak
+++ b/cpp/src/FreezeScript/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.
@@ -84,8 +84,6 @@ Grammar.cpp Grammar.h: Grammar.y
clean::
-del /q $(TRANSFORMDB:.exe=.*)
-del /q $(DUMPDB:.exe=.*)
- -del /q Grammar.cpp Grammar.h
- -del /q Scanner.cpp
-del /q TransformDB.res DumpDB.res
install:: all
diff --git a/cpp/src/FreezeScript/Parser.cpp b/cpp/src/FreezeScript/Parser.cpp
index bf6f86f7a0c..cd8239014c7 100644
--- a/cpp/src/FreezeScript/Parser.cpp
+++ b/cpp/src/FreezeScript/Parser.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/src/FreezeScript/Parser.h b/cpp/src/FreezeScript/Parser.h
index 36339af90df..287d85d445a 100644
--- a/cpp/src/FreezeScript/Parser.h
+++ b/cpp/src/FreezeScript/Parser.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/src/FreezeScript/Print.cpp b/cpp/src/FreezeScript/Print.cpp
index da0738af0fb..3c61c29cfc6 100644
--- a/cpp/src/FreezeScript/Print.cpp
+++ b/cpp/src/FreezeScript/Print.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/src/FreezeScript/Print.h b/cpp/src/FreezeScript/Print.h
index 4b42581093f..e32d5bf6107 100644
--- a/cpp/src/FreezeScript/Print.h
+++ b/cpp/src/FreezeScript/Print.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/src/FreezeScript/Scanner.cpp b/cpp/src/FreezeScript/Scanner.cpp
new file mode 100644
index 00000000000..5c503d2fb5b
--- /dev/null
+++ b/cpp/src/FreezeScript/Scanner.cpp
@@ -0,0 +1,2000 @@
+#include <IceUtil/Config.h>
+#define yy_create_buffer freeze_script__create_buffer
+#define yy_delete_buffer freeze_script__delete_buffer
+#define yy_scan_buffer freeze_script__scan_buffer
+#define yy_scan_string freeze_script__scan_string
+#define yy_scan_bytes freeze_script__scan_bytes
+#define yy_flex_debug freeze_script__flex_debug
+#define yy_init_buffer freeze_script__init_buffer
+#define yy_flush_buffer freeze_script__flush_buffer
+#define yy_load_buffer_state freeze_script__load_buffer_state
+#define yy_switch_to_buffer freeze_script__switch_to_buffer
+#define yyin freeze_script_in
+#define yyleng freeze_script_leng
+#define yylex freeze_script_lex
+#define yyout freeze_script_out
+#define yyrestart freeze_script_restart
+#define yytext freeze_script_text
+
+#line 19 "lex.yy.c"
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 26
+#define YY_END_OF_BUFFER 27
+static yyconst short int yy_accept[51] =
+ { 0,
+ 0, 0, 27, 25, 8, 8, 25, 4, 19, 5,
+ 20, 21, 17, 15, 16, 25, 18, 6, 6, 25,
+ 9, 25, 10, 3, 22, 23, 14, 0, 6, 6,
+ 7, 2, 1, 7, 6, 0, 0, 24, 11, 13,
+ 12, 3, 0, 7, 0, 7, 6, 0, 7, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 4, 5, 1, 1, 6, 1, 7, 8,
+ 9, 10, 11, 1, 12, 13, 14, 15, 16, 16,
+ 16, 16, 16, 16, 16, 17, 17, 18, 1, 19,
+ 20, 21, 1, 1, 22, 22, 22, 22, 23, 24,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 26, 1, 27, 1, 25, 1, 22, 22, 22, 22,
+
+ 28, 24, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 29,
+ 25, 25, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[30] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 1, 1, 3, 3, 3, 1, 1, 1,
+ 1, 4, 4, 4, 5, 1, 1, 4, 5
+ } ;
+
+static yyconst short int yy_base[55] =
+ { 0,
+ 0, 0, 72, 104, 104, 104, 51, 104, 104, 104,
+ 104, 104, 104, 17, 22, 25, 33, 35, 30, 44,
+ 29, 24, 16, 0, 104, 104, 104, 38, 0, 0,
+ 50, 104, 104, 0, 2, 45, 0, 104, 104, 104,
+ 104, 0, 49, 104, 53, 60, 0, 64, 70, 104,
+ 92, 96, 97, 100
+ } ;
+
+static yyconst short int yy_def[55] =
+ { 0,
+ 50, 1, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 18, 50,
+ 50, 50, 50, 51, 50, 50, 50, 50, 18, 19,
+ 50, 50, 50, 31, 18, 52, 53, 50, 50, 50,
+ 50, 51, 54, 50, 50, 50, 53, 50, 50, 0,
+ 50, 50, 50, 50
+ } ;
+
+static yyconst short int yy_nxt[134] =
+ { 0,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 19, 20, 21, 22,
+ 23, 24, 24, 24, 24, 25, 26, 24, 24, 28,
+ 50, 29, 30, 30, 28, 41, 29, 30, 30, 31,
+ 31, 31, 32, 40, 30, 30, 33, 34, 39, 35,
+ 35, 30, 31, 31, 31, 45, 45, 36, 50, 48,
+ 48, 38, 36, 37, 31, 31, 31, 46, 46, 46,
+ 27, 50, 43, 44, 46, 46, 46, 43, 49, 49,
+ 49, 50, 50, 44, 49, 49, 49, 50, 50, 50,
+ 50, 50, 50, 44, 42, 42, 42, 46, 46, 47,
+
+ 47, 49, 49, 3, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50
+ } ;
+
+static yyconst short int yy_chk[134] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 14,
+ 35, 14, 14, 14, 15, 23, 15, 15, 15, 16,
+ 16, 16, 17, 22, 19, 19, 17, 18, 21, 18,
+ 18, 18, 28, 28, 28, 36, 36, 18, 19, 43,
+ 43, 20, 18, 18, 31, 31, 31, 45, 45, 45,
+ 7, 3, 31, 31, 46, 46, 46, 31, 48, 48,
+ 48, 0, 0, 46, 49, 49, 49, 0, 0, 0,
+ 0, 0, 0, 49, 51, 51, 51, 52, 52, 53,
+
+ 53, 54, 54, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <FreezeScript/GrammarUtil.h> // Before Grammar.h, so that YYSTYPE is defined
+#include <FreezeScript/Grammar.h>
+#include <IceUtil/InputUtil.h>
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <map>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+using namespace FreezeScript;
+
+namespace FreezeScript
+{
+
+typedef map<string, int> KeywordMap;
+static KeywordMap keywordMap;
+
+void initScanner();
+int checkKeyword(const string&);
+StringTokPtr parseString(char);
+
+}
+
+#define YY_USER_INIT initScanner();
+
+#define YY_INPUT(buf, result, max_size) { result = getInput(buf, max_size); }
+#define YY_NEVER_INTERACTIVE 1
+#line 475 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 60 "Scanner.l"
+
+
+#line 629 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 51 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 104 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 62 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ if(c == '\n')
+ {
+ parseLine++;
+ }
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 76 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '\n')
+ {
+ parseLine++;
+ }
+ else if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parseErrorReporter->expressionSyntaxError("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 105 "Scanner.l"
+{
+ StringTokPtr ident = new StringTok;
+ ident->v = yytext;
+ *yylvalp = ident;
+ return checkKeyword(ident->v);
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 112 "Scanner.l"
+{
+ StringTokPtr str = parseString('"');
+ *yylvalp = str;
+ return TOK_STRING_LITERAL;
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 118 "Scanner.l"
+{
+ StringTokPtr str = parseString('\'');
+ *yylvalp = str;
+ return TOK_STRING_LITERAL;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 124 "Scanner.l"
+{
+ IntegerTokPtr itp = new IntegerTok;
+ *yylvalp = itp;
+ if(!IceUtilInternal::stringToInt64(string(yytext), itp->v))
+ {
+ assert(itp->v != 0);
+ string msg = "integer constant `";
+ msg += yytext;
+ msg += "' out of range";
+ parseErrorReporter->expressionSyntaxError(msg);
+ }
+ return TOK_INTEGER_LITERAL;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 138 "Scanner.l"
+{
+ errno = 0;
+ FloatingTokPtr ftp = new FloatingTok;
+ *yylvalp = ftp;
+ string literal(yytext);
+ char lastChar = literal[literal.size() - 1];
+ if(lastChar == 'f' || lastChar == 'F')
+ {
+ literal = literal.substr(0, literal.size() - 1); // Clobber trailing 'f' or 'F' suffix
+ }
+ ftp->v = strtod(literal.c_str(), 0);
+ if((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
+ {
+ string msg = "floating-point constant `";
+ msg += yytext;
+ msg += "' too large (overflow)";
+ parseErrorReporter->expressionSyntaxError(msg);
+ }
+ else if(ftp->v == 0 && errno == ERANGE)
+ {
+ string msg = "floating-point constant `";
+ msg += yytext;
+ msg += "' too small (underflow)";
+ parseErrorReporter->expressionSyntaxError(msg);
+ }
+ return TOK_FLOATING_POINT_LITERAL;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 166 "Scanner.l"
+{
+ // Igore white-space
+
+ if(yytext[0] == '\n')
+ {
+ parseLine++;
+ }
+}
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 175 "Scanner.l"
+return TOK_LESS_THAN;
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 176 "Scanner.l"
+return TOK_GREATER_THAN;
+ YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 177 "Scanner.l"
+return TOK_LESS_EQUAL;
+ YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 178 "Scanner.l"
+return TOK_GREATER_EQUAL;
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 179 "Scanner.l"
+return TOK_EQUAL;
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 180 "Scanner.l"
+return TOK_NEQ;
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 181 "Scanner.l"
+return TOK_ADD;
+ YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 182 "Scanner.l"
+return TOK_SUB;
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 183 "Scanner.l"
+return TOK_MUL;
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 184 "Scanner.l"
+return TOK_DIV;
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 185 "Scanner.l"
+return TOK_MOD;
+ YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 186 "Scanner.l"
+return TOK_LPAREN;
+ YY_BREAK
+case 21:
+YY_RULE_SETUP
+#line 187 "Scanner.l"
+return TOK_RPAREN;
+ YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 188 "Scanner.l"
+return TOK_LBRACKET;
+ YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 189 "Scanner.l"
+return TOK_RBRACKET;
+ YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 190 "Scanner.l"
+return TOK_SCOPE_DELIMITER;
+ YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 192 "Scanner.l"
+{
+ return yytext[0];
+}
+ YY_BREAK
+case 26:
+YY_RULE_SETUP
+#line 196 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 941 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 51 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 51 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 50);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 196 "Scanner.l"
+
+
+namespace FreezeScript
+{
+
+void
+initScanner()
+{
+ keywordMap["true"] = TOK_TRUE;
+ keywordMap["false"] = TOK_FALSE;
+ keywordMap["and"] = TOK_AND;
+ keywordMap["or"] = TOK_OR;
+ keywordMap["not"] = TOK_NOT;
+ keywordMap["nil"] = TOK_NIL;
+}
+
+int
+checkKeyword(const string& id)
+{
+ KeywordMap::const_iterator pos = keywordMap.find(id);
+ if(pos != keywordMap.end())
+ {
+ return pos->second;
+ }
+ return TOK_IDENTIFIER;
+}
+
+StringTokPtr
+parseString(char start)
+{
+ StringTokPtr str = new StringTok;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == start)
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parseErrorReporter->expressionSyntaxError("EOF in string");
+ break;
+ }
+ else if(c == '\n')
+ {
+ parseErrorReporter->expressionSyntaxError("newline in string");
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ case '\'':
+ {
+ str->v += next;
+ break;
+ }
+
+ case 'n':
+ {
+ str->v += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ str->v += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ str->v += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ str->v += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ str->v += '\f';
+ break;
+ }
+
+ case 'a':
+ {
+ str->v += '\a';
+ break;
+ }
+
+ case 'b':
+ {
+ str->v += '\b';
+ break;
+ }
+
+ case '?':
+ {
+ str->v += '\?';
+ break;
+ }
+
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ {
+ static string octalDigits = "01234567";
+ unsigned short us = next - '0';
+ if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
+ {
+ us = us * 8 + next - '0';
+ if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
+ {
+ us = us * 8 + next - '0';
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else
+ {
+ unput(next);
+ }
+ str->v += static_cast<char>(us);
+ break;
+ }
+ case 'x':
+ {
+ IceUtil::Int64 ull = 0;
+ while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
+ {
+ ull *= 16;
+ if(isdigit(static_cast<unsigned char>(next)))
+ {
+ ull += next - '0';
+ }
+ else if(islower(static_cast<unsigned char>(next)))
+ {
+ ull += next - 'a' + 10;
+ }
+ else
+ {
+ ull += next - 'A' + 10;
+ }
+ }
+ unput(next);
+ str->v += static_cast<char>(ull);
+ break;
+ }
+
+ // TODO: add universal character names
+
+ default:
+ {
+ str->v += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ str->v += c;
+ }
+ }
+
+ return str;
+}
+
+} // End of namespace FreezeScript
diff --git a/cpp/src/FreezeScript/Scanner.l b/cpp/src/FreezeScript/Scanner.l
index 972a147dbfd..a1ef84c717f 100644
--- a/cpp/src/FreezeScript/Scanner.l
+++ b/cpp/src/FreezeScript/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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.
@@ -330,14 +330,14 @@ parseString(char start)
case 'x':
{
IceUtil::Int64 ull = 0;
- while(isxdigit(next = static_cast<char>(yyinput())))
+ while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
{
ull *= 16;
- if(isdigit(next))
+ if(isdigit(static_cast<unsigned char>(next)))
{
ull += next - '0';
}
- else if(islower(next))
+ else if(islower(static_cast<unsigned char>(next)))
{
ull += next - 'a' + 10;
}
diff --git a/cpp/src/FreezeScript/TransformAnalyzer.cpp b/cpp/src/FreezeScript/TransformAnalyzer.cpp
index d5e308b8362..f6fe625ddfc 100644
--- a/cpp/src/FreezeScript/TransformAnalyzer.cpp
+++ b/cpp/src/FreezeScript/TransformAnalyzer.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/src/FreezeScript/TransformAnalyzer.h b/cpp/src/FreezeScript/TransformAnalyzer.h
index dec990449a7..07f01e842bc 100644
--- a/cpp/src/FreezeScript/TransformAnalyzer.h
+++ b/cpp/src/FreezeScript/TransformAnalyzer.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/src/FreezeScript/TransformDB.rc b/cpp/src/FreezeScript/TransformDB.rc
index ee47ccb06c6..d0d670dc192 100644
--- a/cpp/src/FreezeScript/TransformDB.rc
+++ b/cpp/src/FreezeScript/TransformDB.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Transform Database\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "transformdb\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", "transformdb.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/FreezeScript/TransformVisitor.cpp b/cpp/src/FreezeScript/TransformVisitor.cpp
index 7b7e41197ed..c374bff2d2e 100644
--- a/cpp/src/FreezeScript/TransformVisitor.cpp
+++ b/cpp/src/FreezeScript/TransformVisitor.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.
@@ -123,7 +123,7 @@ FreezeScript::TransformVisitor::visitDouble(const DoubleDataPtr& dest)
{
while(*end)
{
- if(!isspace(*end))
+ if(!isspace(static_cast<unsigned char>(*end)))
{
conversionError(type, _src->getType(), str);
return;
diff --git a/cpp/src/FreezeScript/TransformVisitor.h b/cpp/src/FreezeScript/TransformVisitor.h
index 95ca717136c..eccad1d5a28 100644
--- a/cpp/src/FreezeScript/TransformVisitor.h
+++ b/cpp/src/FreezeScript/TransformVisitor.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/src/FreezeScript/Transformer.cpp b/cpp/src/FreezeScript/Transformer.cpp
index db692c8d865..41b5cae4124 100644
--- a/cpp/src/FreezeScript/Transformer.cpp
+++ b/cpp/src/FreezeScript/Transformer.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/src/FreezeScript/Transformer.h b/cpp/src/FreezeScript/Transformer.h
index 946e137c03b..530b8a49497 100644
--- a/cpp/src/FreezeScript/Transformer.h
+++ b/cpp/src/FreezeScript/Transformer.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/src/FreezeScript/Util.cpp b/cpp/src/FreezeScript/Util.cpp
index d3301df779b..46641dcf871 100644
--- a/cpp/src/FreezeScript/Util.cpp
+++ b/cpp/src/FreezeScript/Util.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/src/FreezeScript/Util.h b/cpp/src/FreezeScript/Util.h
index 47e097a22d0..af35df51024 100644
--- a/cpp/src/FreezeScript/Util.h
+++ b/cpp/src/FreezeScript/Util.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/src/FreezeScript/transformdb.cpp b/cpp/src/FreezeScript/transformdb.cpp
index b664f49f035..432cf673029 100644
--- a/cpp/src/FreezeScript/transformdb.cpp
+++ b/cpp/src/FreezeScript/transformdb.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.
@@ -707,6 +707,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
DbEnv dbEnv(0);
DbEnv dbEnvNew(0);
Freeze::TransactionPtr txNew = 0;
+ Freeze::ConnectionPtr connectionNew = 0;
vector<Db*> dbs;
int status = EXIT_SUCCESS;
try
@@ -756,7 +757,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
//
// Open the catalog of the new environment, and start a transaction.
//
- Freeze::ConnectionPtr connectionNew = Freeze::createConnection(communicator, dbEnvNameNew, dbEnvNew);
+ connectionNew = Freeze::createConnection(communicator, dbEnvNameNew, dbEnvNew);
txNew = connectionNew->beginTransaction();
DbTxn* txnNew = Freeze::getTxn(txNew);
@@ -789,6 +790,12 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
if(txNew != 0)
{
txNew->rollback();
+ txNew = 0;
+ }
+ if(connectionNew)
+ {
+ connectionNew->close();
+ connectionNew = 0;
}
for(vector<Db*>::iterator p = dbs.begin(); p != dbs.end(); ++p)
{
@@ -796,8 +803,20 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
db->close(0);
delete db;
}
- dbEnv.close(0);
- dbEnvNew.close(0);
+ try
+ {
+ dbEnv.close(0);
+ }
+ catch(const DbException&)
+ {
+ }
+ try
+ {
+ dbEnvNew.close(0);
+ }
+ catch(const DbException&)
+ {
+ }
}
catch(const DbException& ex)
{
@@ -822,13 +841,13 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
// Checkpoint to migrate changes from the log to the database(s).
//
dbEnvNew.txn_checkpoint(0, 0, DB_FORCE);
+ }
- for(vector<Db*>::iterator p = dbs.begin(); p != dbs.end(); ++p)
- {
- Db* db = *p;
- db->close(0);
- delete db;
- }
+ for(vector<Db*>::iterator p = dbs.begin(); p != dbs.end(); ++p)
+ {
+ Db* db = *p;
+ db->close(0);
+ delete db;
}
}
catch(const DbException& ex)
@@ -840,8 +859,27 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator)
// Clear the transaction before closing the database environment.
txNew = 0;
- dbEnv.close(0);
- dbEnvNew.close(0);
+ if(connectionNew)
+ {
+ connectionNew->close();
+ connectionNew = 0;
+ }
+
+ try
+ {
+ dbEnv.close(0);
+ }
+ catch(const DbException&)
+ {
+ }
+
+ try
+ {
+ dbEnvNew.close(0);
+ }
+ catch(const DbException&)
+ {
+ }
return status;
}
@@ -864,12 +902,22 @@ main(int argc, char* argv[])
{
cerr << endl;
}
- return EXIT_FAILURE;
+ status = EXIT_FAILURE;
}
catch(const IceUtil::Exception& ex)
{
cerr << argv[0] << ": " << ex << endl;
- return EXIT_FAILURE;
+ status = EXIT_FAILURE;
+ }
+ catch(const std::exception& ex)
+ {
+ cerr << argv[0] << ": " << ex.what() << endl;
+ status = EXIT_FAILURE;
+ }
+ catch(...)
+ {
+ cerr << argv[0] << ": unknown exception" << endl;
+ status = EXIT_FAILURE;
}
if(communicator)
diff --git a/cpp/src/Glacier2/.depend b/cpp/src/Glacier2/.depend
index 256c8853674..8930de8a577 100644
--- a/cpp/src/Glacier2/.depend
+++ b/cpp/src/Glacier2/.depend
@@ -1,20 +1,20 @@
-PermissionsVerifier$(OBJEXT): PermissionsVerifier.cpp $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Unicode.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)/Glacier2/SSLInfo.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-Router$(OBJEXT): Router.cpp $(includedir)/Glacier2/Router.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Unicode.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/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/Router.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-SSLInfo$(OBJEXT): SSLInfo.cpp $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BuiltinSequences.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-Session$(OBJEXT): Session.cpp $(includedir)/Glacier2/Session.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Unicode.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/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-Blobject$(OBJEXT): Blobject.cpp ../Glacier2/Blobject.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/RequestQueue.h ../Glacier2/Instance.h
-ClientBlobject$(OBJEXT): ClientBlobject.cpp ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/RequestQueue.h ../Glacier2/Instance.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/FilterManager.h ../Glacier2/FilterI.h ../Glacier2/RoutingTable.h ../Glacier2/ProxyVerifier.h
-CryptPermissionsVerifierI$(OBJEXT): CryptPermissionsVerifierI.cpp ../Glacier2/CryptPermissionsVerifierI.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Glacier2/SSLInfo.h
-Glacier2Router$(OBJEXT): Glacier2Router.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Service.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h ../Glacier2/RouterI.h $(includedir)/Glacier2/Router.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h ../Glacier2/SessionRouterI.h $(includedir)/Glacier2/PermissionsVerifierF.h ../Glacier2/CryptPermissionsVerifierI.h $(includedir)/Glacier2/PermissionsVerifier.h
-Instance$(OBJEXT): Instance.cpp ../Glacier2/Instance.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/ObjectAdapterF.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/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 ../Glacier2/RequestQueue.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h
-ProxyVerifier$(OBJEXT): ProxyVerifier.cpp ../Glacier2/ProxyVerifier.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h
-RequestQueue$(OBJEXT): RequestQueue.cpp ../Glacier2/RequestQueue.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h
-RouterI$(OBJEXT): RouterI.cpp $(includedir)/IceUtil/Random.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Exception.h ../Glacier2/FilterManager.h ../Glacier2/Instance.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/ObjectAdapterF.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/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 ../Glacier2/RequestQueue.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/RoutingTable.h ../Glacier2/ProxyVerifier.h ../Glacier2/RouterI.h $(includedir)/Glacier2/Router.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h $(includedir)/IceUtil/DisableWarnings.h
-RoutingTable$(OBJEXT): RoutingTable.cpp ../Glacier2/RoutingTable.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/ProxyVerifier.h
-FilterI$(OBJEXT): FilterI.cpp $(includedir)/Ice/Properties.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Unicode.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/BuiltinSequences.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Glacier2/SSLInfo.h
-FilterManager$(OBJEXT): FilterManager.cpp $(includedir)/Ice/Communicator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Logger.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.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/BuiltinSequences.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/StringUtil.h ../Glacier2/FilterManager.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.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)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h
-ServerBlobject$(OBJEXT): ServerBlobject.cpp ../Glacier2/ServerBlobject.h ../Glacier2/Blobject.h $(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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/RequestQueue.h ../Glacier2/Instance.h
-SessionRouterI$(OBJEXT): SessionRouterI.cpp $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Unicode.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)/Glacier2/SSLInfo.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h ../Glacier2/SessionRouterI.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.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/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/Glacier2/PermissionsVerifierF.h $(includedir)/Glacier2/Router.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h $(includedir)/IceUtil/DisableWarnings.h ../Glacier2/FilterManager.h ../Glacier2/FilterI.h ../Glacier2/RouterI.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h $(includedir)/IceUtil/UUID.h $(includedir)/IceSSL/Plugin.h ../Ice/Network.h
+PermissionsVerifier$(OBJEXT): PermissionsVerifier.cpp $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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)/Glacier2/SSLInfo.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Router$(OBJEXT): Router.cpp $(includedir)/Glacier2/Router.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/Router.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+SSLInfo$(OBJEXT): SSLInfo.cpp $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BuiltinSequences.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.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/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Session$(OBJEXT): Session.cpp $(includedir)/Glacier2/Session.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Blobject$(OBJEXT): Blobject.cpp ../Glacier2/Blobject.h $(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 ../Glacier2/RequestQueue.h ../Glacier2/Instance.h ../Glacier2/ProxyVerifier.h ../Glacier2/SessionRouterI.h $(includedir)/Glacier2/PermissionsVerifierF.h $(includedir)/Glacier2/Router.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h $(includedir)/IceUtil/DisableWarnings.h
+ClientBlobject$(OBJEXT): ClientBlobject.cpp ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h $(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 ../Glacier2/RequestQueue.h ../Glacier2/Instance.h ../Glacier2/ProxyVerifier.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/FilterManager.h ../Glacier2/FilterI.h ../Glacier2/RoutingTable.h
+CryptPermissionsVerifierI$(OBJEXT): CryptPermissionsVerifierI.cpp ../Glacier2/CryptPermissionsVerifierI.h $(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 $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Glacier2/SSLInfo.h
+Glacier2Router$(OBJEXT): Glacier2Router.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Service.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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 ../Glacier2/Instance.h ../Glacier2/RequestQueue.h ../Glacier2/ProxyVerifier.h ../Glacier2/RouterI.h $(includedir)/Glacier2/Router.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h ../Glacier2/SessionRouterI.h $(includedir)/Glacier2/PermissionsVerifierF.h ../Glacier2/CryptPermissionsVerifierI.h $(includedir)/Glacier2/PermissionsVerifier.h
+Instance$(OBJEXT): Instance.cpp ../Glacier2/SessionRouterI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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 $(includedir)/Glacier2/PermissionsVerifierF.h $(includedir)/Glacier2/Router.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h ../Glacier2/ProxyVerifier.h $(includedir)/IceUtil/DisableWarnings.h
+ProxyVerifier$(OBJEXT): ProxyVerifier.cpp ../Glacier2/ProxyVerifier.h $(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
+RequestQueue$(OBJEXT): RequestQueue.cpp ../Glacier2/RequestQueue.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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 ../Glacier2/SessionRouterI.h $(includedir)/Glacier2/PermissionsVerifierF.h $(includedir)/Glacier2/Router.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/Instance.h ../Glacier2/ProxyVerifier.h $(includedir)/IceUtil/DisableWarnings.h
+RouterI$(OBJEXT): RouterI.cpp $(includedir)/IceUtil/Random.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Exception.h ../Glacier2/FilterManager.h ../Glacier2/Instance.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/ObjectAdapterF.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/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 ../Glacier2/RequestQueue.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.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)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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 ../Glacier2/ProxyVerifier.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h ../Glacier2/RoutingTable.h ../Glacier2/RouterI.h $(includedir)/Glacier2/Router.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h $(includedir)/IceUtil/DisableWarnings.h
+RoutingTable$(OBJEXT): RoutingTable.cpp ../Glacier2/RoutingTable.h $(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 ../Glacier2/ProxyVerifier.h
+FilterI$(OBJEXT): FilterI.cpp $(includedir)/Ice/Properties.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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/BuiltinSequences.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Glacier2/SSLInfo.h
+FilterManager$(OBJEXT): FilterManager.cpp $(includedir)/Ice/Communicator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Logger.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.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/BuiltinSequences.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/StringUtil.h ../Glacier2/FilterManager.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.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)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h ../Glacier2/ProxyVerifier.h ../Glacier2/FilterI.h $(includedir)/Glacier2/Session.h $(includedir)/Glacier2/SSLInfo.h
+ServerBlobject$(OBJEXT): ServerBlobject.cpp ../Glacier2/ServerBlobject.h ../Glacier2/Blobject.h $(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 ../Glacier2/RequestQueue.h ../Glacier2/Instance.h ../Glacier2/ProxyVerifier.h
+SessionRouterI$(OBJEXT): SessionRouterI.cpp $(includedir)/Glacier2/PermissionsVerifier.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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)/Glacier2/SSLInfo.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Glacier2/Session.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h ../Glacier2/SessionRouterI.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.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/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/Glacier2/PermissionsVerifierF.h $(includedir)/Glacier2/Router.h ../Glacier2/Instance.h ../Glacier2/RequestQueue.h ../Glacier2/ProxyVerifier.h $(includedir)/IceUtil/DisableWarnings.h ../Glacier2/FilterManager.h ../Glacier2/FilterI.h ../Glacier2/RouterI.h ../Glacier2/ClientBlobject.h ../Glacier2/Blobject.h ../Glacier2/ServerBlobject.h $(includedir)/IceUtil/UUID.h $(includedir)/IceSSL/Plugin.h ../Ice/Network.h
PermissionsVerifierF.cpp: $(slicedir)/Glacier2/PermissionsVerifierF.ice
PermissionsVerifier.cpp: $(slicedir)/Glacier2/PermissionsVerifier.ice $(slicedir)/Glacier2/SSLInfo.ice $(slicedir)/Ice/BuiltinSequences.ice
Router.cpp: $(slicedir)/Glacier2/Router.ice $(slicedir)/Ice/Router.ice $(slicedir)/Ice/BuiltinSequences.ice $(slicedir)/Glacier2/Session.ice $(slicedir)/Ice/Identity.ice $(slicedir)/Glacier2/SSLInfo.ice
diff --git a/cpp/src/Glacier2/Blobject.cpp b/cpp/src/Glacier2/Blobject.cpp
index e20b82326aa..a0688d89b97 100644
--- a/cpp/src/Glacier2/Blobject.cpp
+++ b/cpp/src/Glacier2/Blobject.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.
@@ -8,6 +8,7 @@
// **********************************************************************
#include <Glacier2/Blobject.h>
+#include <Glacier2/SessionRouterI.h>
using namespace std;
using namespace Ice;
@@ -29,8 +30,12 @@ class AMI_Array_Object_ice_invokeTwowayI : public AMI_Array_Object_ice_invoke
{
public:
- AMI_Array_Object_ice_invokeTwowayI(const AMD_Array_Object_ice_invokePtr& amdCB) :
- _amdCB(amdCB)
+ AMI_Array_Object_ice_invokeTwowayI(const AMD_Array_Object_ice_invokePtr& amdCB,
+ const InstancePtr& instance,
+ const ConnectionPtr& connection) :
+ _amdCB(amdCB),
+ _instance(instance),
+ _connection(connection)
{
}
@@ -43,20 +48,50 @@ public:
virtual void
ice_exception(const Exception& ex)
{
+ //
+ // If the connection has been lost, destroy the session.
+ //
+ if(_connection)
+ {
+ try
+ {
+ ex.ice_throw();
+ }
+ catch(const Ice::ConnectionLostException&)
+ {
+ try
+ {
+ _instance->sessionRouter()->destroySession(_connection);
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+
_amdCB->ice_exception(ex);
}
private:
const AMD_Array_Object_ice_invokePtr _amdCB;
+ const InstancePtr _instance;
+ const ConnectionPtr _connection;
};
class AMI_Array_Object_ice_invokeOnewayI : public AMI_Array_Object_ice_invoke, public Ice::AMISentCallback
{
public:
- AMI_Array_Object_ice_invokeOnewayI(const AMD_Array_Object_ice_invokePtr& amdCB) :
- _amdCB(amdCB)
+ AMI_Array_Object_ice_invokeOnewayI(const AMD_Array_Object_ice_invokePtr& amdCB,
+ const InstancePtr& instance,
+ const ConnectionPtr& connection) :
+ _amdCB(amdCB),
+ _instance(instance),
+ _connection(connection)
{
}
@@ -75,44 +110,65 @@ public:
virtual void
ice_exception(const Exception& ex)
{
+ //
+ // If the connection has been lost, destroy the session.
+ //
+ if(_connection)
+ {
+ try
+ {
+ ex.ice_throw();
+ }
+ catch(const Ice::ConnectionLostException&)
+ {
+ try
+ {
+ _instance->sessionRouter()->destroySession(_connection);
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+
_amdCB->ice_exception(ex);
}
private:
const AMD_Array_Object_ice_invokePtr _amdCB;
+ const InstancePtr _instance;
+ const ConnectionPtr _connection;
};
}
-Glacier2::Blobject::Blobject(const InstancePtr& instance, bool reverse, const Ice::Context& sslContext) :
+Glacier2::Blobject::Blobject(const InstancePtr& instance, const ConnectionPtr& reverseConnection,
+ const Ice::Context& sslContext) :
_instance(instance),
- _reverse(reverse),
- _forwardContext(_reverse ?
+ _reverseConnection(reverseConnection),
+ _forwardContext(_reverseConnection ?
_instance->properties()->getPropertyAsInt(serverForwardContext) > 0 :
_instance->properties()->getPropertyAsInt(clientForwardContext) > 0),
- _alwaysBatch(_reverse ?
+ _alwaysBatch(_reverseConnection ?
_instance->properties()->getPropertyAsInt(serverAlwaysBatch) > 0 :
_instance->properties()->getPropertyAsInt(clientAlwaysBatch) > 0),
- _requestTraceLevel(_reverse ?
+ _requestTraceLevel(_reverseConnection ?
_instance->properties()->getPropertyAsInt(serverTraceRequest) :
_instance->properties()->getPropertyAsInt(clientTraceRequest)),
- _overrideTraceLevel(reverse ?
+ _overrideTraceLevel(reverseConnection ?
_instance->properties()->getPropertyAsInt(serverTraceOverride) :
_instance->properties()->getPropertyAsInt(clientTraceOverride)),
_sslContext(sslContext)
{
- RequestQueueThreadPtr t = _reverse ? _instance->serverRequestQueueThread() : _instance->clientRequestQueueThread();
+ RequestQueueThreadPtr t = _reverseConnection ? _instance->serverRequestQueueThread() :
+ _instance->clientRequestQueueThread();
if(t)
{
- if(reverse)
- {
- const_cast<RequestQueuePtr&>(_requestQueue) = new RequestQueue(t);
- }
- else
- {
- const_cast<RequestQueuePtr&>(_requestQueue) = new RequestQueue(t);
- }
+ const_cast<RequestQueuePtr&>(_requestQueue) = new RequestQueue(t, _instance);
}
}
@@ -246,7 +302,7 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt
if(_requestTraceLevel >= 1)
{
Trace out(_instance->logger(), "Glacier2");
- if(_reverse)
+ if(_reverseConnection)
{
out << "reverse ";
}
@@ -259,7 +315,7 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt
{
out << " (not buffered)";
}
- if(_reverse)
+ if(_reverseConnection)
{
out << "\nidentity = " << _instance->communicator()->identityToString(proxy->ice_getIdentity());
}
@@ -291,8 +347,8 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt
bool override;
try
{
- override =
- _requestQueue->addRequest(new Request(proxy, inParams, current, _forwardContext, _sslContext, amdCB));
+ override = _requestQueue->addRequest(
+ new Request(proxy, inParams, current, _forwardContext, _sslContext, amdCB, _reverseConnection));
}
catch(const ObjectNotExistException& ex)
{
@@ -303,12 +359,12 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt
if(override && _overrideTraceLevel >= 1)
{
Trace out(_instance->logger(), "Glacier2");
- if(_reverse)
+ if(_reverseConnection)
{
out << "reverse ";
}
out << "routing override";
- if(_reverse)
+ if(_reverseConnection)
{
out << "\nidentity = " << _instance->communicator()->identityToString(proxy->ice_getIdentity());
}
@@ -343,11 +399,12 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt
Ice::AMISentCallback* sentCB = 0;
if(proxy->ice_isTwoway())
{
- amiCB = new AMI_Array_Object_ice_invokeTwowayI(amdCB);
+ amiCB = new AMI_Array_Object_ice_invokeTwowayI(amdCB, _instance, _reverseConnection);
}
else
{
- AMI_Array_Object_ice_invokeOnewayI* cb = new AMI_Array_Object_ice_invokeOnewayI(amdCB);
+ AMI_Array_Object_ice_invokeOnewayI* cb =
+ new AMI_Array_Object_ice_invokeOnewayI(amdCB, _instance, _reverseConnection);
amiCB = cb;
sentCB = cb;
}
diff --git a/cpp/src/Glacier2/Blobject.h b/cpp/src/Glacier2/Blobject.h
index d4f9d1c5b47..06c9a2da327 100644
--- a/cpp/src/Glacier2/Blobject.h
+++ b/cpp/src/Glacier2/Blobject.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.
@@ -21,7 +21,7 @@ class Blobject : public Ice::BlobjectArrayAsync
{
public:
- Blobject(const InstancePtr&, bool, const Ice::Context&);
+ Blobject(const InstancePtr&, const Ice::ConnectionPtr&, const Ice::Context&);
virtual ~Blobject();
protected:
@@ -30,10 +30,10 @@ protected:
const std::pair<const Ice::Byte*, const Ice::Byte*>&, const Ice::Current&);
const InstancePtr _instance;
+ const Ice::ConnectionPtr _reverseConnection;
private:
- const bool _reverse;
const bool _forwardContext;
const bool _alwaysBatch;
const int _requestTraceLevel;
diff --git a/cpp/src/Glacier2/ClientBlobject.cpp b/cpp/src/Glacier2/ClientBlobject.cpp
index 7f259da6098..abbec4688a4 100644
--- a/cpp/src/Glacier2/ClientBlobject.cpp
+++ b/cpp/src/Glacier2/ClientBlobject.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,8 +20,8 @@ Glacier2::ClientBlobject::ClientBlobject(const InstancePtr& instance,
const FilterManagerPtr& filters,
const Ice::Context& sslContext):
- Glacier2::Blobject(instance, false, sslContext),
- _routingTable(new RoutingTable(_instance->communicator())),
+ Glacier2::Blobject(instance, 0, sslContext),
+ _routingTable(new RoutingTable(_instance->communicator(), _instance->proxyVerifier())),
_filters(filters),
_rejectTraceLevel(_instance->properties()->getPropertyAsInt("Glacier2.Client.Trace.Reject"))
{
diff --git a/cpp/src/Glacier2/ClientBlobject.h b/cpp/src/Glacier2/ClientBlobject.h
index 059591fe61d..b249fba906c 100644
--- a/cpp/src/Glacier2/ClientBlobject.h
+++ b/cpp/src/Glacier2/ClientBlobject.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/src/Glacier2/CryptPermissionsVerifierI.cpp b/cpp/src/Glacier2/CryptPermissionsVerifierI.cpp
index 2ce8cbede8c..0c10219401b 100644
--- a/cpp/src/Glacier2/CryptPermissionsVerifierI.cpp
+++ b/cpp/src/Glacier2/CryptPermissionsVerifierI.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/src/Glacier2/CryptPermissionsVerifierI.h b/cpp/src/Glacier2/CryptPermissionsVerifierI.h
index a14eea9aa01..e252b1990b7 100644
--- a/cpp/src/Glacier2/CryptPermissionsVerifierI.h
+++ b/cpp/src/Glacier2/CryptPermissionsVerifierI.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/src/Glacier2/FilterI.cpp b/cpp/src/Glacier2/FilterI.cpp
index 6ee90ebaa11..10e9d87db0e 100644
--- a/cpp/src/Glacier2/FilterI.cpp
+++ b/cpp/src/Glacier2/FilterI.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/src/Glacier2/FilterI.h b/cpp/src/Glacier2/FilterI.h
index 2dbacdbfe62..6c99b5bf03a 100644
--- a/cpp/src/Glacier2/FilterI.h
+++ b/cpp/src/Glacier2/FilterI.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.
@@ -62,6 +62,7 @@ public:
bool
empty() const
{
+ IceUtil::Monitor<IceUtil::Mutex>::Lock lock(*this);
return _items.size() == 0;
}
diff --git a/cpp/src/Glacier2/FilterManager.cpp b/cpp/src/Glacier2/FilterManager.cpp
index b967b241fab..37f10cf4b0f 100644
--- a/cpp/src/Glacier2/FilterManager.cpp
+++ b/cpp/src/Glacier2/FilterManager.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/src/Glacier2/FilterManager.h b/cpp/src/Glacier2/FilterManager.h
index bcaf89d462b..ea24b485699 100644
--- a/cpp/src/Glacier2/FilterManager.h
+++ b/cpp/src/Glacier2/FilterManager.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/src/Glacier2/Glacier2.rc b/cpp/src/Glacier2/Glacier2.rc
index 069597c05d5..b97221f24de 100644
--- a/cpp/src/Glacier2/Glacier2.rc
+++ b/cpp/src/Glacier2/Glacier2.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Glacier2 DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/Glacier2/Glacier2Router.cpp b/cpp/src/Glacier2/Glacier2Router.cpp
index 07f626c6177..b86bc645cef 100644
--- a/cpp/src/Glacier2/Glacier2Router.cpp
+++ b/cpp/src/Glacier2/Glacier2Router.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.
@@ -467,7 +467,15 @@ Glacier2::RouterService::start(int argc, char* argv[])
//
// Create the instance object.
//
- _instance = new Instance(communicator(), clientAdapter, serverAdapter);
+ try
+ {
+ _instance = new Instance(communicator(), clientAdapter, serverAdapter);
+ }
+ catch(const Ice::InitializationException& ex)
+ {
+ error("Glacier2 initialization failed:\n" + ex.reason);
+ return false;
+ }
//
// Create the session router. The session router registers itself
diff --git a/cpp/src/Glacier2/Glacier2Router.rc b/cpp/src/Glacier2/Glacier2Router.rc
index 19c6cf40494..3a7895aad39 100644
--- a/cpp/src/Glacier2/Glacier2Router.rc
+++ b/cpp/src/Glacier2/Glacier2Router.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Glacier2 Router\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "glacier2router\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", "glacier2router.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/Glacier2/Instance.cpp b/cpp/src/Glacier2/Instance.cpp
index 43b06bfcbcf..455b2a3ade5 100644
--- a/cpp/src/Glacier2/Instance.cpp
+++ b/cpp/src/Glacier2/Instance.cpp
@@ -1,12 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+#include <Glacier2/SessionRouterI.h>
#include <Glacier2/Instance.h>
using namespace std;
@@ -38,6 +39,8 @@ Glacier2::Instance::Instance(const Ice::CommunicatorPtr& communicator, const Ice
const_cast<RequestQueueThreadPtr&>(_clientRequestQueueThread) = new RequestQueueThread(sleepTime);
_clientRequestQueueThread->start();
}
+
+ const_cast<ProxyVerifierPtr&>(_proxyVerifier) = new ProxyVerifier(communicator);
}
Glacier2::Instance::~Instance()
@@ -56,4 +59,12 @@ Glacier2::Instance::destroy()
{
_serverRequestQueueThread->destroy();
}
+
+ const_cast<SessionRouterIPtr&>(_sessionRouter) = 0;
+}
+
+void
+Glacier2::Instance::setSessionRouter(const SessionRouterIPtr& sessionRouter)
+{
+ const_cast<SessionRouterIPtr&>(_sessionRouter) = sessionRouter;
}
diff --git a/cpp/src/Glacier2/Instance.h b/cpp/src/Glacier2/Instance.h
index 22f8113e0e4..f1762b24b46 100644
--- a/cpp/src/Glacier2/Instance.h
+++ b/cpp/src/Glacier2/Instance.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,10 +16,14 @@
#include <IceUtil/Time.h>
#include <Glacier2/RequestQueue.h>
+#include <Glacier2/ProxyVerifier.h>
namespace Glacier2
{
+class SessionRouterI;
+typedef IceUtil::Handle<SessionRouterI> SessionRouterIPtr;
+
class Instance : public IceUtil::Shared
{
public:
@@ -39,11 +43,16 @@ public:
const RequestQueueThreadPtr& clientRequestQueueThread() const { return _clientRequestQueueThread; }
const RequestQueueThreadPtr& serverRequestQueueThread() const { return _serverRequestQueueThread; }
+ const ProxyVerifierPtr& proxyVerifier() const { return _proxyVerifier; }
+ const SessionRouterIPtr& sessionRouter() const { return _sessionRouter; }
void destroy();
private:
+ friend class SessionRouterI;
+ void setSessionRouter(const SessionRouterIPtr&);
+
const Ice::CommunicatorPtr _communicator;
const Ice::PropertiesPtr _properties;
const Ice::LoggerPtr _logger;
@@ -51,6 +60,8 @@ private:
const Ice::ObjectAdapterPtr _serverAdapter;
const RequestQueueThreadPtr _clientRequestQueueThread;
const RequestQueueThreadPtr _serverRequestQueueThread;
+ const ProxyVerifierPtr _proxyVerifier;
+ const SessionRouterIPtr _sessionRouter;
};
typedef IceUtil::Handle<Instance> InstancePtr;
diff --git a/cpp/src/Glacier2/Makefile b/cpp/src/Glacier2/Makefile
index b53311cdf5d..3b561f28c61 100644
--- a/cpp/src/Glacier2/Makefile
+++ b/cpp/src/Glacier2/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/src/Glacier2/Makefile.mak b/cpp/src/Glacier2/Makefile.mak
index 88e8f517616..e9d2253afb1 100644
--- a/cpp/src/Glacier2/Makefile.mak
+++ b/cpp/src/Glacier2/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/src/Glacier2/ProxyVerifier.cpp b/cpp/src/Glacier2/ProxyVerifier.cpp
index a071c80bcc5..16225ab0f1b 100644
--- a/cpp/src/Glacier2/ProxyVerifier.cpp
+++ b/cpp/src/Glacier2/ProxyVerifier.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.
@@ -47,9 +47,7 @@ parseGroup(const string& parameter, vector<int>& validPorts, vector<Range>& rang
int value;
if(!(istr >> value))
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "expected number";
- throw ex;
+ throw string("expected number");
}
ws(istr);
if(!istr.eof())
@@ -68,15 +66,11 @@ parseGroup(const string& parameter, vector<int>& validPorts, vector<Range>& rang
ws(istr);
if(istr.eof())
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "Unterminated range";
- throw ex;
+ throw string("Unterminated range");
}
if(!(istr >> value))
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "expected number";
- throw ex;
+ throw string("expected number");
}
r.end = value;
ws(istr);
@@ -85,18 +79,14 @@ parseGroup(const string& parameter, vector<int>& validPorts, vector<Range>& rang
istr >> c;
if(c != ',')
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "expected comma separator";
- throw ex;
+ throw string("expected comma separator");
}
}
ranges.push_back(r);
}
else if(!istr.eof())
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "unexpected trailing character";
- throw ex;
+ throw string("unexpected trailing character");
}
}
}
@@ -573,26 +563,34 @@ public:
{
return false;
}
+
string::size_type pos = 0;
- if(!_portMatcher || _portMatcher->match(port, pos))
+ if(_portMatcher && !_portMatcher->match(port, pos))
{
- pos = 0;
- for(vector<AddressMatcher*>::const_iterator i = _addressRules.begin(); i != _addressRules.end(); ++i)
+ if(_traceLevel >= 3)
+ {
+ Trace out(_communicator->getLogger(), "Glacier2");
+ out << _portMatcher->toString() << " failed to match " << port << " at pos=" << pos << "\n";
+ }
+ return false;
+ }
+
+ pos = 0;
+ for(vector<AddressMatcher*>::const_iterator i = _addressRules.begin(); i != _addressRules.end(); ++i)
+ {
+ if(!(*i)->match(host, pos))
{
- if(!(*i)->match(host, pos))
- {
- if(_traceLevel >= 3)
- {
- Trace out(_communicator->getLogger(), "Glacier2");
- out << (*i)->toString() << " failed to match " << host << " at pos=" << pos << "\n";
- }
- return false;
- }
if(_traceLevel >= 3)
{
Trace out(_communicator->getLogger(), "Glacier2");
- out << (*i)->toString() << " matched " << host << " at pos=" << pos << "\n";
+ out << (*i)->toString() << " failed to match " << host << " at pos=" << pos << "\n";
}
+ return false;
+ }
+ if(_traceLevel >= 3)
+ {
+ Trace out(_communicator->getLogger(), "Glacier2");
+ out << (*i)->toString() << " matched " << host << " at pos=" << pos << "\n";
}
}
}
@@ -680,9 +678,7 @@ parseProperty(const Ice::CommunicatorPtr& communicator, const string& property,
string::size_type closeBracket = port.find(']', openBracket);
if(closeBracket == string::npos)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "unclosed group";
- throw ex;
+ throw string("unclosed group");
}
port = port.substr(openBracket, closeBracket-openBracket);
}
@@ -704,17 +700,15 @@ parseProperty(const Ice::CommunicatorPtr& communicator, const string& property,
if(current == addr.size())
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "expected address information before ':'";
- throw ex;
+ throw string("expected address information before ':'");
}
//
// TODO: assuming that there is no leading or trailing whitespace. This
// should probably be confirmed.
//
- assert(!isspace(parameter[current]));
- assert(!isspace(addr[addr.size() -1]));
+ assert(!isspace(static_cast<unsigned char>(parameter[current])));
+ assert(!isspace(static_cast<unsigned char>(addr[addr.size() -1])));
if(current != 0)
{
@@ -740,9 +734,7 @@ parseProperty(const Ice::CommunicatorPtr& communicator, const string& property,
{
if(inGroup)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "wildcards not permitted in groups";
- throw ex;
+ throw string("wildcards not permitted in groups");
}
//
// current == mark when the wildcard is at the head of a
@@ -770,16 +762,12 @@ parseProperty(const Ice::CommunicatorPtr& communicator, const string& property,
{
if(!inGroup)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "group close without group start";
- throw ex;
+ throw string("group close without group start");
}
inGroup = false;
if(mark == current)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "empty group";
- throw ex;
+ throw string("empty group");
}
string group = addr.substr(mark, current - mark);
vector<int> numbers;
@@ -794,9 +782,7 @@ parseProperty(const Ice::CommunicatorPtr& communicator, const string& property,
if(inGroup)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "unclosed group";
- throw ex;
+ throw string("unclosed group");
}
if(mark != current)
{
@@ -847,15 +833,11 @@ public:
istringstream s(count);
if(!(s >> _count) || !s.eof())
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "Error parsing ProxySizeMax property";
- throw ex;
+ throw string("Error parsing ProxySizeMax property");
}
if(_count <= 0)
{
- InitializationException ex(__FILE__, __LINE__);
- ex.reason = "ProxySizeMax must be greater than 1";
- throw ex;
+ throw string("ProxySizeMax must be greater than 1");
}
}
@@ -881,7 +863,7 @@ private:
} // End proxy rule implementations.
-Glacier2::ProxyVerifier::ProxyVerifier(const CommunicatorPtr& communicator, const char* ruleSet):
+Glacier2::ProxyVerifier::ProxyVerifier(const CommunicatorPtr& communicator):
_communicator(communicator),
_traceLevel(communicator->getProperties()->getPropertyAsInt("Glacier2.Client.Trace.Reject"))
{
@@ -892,19 +874,47 @@ Glacier2::ProxyVerifier::ProxyVerifier(const CommunicatorPtr& communicator, cons
string s = communicator->getProperties()->getProperty("Glacier2.Filter.Address.Accept");
if(s != "")
{
- Glacier2::parseProperty(communicator, s, _acceptRules, _traceLevel);
+ try
+ {
+ Glacier2::parseProperty(communicator, s, _acceptRules, _traceLevel);
+ }
+ catch(const string& msg)
+ {
+ InitializationException ex(__FILE__, __LINE__);
+ ex.reason = "invalid `Glacier2.Filter.Address.Accept' property:\n" + msg;
+ throw ex;
+ }
}
s = communicator->getProperties()->getProperty("Glacier2.Filter.Address.Reject");
if(s != "")
{
- Glacier2::parseProperty(communicator, s, _rejectRules, _traceLevel);
+ try
+ {
+ Glacier2::parseProperty(communicator, s, _rejectRules, _traceLevel);
+ }
+ catch(const string& msg)
+ {
+ InitializationException ex(__FILE__, __LINE__);
+ ex.reason = "invalid `Glacier2.Filter.Address.Reject' property:\n" + msg;
+ throw ex;
+ }
}
s = communicator->getProperties()->getProperty("Glacier2.Filter.ProxySizeMax");
if(s != "")
{
- _rejectRules.push_back(new ProxyLengthRule(communicator, s, _traceLevel));
+ try
+ {
+ _rejectRules.push_back(new ProxyLengthRule(communicator, s, _traceLevel));
+
+ }
+ catch(const string& msg)
+ {
+ InitializationException ex(__FILE__, __LINE__);
+ ex.reason = "invalid `Glacier2.Filter.ProxySizeMax' property:\n" + msg;
+ throw ex;
+ }
}
}
diff --git a/cpp/src/Glacier2/ProxyVerifier.h b/cpp/src/Glacier2/ProxyVerifier.h
index 9b7338fe129..6babb882e49 100644
--- a/cpp/src/Glacier2/ProxyVerifier.h
+++ b/cpp/src/Glacier2/ProxyVerifier.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.
@@ -23,6 +23,7 @@ namespace Glacier2
class ProxyRule
{
public:
+
virtual ~ProxyRule() {}
//
@@ -31,10 +32,11 @@ public:
virtual bool check(const Ice::ObjectPrx&) const = 0;
};
-class ProxyVerifier
+class ProxyVerifier : public IceUtil::Shared
{
public:
- ProxyVerifier(const Ice::CommunicatorPtr&, const char*);
+
+ ProxyVerifier(const Ice::CommunicatorPtr&);
~ProxyVerifier();
//
@@ -44,13 +46,14 @@ public:
bool verify(const Ice::ObjectPrx&);
private:
- const Ice::CommunicatorPtr _communicator;
+ const Ice::CommunicatorPtr _communicator;
const int _traceLevel;
std::vector<ProxyRule*> _acceptRules;
std::vector<ProxyRule*> _rejectRules;
};
+typedef IceUtil::Handle<ProxyVerifier> ProxyVerifierPtr;
}
#endif
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index f1c7667f596..8d8db6e264b 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.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.
@@ -8,6 +8,7 @@
// **********************************************************************
#include <Glacier2/RequestQueue.h>
+#include <Glacier2/SessionRouterI.h>
#include <set>
using namespace std;
@@ -24,7 +25,12 @@ class AMI_Array_Object_ice_invokeI : public AMI_Array_Object_ice_invoke
{
public:
- AMI_Array_Object_ice_invokeI(const AMD_Array_Object_ice_invokePtr& amdCB) : _amdCB(amdCB)
+ AMI_Array_Object_ice_invokeI(const AMD_Array_Object_ice_invokePtr& amdCB,
+ const InstancePtr& instance,
+ const ConnectionPtr& connection) :
+ _amdCB(amdCB),
+ _instance(instance),
+ _connection(connection)
{
}
@@ -40,6 +46,30 @@ public:
virtual void
ice_exception(const Exception& ex)
{
+ //
+ // If the connection has been lost, destroy the session.
+ //
+ if(_connection)
+ {
+ try
+ {
+ ex.ice_throw();
+ }
+ catch(const Ice::ConnectionLostException&)
+ {
+ try
+ {
+ _instance->sessionRouter()->destroySession(_connection);
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+ catch(const Exception&)
+ {
+ }
+ }
+
if(_amdCB)
{
_amdCB->ice_exception(ex);
@@ -49,19 +79,22 @@ public:
private:
const AMD_Array_Object_ice_invokePtr _amdCB;
+ const InstancePtr _instance;
+ const ConnectionPtr _connection;
};
}
Glacier2::Request::Request(const ObjectPrx& proxy, const std::pair<const Byte*, const Byte*>& inParams,
const Current& current, bool forwardContext, const Ice::Context& sslContext,
- const AMD_Array_Object_ice_invokePtr& amdCB) :
+ const AMD_Array_Object_ice_invokePtr& amdCB, const ConnectionPtr& connection) :
_proxy(proxy),
_inParams(inParams.first, inParams.second),
_current(current),
_forwardContext(forwardContext),
_sslContext(sslContext),
- _amdCB(amdCB)
+ _amdCB(amdCB),
+ _connection(connection)
{
//
// If this is not a twoway call, we can finish the AMD call right
@@ -81,7 +114,7 @@ Glacier2::Request::Request(const ObjectPrx& proxy, const std::pair<const Byte*,
bool
-Glacier2::Request::invoke()
+Glacier2::Request::invoke(const InstancePtr& instance)
{
pair<const Byte*, const Byte*> inPair;
if(_inParams.size() == 0)
@@ -128,11 +161,11 @@ Glacier2::Request::invoke()
AMI_Array_Object_ice_invokePtr amiCB;
if(_proxy->ice_isTwoway())
{
- amiCB = new AMI_Array_Object_ice_invokeI(_amdCB);
+ amiCB = new AMI_Array_Object_ice_invokeI(_amdCB, instance, _connection);
}
else
{
- amiCB = new AMI_Array_Object_ice_invokeI(0);
+ amiCB = new AMI_Array_Object_ice_invokeI(0, instance, _connection);
}
if(_forwardContext)
@@ -194,8 +227,10 @@ Glacier2::Request::override(const RequestPtr& other) const
return _override == other->_override;
}
-Glacier2::RequestQueue::RequestQueue(const RequestQueueThreadPtr& requestQueueThread) :
- _requestQueueThread(requestQueueThread)
+Glacier2::RequestQueue::RequestQueue(const RequestQueueThreadPtr& requestQueueThread,
+ const InstancePtr& instance) :
+ _requestQueueThread(requestQueueThread),
+ _instance(instance)
{
}
@@ -238,7 +273,7 @@ Glacier2::RequestQueue::flushRequests(set<Ice::ObjectPrx>& batchProxies)
{
try
{
- if((*p)->invoke()) // If batch invocation, add the proxy to the batch proxy set.
+ if((*p)->invoke(_instance)) // If batch invocation, add the proxy to the batch proxy set.
{
batchProxies.insert((*p)->getProxy());
}
diff --git a/cpp/src/Glacier2/RequestQueue.h b/cpp/src/Glacier2/RequestQueue.h
index e91aa46e48b..53f5fd5befb 100644
--- a/cpp/src/Glacier2/RequestQueue.h
+++ b/cpp/src/Glacier2/RequestQueue.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.
@@ -17,6 +17,9 @@
namespace Glacier2
{
+class Instance;
+typedef IceUtil::Handle<Instance> InstancePtr;
+
class Request;
typedef IceUtil::Handle<Request> RequestPtr;
@@ -28,9 +31,9 @@ class Request : public IceUtil::Shared
public:
Request(const Ice::ObjectPrx&, const std::pair<const Ice::Byte*, const Ice::Byte*>&, const Ice::Current&, bool,
- const Ice::Context&, const Ice::AMD_Array_Object_ice_invokePtr&);
+ const Ice::Context&, const Ice::AMD_Array_Object_ice_invokePtr&, const Ice::ConnectionPtr&);
- bool invoke();
+ bool invoke(const InstancePtr&);
bool override(const RequestPtr&) const;
const Ice::ObjectPrx& getProxy() const { return _proxy; }
bool hasOverride() const { return !_override.empty(); }
@@ -44,13 +47,14 @@ private:
const Ice::Context _sslContext;
const std::string _override;
const Ice::AMD_Array_Object_ice_invokePtr _amdCB;
+ const Ice::ConnectionPtr _connection;
};
class RequestQueue : public IceUtil::Mutex, public IceUtil::Shared
{
public:
- RequestQueue(const RequestQueueThreadPtr&);
+ RequestQueue(const RequestQueueThreadPtr&, const InstancePtr&);
bool addRequest(const RequestPtr&);
void flushRequests(std::set<Ice::ObjectPrx>&);
@@ -58,6 +62,7 @@ public:
private:
const RequestQueueThreadPtr _requestQueueThread;
+ const InstancePtr _instance;
std::vector<RequestPtr> _requests;
};
typedef IceUtil::Handle<RequestQueue> RequestQueuePtr;
diff --git a/cpp/src/Glacier2/RouterI.cpp b/cpp/src/Glacier2/RouterI.cpp
index 78acfd563d3..458ad6980f1 100644
--- a/cpp/src/Glacier2/RouterI.cpp
+++ b/cpp/src/Glacier2/RouterI.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/src/Glacier2/RouterI.h b/cpp/src/Glacier2/RouterI.h
index 467f98f9b49..0c63e37c575 100644
--- a/cpp/src/Glacier2/RouterI.h
+++ b/cpp/src/Glacier2/RouterI.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/src/Glacier2/RoutingTable.cpp b/cpp/src/Glacier2/RoutingTable.cpp
index 79b15aa7362..c5084a6cbb6 100644
--- a/cpp/src/Glacier2/RoutingTable.cpp
+++ b/cpp/src/Glacier2/RoutingTable.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,11 +13,11 @@ using namespace std;
using namespace Ice;
using namespace Glacier2;
-Glacier2::RoutingTable::RoutingTable(const CommunicatorPtr& communicator) :
+Glacier2::RoutingTable::RoutingTable(const CommunicatorPtr& communicator, const ProxyVerifierPtr& verifier) :
_communicator(communicator),
_traceLevel(_communicator->getProperties()->getPropertyAsInt("Glacier2.Trace.RoutingTable")),
_maxSize(_communicator->getProperties()->getPropertyAsIntWithDefault("Glacier2.RoutingTable.MaxSize", 1000)),
- _verifier(communicator, "")
+ _verifier(verifier)
{
}
@@ -40,7 +40,7 @@ Glacier2::RoutingTable::add(const ObjectProxySeq& unfiltered, const Ice::Current
continue;
}
- if(!_verifier.verify(*prx))
+ if(!_verifier->verify(*prx))
{
current.con->close(true);
throw ObjectNotExistException(__FILE__, __LINE__);
diff --git a/cpp/src/Glacier2/RoutingTable.h b/cpp/src/Glacier2/RoutingTable.h
index d0b74467bf8..e056a414442 100644
--- a/cpp/src/Glacier2/RoutingTable.h
+++ b/cpp/src/Glacier2/RoutingTable.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.
@@ -25,7 +25,7 @@ class RoutingTable : public IceUtil::Shared, public IceUtil::Mutex
{
public:
- RoutingTable(const Ice::CommunicatorPtr&);
+ RoutingTable(const Ice::CommunicatorPtr&, const ProxyVerifierPtr&);
Ice::ObjectProxySeq add(const Ice::ObjectProxySeq&, const Ice::Current&); // Returns evicted proxies.
Ice::ObjectPrx get(const Ice::Identity&); // Returns null if no proxy can be found.
@@ -35,6 +35,7 @@ private:
const Ice::CommunicatorPtr _communicator;
const int _traceLevel;
const int _maxSize;
+ const ProxyVerifierPtr _verifier;
struct EvictorEntry;
typedef IceUtil::Handle<EvictorEntry> EvictorEntryPtr;
@@ -51,8 +52,6 @@ private:
EvictorMap _map;
EvictorQueue _queue;
-
- ProxyVerifier _verifier;
};
}
diff --git a/cpp/src/Glacier2/ServerBlobject.cpp b/cpp/src/Glacier2/ServerBlobject.cpp
index f528f25ecc9..377a5db830b 100644
--- a/cpp/src/Glacier2/ServerBlobject.cpp
+++ b/cpp/src/Glacier2/ServerBlobject.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,8 +14,7 @@ using namespace Ice;
using namespace Glacier2;
Glacier2::ServerBlobject::ServerBlobject(const InstancePtr& instance, const ConnectionPtr& connection) :
- Glacier2::Blobject(instance, true, Ice::Context()),
- _connection(connection)
+ Glacier2::Blobject(instance, connection, Ice::Context())
{
}
@@ -28,7 +27,7 @@ Glacier2::ServerBlobject::ice_invoke_async(const Ice::AMD_Array_Object_ice_invok
const std::pair<const Byte*, const Byte*>& inParams,
const Current& current)
{
- ObjectPrx proxy = _connection->createProxy(current.id);
+ ObjectPrx proxy = _reverseConnection->createProxy(current.id);
assert(proxy);
invoke(proxy, amdCB, inParams, current);
diff --git a/cpp/src/Glacier2/ServerBlobject.h b/cpp/src/Glacier2/ServerBlobject.h
index e4a7868315c..d6dce8056aa 100644
--- a/cpp/src/Glacier2/ServerBlobject.h
+++ b/cpp/src/Glacier2/ServerBlobject.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.
@@ -27,10 +27,6 @@ public:
virtual void ice_invoke_async(const Ice::AMD_Array_Object_ice_invokePtr&,
const std::pair<const Ice::Byte*, const Ice::Byte*>&, const Ice::Current&);
-
-private:
-
- const Ice::ConnectionPtr _connection;
};
}
diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp
index 68587d74a8c..cfbb9082ebc 100644
--- a/cpp/src/Glacier2/SessionRouterI.cpp
+++ b/cpp/src/Glacier2/SessionRouterI.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.
@@ -677,6 +677,8 @@ Glacier2::SessionRouterI::SessionRouterI(const InstancePtr& instance,
{
_sessionThread->start();
}
+
+ _instance->setSessionRouter(this);
}
Glacier2::SessionRouterI::~SessionRouterI()
diff --git a/cpp/src/Glacier2/SessionRouterI.h b/cpp/src/Glacier2/SessionRouterI.h
index b4a306562b7..5eed65fb77b 100644
--- a/cpp/src/Glacier2/SessionRouterI.h
+++ b/cpp/src/Glacier2/SessionRouterI.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/src/Ice/.depend b/cpp/src/Ice/.depend
index 4db81b3e503..03240312b1b 100644
--- a/cpp/src/Ice/.depend
+++ b/cpp/src/Ice/.depend
@@ -2,14 +2,14 @@ Acceptor$(OBJEXT): Acceptor.cpp ../Ice/Acceptor.h $(includedir)/IceUtil/Shared.h
Application$(OBJEXT): Application.cpp $(includedir)/Ice/Application.h $(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/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 ../Ice/LoggerI.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/ArgVector.h ../Ice/GC.h
Base64$(OBJEXT): Base64.cpp ../Ice/Base64.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h
Buffer$(OBJEXT): Buffer.cpp $(includedir)/Ice/Buffer.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/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/BuiltinSequences.h
-BasicStream$(OBJEXT): BasicStream.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ProxyFactory.h $(includedir)/Ice/ObjectFactory.h ../Ice/ObjectFactoryManager.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h ../Ice/TraceUtil.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h
+BasicStream$(OBJEXT): BasicStream.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ProxyFactory.h $(includedir)/Ice/ObjectFactory.h ../Ice/ObjectFactoryManager.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h ../Ice/TraceUtil.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h
BuiltinSequences$(OBJEXT): BuiltinSequences.cpp $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.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/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Stream.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-CommunicatorI$(OBJEXT): CommunicatorI.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/CommunicatorI.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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)/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/Communicator.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ObjectFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h ../Ice/ConnectorF.h $(includedir)/Ice/LoggerUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/TraceLevels.h ../Ice/GC.h
+CommunicatorI$(OBJEXT): CommunicatorI.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/CommunicatorI.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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)/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/Communicator.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ObjectFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h ../Ice/ConnectorF.h $(includedir)/Ice/LoggerUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/TraceLevels.h ../Ice/GC.h
Communicator$(OBJEXT): Communicator.cpp $(includedir)/Ice/Communicator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-ConnectRequestHandler$(OBJEXT): ConnectRequestHandler.cpp ../Ice/ConnectRequestHandler.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Mutex.h ../Ice/RequestHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.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/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/RouterInfo.h $(includedir)/Ice/BuiltinSequences.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 ../Ice/ConnectionRequestHandler.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/Ice/Properties.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/LoggerUtil.h
-ConnectionFactory$(OBJEXT): ConnectionFactory.cpp ../Ice/ConnectionFactory.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/LocalObjectF.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)/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/InstanceF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfoF.h ../Ice/EndpointI.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h $(includedir)/Ice/Properties.h ../Ice/Transceiver.h ../Ice/Connector.h ../Ice/Acceptor.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/RouterInfo.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Random.h
-ConnectionI$(OBJEXT): ConnectionI.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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)/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/ConnectionFactoryF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Properties.h ../Ice/TraceUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/Transceiver.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/SelectorThread.h ../Ice/ConnectionMonitor.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/ConnectorF.h ../Ice/EndpointI.h ../Ice/AcceptorF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/ProxyFactory.h
-ConnectionMonitor$(OBJEXT): ConnectionMonitor.cpp ../Ice/ConnectionMonitor.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ConnectionMonitorF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/InstanceF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.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/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LoggerUtil.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h
+ConnectRequestHandler$(OBJEXT): ConnectRequestHandler.cpp ../Ice/ConnectRequestHandler.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Mutex.h ../Ice/RequestHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.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/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/RouterInfo.h $(includedir)/Ice/BuiltinSequences.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 ../Ice/ConnectionRequestHandler.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/Ice/Properties.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/LoggerUtil.h
+ConnectionFactory$(OBJEXT): ConnectionFactory.cpp ../Ice/ConnectionFactory.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/LocalObjectF.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)/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/InstanceF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfoF.h ../Ice/EndpointI.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h $(includedir)/Ice/Properties.h ../Ice/Transceiver.h ../Ice/Connector.h ../Ice/Acceptor.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/RouterInfo.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Random.h
+ConnectionI$(OBJEXT): ConnectionI.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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)/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/ConnectionFactoryF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Properties.h ../Ice/TraceUtil.h ../Ice/DefaultsAndOverrides.h ../Ice/Transceiver.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/SelectorThread.h ../Ice/ConnectionMonitor.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/ConnectorF.h ../Ice/EndpointI.h ../Ice/AcceptorF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/ProxyFactory.h
+ConnectionMonitor$(OBJEXT): ConnectionMonitor.cpp ../Ice/ConnectionMonitor.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ConnectionMonitorF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/InstanceF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.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/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LoggerUtil.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h
Connection$(OBJEXT): Connection.cpp $(includedir)/Ice/Connection.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.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/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
ConnectionRequestHandler$(OBJEXT): ConnectionRequestHandler.cpp ../Ice/ConnectionRequestHandler.h ../Ice/RequestHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/CommunicatorF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/RouterInfo.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h
Connector$(OBJEXT): Connector.cpp ../Ice/Connector.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/ConnectorF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/TransceiverF.h
@@ -18,11 +18,11 @@ DefaultsAndOverrides$(OBJEXT): DefaultsAndOverrides.cpp ../Ice/DefaultsAndOverri
Direct$(OBJEXT): Direct.cpp $(includedir)/Ice/Direct.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/ReferenceF.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/RouterInfoF.h ../Ice/ConnectorF.h ../Ice/LocatorInfoF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ServantManager.h $(includedir)/Ice/ServantLocator.h ../Ice/Reference.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/RouterF.h ../Ice/SharedContext.h $(includedir)/Ice/LocalException.h
DispatchInterceptor$(OBJEXT): DispatchInterceptor.cpp $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Config.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h ../Ice/IncomingRequest.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Direct.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/BuiltinSequences.h
DynamicLibrary$(OBJEXT): DynamicLibrary.cpp $(includedir)/Ice/DynamicLibrary.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h
-EndpointFactoryManager$(OBJEXT): EndpointFactoryManager.cpp ../Ice/EndpointFactoryManager.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h ../Ice/UnknownEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/DefaultsAndOverrides.h
+EndpointFactoryManager$(OBJEXT): EndpointFactoryManager.cpp ../Ice/EndpointFactoryManager.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h ../Ice/UnknownEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/DefaultsAndOverrides.h
EndpointFactory$(OBJEXT): EndpointFactory.cpp $(includedir)/Ice/EndpointFactory.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/EndpointFactoryF.h $(includedir)/Ice/Protocol.h
Endpoint$(OBJEXT): Endpoint.cpp $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-EndpointI$(OBJEXT): EndpointI.cpp ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/Network.h
-EventHandler$(OBJEXT): EventHandler.cpp ../Ice/EventHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/EventHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/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 ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
+EndpointI$(OBJEXT): EndpointI.cpp ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/Network.h
+EventHandler$(OBJEXT): EventHandler.cpp ../Ice/EventHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/EventHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/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 ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
Exception$(OBJEXT): Exception.cpp $(includedir)/Ice/Exception.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.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/BuiltinSequences.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/StringUtil.h
FacetMap$(OBJEXT): FacetMap.cpp $(includedir)/Ice/FacetMap.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
FactoryTableDef$(OBJEXT): FactoryTableDef.cpp $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Mutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.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/UserExceptionFactory.h
@@ -31,26 +31,26 @@ GC$(OBJEXT): GC.cpp $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Config.h
Identity$(OBJEXT): Identity.cpp $(includedir)/Ice/Identity.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
ImplicitContextI$(OBJEXT): ImplicitContextI.cpp ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/StaticMutex.h
ImplicitContext$(OBJEXT): ImplicitContext.cpp $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.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/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-IncomingAsync$(OBJEXT): IncomingAsync.cpp $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/ServantLocator.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/ReplyStatus.h $(includedir)/IceUtil/StaticMutex.h
-Incoming$(OBJEXT): Incoming.cpp $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/IncomingAsync.h ../Ice/IncomingRequest.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h ../Ice/ServantManager.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/ReplyStatus.h $(includedir)/IceUtil/StringUtil.h
+IncomingAsync$(OBJEXT): IncomingAsync.cpp $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/ServantLocator.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h ../Ice/ReplyStatus.h $(includedir)/IceUtil/StaticMutex.h
+Incoming$(OBJEXT): Incoming.cpp $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/IncomingAsync.h ../Ice/IncomingRequest.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h ../Ice/ServantManager.h ../Ice/ConnectionI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/ReplyStatus.h $(includedir)/IceUtil/StringUtil.h
Initialize$(OBJEXT): Initialize.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/ArgVector.h $(includedir)/IceUtil/Config.h ../Ice/GC.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/CommunicatorI.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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)/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/Communicator.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Ice/PropertiesI.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LocalException.h ../Ice/StreamI.h $(includedir)/Ice/Stream.h ../Ice/LoggerI.h $(includedir)/Ice/Logger.h
-Instance$(OBJEXT): Instance.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/Instance.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../Ice/RouterInfo.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../Ice/EventHandlerF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/Network.h ../Ice/SelectorF.h $(includedir)/Ice/LoggerUtil.h ../Ice/SelectorThread.h ../Ice/SocketReadyCallback.h ../Ice/ConnectionFactory.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointI.h ../Ice/ConnectionMonitor.h ../Ice/ObjectFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h ../Ice/PropertiesI.h $(includedir)/Ice/Properties.h ../Ice/LoggerI.h $(includedir)/Ice/Logger.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/TcpEndpointI.h $(includedir)/Ice/EndpointFactory.h ../Ice/UdpEndpointI.h $(includedir)/Ice/DynamicLibrary.h ../Ice/PluginManagerI.h $(includedir)/IceUtil/UUID.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/ImplicitContextF.h ../Ice/SysLoggerI.h
+Instance$(OBJEXT): Instance.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/Instance.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h ../Ice/RouterInfo.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h ../Ice/ReferenceFactory.h ../Ice/Reference.h ../Ice/ProxyFactory.h ../Ice/ThreadPool.h ../Ice/EventHandlerF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/Network.h ../Ice/SelectorF.h $(includedir)/Ice/LoggerUtil.h ../Ice/SelectorThread.h ../Ice/SocketReadyCallback.h ../Ice/ConnectionFactory.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/TransceiverF.h ../Ice/EventHandler.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointI.h ../Ice/ConnectionMonitor.h ../Ice/ObjectFactoryManager.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h ../Ice/PropertiesI.h $(includedir)/Ice/Properties.h ../Ice/LoggerI.h $(includedir)/Ice/Logger.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/RetryQueue.h ../Ice/TcpEndpointI.h $(includedir)/Ice/EndpointFactory.h ../Ice/UdpEndpointI.h $(includedir)/Ice/DynamicLibrary.h ../Ice/PluginManagerI.h $(includedir)/IceUtil/UUID.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/ImplicitContextF.h ../Ice/SysLoggerI.h
LocalException$(OBJEXT): LocalException.cpp $(includedir)/Ice/LocalException.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BuiltinSequences.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.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/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
LocalObject$(OBJEXT): LocalObject.cpp $(includedir)/Ice/LocalObject.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h
-LocatorInfo$(OBJEXT): LocatorInfo.cpp ../Ice/LocatorInfo.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h ../Ice/LocatorInfoF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/LocalObjectF.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)/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/Locator.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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.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/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h
+LocatorInfo$(OBJEXT): LocatorInfo.cpp ../Ice/LocatorInfo.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h ../Ice/LocatorInfoF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/LocalObjectF.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)/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/Locator.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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.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/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h
Locator$(OBJEXT): Locator.cpp $(includedir)/Ice/Locator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Direct.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/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
LoggerI$(OBJEXT): LoggerI.cpp $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Config.h ../Ice/LoggerI.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h
Logger$(OBJEXT): Logger.cpp $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-LoggerUtil$(OBJEXT): LoggerUtil.cpp $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalException.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/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
+LoggerUtil$(OBJEXT): LoggerUtil.cpp $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalException.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/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
Network$(OBJEXT): Network.cpp $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Config.h ../Ice/Network.h $(includedir)/Ice/Config.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Properties.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.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/LoggerUtil.h
ObjectAdapterFactory$(OBJEXT): ObjectAdapterFactory.cpp ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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)/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/ServantLocatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/RouterInfoF.h ../Ice/ConnectorF.h ../Ice/LocatorInfoF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/UUID.h
-ObjectAdapterI$(OBJEXT): ObjectAdapterI.cpp $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Config.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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)/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/ServantLocatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/RouterInfoF.h ../Ice/ConnectorF.h ../Ice/LocatorInfoF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ObjectAdapterFactory.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/Direct.h ../Ice/ProxyFactory.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/ConnectionFactory.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/ServantManager.h ../Ice/RouterInfo.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.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/LoggerUtil.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Router.h ../Ice/DefaultsAndOverrides.h ../Ice/TraceLevels.h ../Ice/PropertyNames.h
+ObjectAdapterI$(OBJEXT): ObjectAdapterI.cpp $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Config.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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)/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/ServantLocatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/RouterInfoF.h ../Ice/ConnectorF.h ../Ice/LocatorInfoF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ObjectAdapterFactory.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/Direct.h ../Ice/ProxyFactory.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/ConnectionFactory.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/ServantManager.h ../Ice/RouterInfo.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.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/LoggerUtil.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Router.h ../Ice/DefaultsAndOverrides.h ../Ice/TraceLevels.h ../Ice/PropertyNames.h
ObjectAdapter$(OBJEXT): ObjectAdapter.cpp $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/ServantLocatorF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.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)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
ObjectFactoryManager$(OBJEXT): ObjectFactoryManager.cpp ../Ice/ObjectFactoryManager.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/LocalObjectF.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/ObjectFactory.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/CommunicatorF.h $(includedir)/Ice/BuiltinSequences.h
ObjectFactory$(OBJEXT): ObjectFactory.cpp $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
Object$(OBJEXT): Object.cpp $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Config.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/IncomingAsync.h ../Ice/IncomingRequest.h $(includedir)/Ice/Direct.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Stream.h
-OutgoingAsync$(OBJEXT): OutgoingAsync.cpp $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StreamF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/SelectorThreadF.h ../Ice/RequestHandler.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/LocatorInfo.h ../Ice/ProxyFactory.h ../Ice/RouterInfo.h ../Ice/ReplyStatus.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h
-Outgoing$(OBJEXT): Outgoing.cpp $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StreamF.h ../Ice/RequestHandler.h $(includedir)/Ice/OutgoingAsyncF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h ../Ice/ReplyStatus.h
+OutgoingAsync$(OBJEXT): OutgoingAsync.cpp $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StreamF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/LoggerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.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)/IceUtil/Unicode.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/SelectorThreadF.h ../Ice/RequestHandler.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/LocatorInfo.h ../Ice/ProxyFactory.h ../Ice/RouterInfo.h ../Ice/ReplyStatus.h ../Ice/ThreadPool.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/RetryQueue.h
+Outgoing$(OBJEXT): Outgoing.cpp $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StreamF.h ../Ice/RequestHandler.h $(includedir)/Ice/OutgoingAsyncF.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ConnectionFactoryF.h ../Ice/TransceiverF.h $(includedir)/Ice/ServantManagerF.h ../Ice/TraceLevelsF.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/ThreadPoolF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/SelectorThreadF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/Direct.h ../Ice/ReplyStatus.h
PluginManagerI$(OBJEXT): PluginManagerI.cpp ../Ice/PluginManagerI.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/BuiltinSequences.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/DynamicLibrary.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.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/LoggerUtil.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/LocalException.h
Plugin$(OBJEXT): Plugin.cpp $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
Process$(OBJEXT): Process.cpp $(includedir)/Ice/Process.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
@@ -58,37 +58,38 @@ PropertiesI$(OBJEXT): PropertiesI.cpp $(includedir)/IceUtil/DisableWarnings.h $(
Properties$(OBJEXT): Properties.cpp $(includedir)/Ice/Properties.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
PropertyNames$(OBJEXT): PropertyNames.cpp ../Ice/PropertyNames.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h
Protocol$(OBJEXT): Protocol.cpp $(includedir)/Ice/Protocol.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h
-ProtocolPluginFacade$(OBJEXT): ProtocolPluginFacade.cpp $(includedir)/Ice/ProtocolPluginFacade.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/ProtocolPluginFacadeF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/EndpointFactoryF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Protocol.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointFactoryManager.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h
-ProxyFactory$(OBJEXT): ProxyFactory.cpp $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/ProxyFactory.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/OutgoingAsyncF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectAdapterF.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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/LocatorInfo.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h
-Proxy$(OBJEXT): Proxy.cpp $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.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 ../Ice/ProxyFactory.h $(includedir)/Ice/InstanceF.h ../Ice/ReferenceFactory.h ../Ice/ReferenceFactoryF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/ConnectorF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/Outgoing.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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/ConnectRequestHandler.h ../Ice/RequestHandler.h ../Ice/RouterInfo.h ../Ice/ConnectionRequestHandler.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/AcceptorF.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Process.h $(includedir)/Ice/Incoming.h ../Ice/LocatorInfo.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/Ice/Stream.h
-ReferenceFactory$(OBJEXT): ReferenceFactory.cpp $(includedir)/Ice/Communicator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Ice/ReferenceFactory.h ../Ice/ReferenceFactoryF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/InstanceF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ProxyFactory.h $(includedir)/Ice/LocalException.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/RouterInfo.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Properties.h ../Ice/DefaultsAndOverrides.h ../Ice/PropertyNames.h $(includedir)/IceUtil/StringUtil.h
-Reference$(OBJEXT): Reference.cpp ../Ice/Reference.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.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/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/ReferenceFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfo.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.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/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/ConnectionFactory.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Random.h
+ProtocolPluginFacade$(OBJEXT): ProtocolPluginFacade.cpp $(includedir)/Ice/ProtocolPluginFacade.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/ProtocolPluginFacadeF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/EndpointFactoryF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Protocol.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointFactoryManager.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h
+ProxyFactory$(OBJEXT): ProxyFactory.cpp $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/ProxyFactory.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/OutgoingAsyncF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectAdapterF.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/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/ReferenceFactory.h ../Ice/Reference.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h ../Ice/LocatorInfo.h $(includedir)/Ice/Properties.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h
+Proxy$(OBJEXT): Proxy.cpp $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.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 ../Ice/ProxyFactory.h $(includedir)/Ice/InstanceF.h ../Ice/ReferenceFactory.h ../Ice/ReferenceFactoryF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ObjectAdapterFactoryF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ServantManagerF.h ../Ice/ConnectorF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/Outgoing.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/OutgoingAsync.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h ../Ice/ConnectRequestHandler.h ../Ice/RequestHandler.h ../Ice/RouterInfo.h ../Ice/ConnectionRequestHandler.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/AcceptorF.h ../Ice/Instance.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Process.h $(includedir)/Ice/Incoming.h ../Ice/LocatorInfo.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h $(includedir)/Ice/Stream.h
+ReferenceFactory$(OBJEXT): ReferenceFactory.cpp $(includedir)/Ice/Communicator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h ../Ice/ReferenceFactory.h ../Ice/ReferenceFactoryF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/InstanceF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h $(includedir)/Ice/BuiltinSequences.h ../Ice/ProxyFactory.h $(includedir)/Ice/LocalException.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/EndpointFactoryManager.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/RouterInfo.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Properties.h ../Ice/DefaultsAndOverrides.h ../Ice/PropertyNames.h $(includedir)/IceUtil/StringUtil.h
+Reference$(OBJEXT): Reference.cpp ../Ice/Reference.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.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/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h ../Ice/ReferenceFactory.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h ../Ice/Instance.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EndpointI.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h ../Ice/RouterInfo.h $(includedir)/Ice/Router.h ../Ice/LocatorInfo.h $(includedir)/Ice/Locator.h $(includedir)/Ice/IncomingAsync.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/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/ConnectionI.h $(includedir)/Ice/Connection.h ../Ice/EventHandler.h ../Ice/EventHandlerF.h ../Ice/Network.h ../Ice/SelectorF.h ../Ice/SocketReadyCallback.h ../Ice/ConnectionFactory.h $(includedir)/Ice/LoggerUtil.h ../Ice/TraceLevels.h ../Ice/DefaultsAndOverrides.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Random.h
+RetryQueue$(OBJEXT): RetryQueue.cpp ../Ice/RetryQueue.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h ../Ice/RetryQueueF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
RequestHandler$(OBJEXT): RequestHandler.cpp ../Ice/RequestHandler.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/LocalObjectF.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/Exception.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/ObjectAdapterF.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/LocatorF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h
RouterInfo$(OBJEXT): RouterInfo.cpp ../Ice/RouterInfo.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h ../Ice/RouterInfoF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocalObjectF.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)/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/BuiltinSequences.h $(includedir)/Ice/Router.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/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/LocalException.h $(includedir)/Ice/Connection.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/Reference.h $(includedir)/IceUtil/RecMutex.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/LocatorF.h ../Ice/LocatorInfoF.h ../Ice/SharedContext.h
Router$(OBJEXT): Router.cpp $(includedir)/Ice/Router.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/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/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-SelectorThread$(OBJEXT): SelectorThread.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/SelectorThread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Config.h ../Ice/SelectorThreadF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyHandle.h ../Ice/SocketReadyCallback.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LocalObjectF.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)/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/LoggerF.h $(includedir)/Ice/Protocol.h ../Ice/SelectorF.h $(includedir)/Ice/InstanceF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
+SelectorThread$(OBJEXT): SelectorThread.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/SelectorThread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Config.h ../Ice/SelectorThreadF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyHandle.h ../Ice/SocketReadyCallback.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LocalObjectF.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)/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/LoggerF.h $(includedir)/Ice/Protocol.h ../Ice/SelectorF.h $(includedir)/Ice/InstanceF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h
ServantLocator$(OBJEXT): ServantLocator.cpp $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/ObjectAdapterF.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
-ServantManager$(OBJEXT): ServantManager.cpp ../Ice/ServantManager.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/LocalObjectF.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/Identity.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/Plugin.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/Direct.h $(includedir)/IceUtil/StringUtil.h
+ServantManager$(OBJEXT): ServantManager.cpp ../Ice/ServantManager.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/LocalObjectF.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/Identity.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/Plugin.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/Direct.h $(includedir)/IceUtil/StringUtil.h
Service$(OBJEXT): Service.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/ArgVector.h $(includedir)/Ice/Service.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Timer.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 ../Ice/LoggerI.h ../Ice/Network.h
SliceChecksumDict$(OBJEXT): SliceChecksumDict.cpp $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
SliceChecksums$(OBJEXT): SliceChecksums.cpp $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h
Stats$(OBJEXT): Stats.cpp $(includedir)/Ice/Stats.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/IceUtil/DisableWarnings.h
StreamI$(OBJEXT): StreamI.cpp ../Ice/StreamI.h $(includedir)/Ice/Stream.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/BuiltinSequences.h
Stream$(OBJEXT): Stream.cpp $(includedir)/Ice/Stream.h $(includedir)/Ice/StreamF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.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/Object.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h
-StringConverter$(OBJEXT): StringConverter.cpp $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/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/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StatsF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/IconvStringConverter.h
+StringConverter$(OBJEXT): StringConverter.cpp $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Config.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/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/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StatsF.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/IconvStringConverter.h
SysLoggerI$(OBJEXT): SysLoggerI.cpp ../Ice/SysLoggerI.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.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
-TcpAcceptor$(OBJEXT): TcpAcceptor.cpp ../Ice/TcpAcceptor.h ../Ice/TransceiverF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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 ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/Network.h $(includedir)/Ice/Properties.h
-TcpConnector$(OBJEXT): TcpConnector.cpp ../Ice/TcpConnector.h ../Ice/TransceiverF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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 ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h ../Ice/TcpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/EndpointIF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/Network.h
-TcpEndpointI$(OBJEXT): TcpEndpointI.cpp ../Ice/TcpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h ../Ice/TcpAcceptor.h ../Ice/TraceLevelsF.h ../Ice/Acceptor.h ../Ice/TcpConnector.h ../Ice/Connector.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/DefaultsAndOverrides.h
-TcpTransceiver$(OBJEXT): TcpTransceiver.cpp ../Ice/TcpTransceiver.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h ../Ice/Network.h
-ThreadPool$(OBJEXT): ThreadPool.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/ThreadPool.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h ../Ice/ThreadPoolF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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)/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/CommunicatorF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/EventHandlerF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/Network.h $(includedir)/Ice/Protocol.h ../Ice/SelectorF.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EventHandler.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/ConnectorF.h $(includedir)/Ice/Properties.h
+TcpAcceptor$(OBJEXT): TcpAcceptor.cpp ../Ice/TcpAcceptor.h ../Ice/TransceiverF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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 ../Ice/Acceptor.h ../Ice/AcceptorF.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/Network.h $(includedir)/Ice/Properties.h
+TcpConnector$(OBJEXT): TcpConnector.cpp ../Ice/TcpConnector.h ../Ice/TransceiverF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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 ../Ice/Connector.h ../Ice/ConnectorF.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h ../Ice/TcpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/EndpointIF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h ../Ice/Network.h
+TcpEndpointI$(OBJEXT): TcpEndpointI.cpp ../Ice/TcpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h ../Ice/TcpAcceptor.h ../Ice/TraceLevelsF.h ../Ice/Acceptor.h ../Ice/TcpConnector.h ../Ice/Connector.h ../Ice/TcpTransceiver.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/DefaultsAndOverrides.h
+TcpTransceiver$(OBJEXT): TcpTransceiver.cpp ../Ice/TcpTransceiver.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/SelectorF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h ../Ice/Network.h
+ThreadPool$(OBJEXT): ThreadPool.cpp $(includedir)/IceUtil/DisableWarnings.h ../Ice/ThreadPool.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h ../Ice/ThreadPoolF.h $(includedir)/Ice/Handle.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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)/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/CommunicatorF.h $(includedir)/Ice/Object.h $(includedir)/Ice/IncomingAsyncF.h ../Ice/EventHandlerF.h ../Ice/Selector.h $(includedir)/IceUtil/StringUtil.h ../Ice/Network.h $(includedir)/Ice/Protocol.h ../Ice/SelectorF.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/StringConverter.h $(includedir)/IceUtil/Unicode.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/EventHandler.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h ../Ice/ObjectAdapterFactory.h ../Ice/ObjectAdapterI.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/LocatorF.h ../Ice/ConnectorF.h $(includedir)/Ice/Properties.h
TraceLevels$(OBJEXT): TraceLevels.cpp ../Ice/TraceLevels.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/TraceLevelsF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/LocalObjectF.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/Properties.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/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/BuiltinSequences.h
-TraceUtil$(OBJEXT): TraceUtil.cpp $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/StringUtil.h ../Ice/TraceUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/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 ../Ice/TraceLevelsF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/Logger.h ../Ice/ReplyStatus.h
+TraceUtil$(OBJEXT): TraceUtil.cpp $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/StringUtil.h ../Ice/TraceUtil.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/Ice/Config.h $(includedir)/Ice/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 ../Ice/TraceLevelsF.h ../Ice/Instance.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/StatsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/Logger.h ../Ice/ReplyStatus.h
Transceiver$(OBJEXT): Transceiver.cpp ../Ice/Transceiver.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h ../Ice/TransceiverF.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/SelectorF.h
UdpConnector$(OBJEXT): UdpConnector.cpp ../Ice/UdpConnector.h ../Ice/TransceiverF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/InstanceF.h ../Ice/Connector.h ../Ice/ConnectorF.h $(includedir)/Ice/Protocol.h ../Ice/UdpTransceiver.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/UdpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/EndpointIF.h ../Ice/AcceptorF.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LocalException.h $(includedir)/Ice/BuiltinSequences.h
-UdpEndpointI$(OBJEXT): UdpEndpointI.cpp ../Ice/UdpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h ../Ice/UdpConnector.h ../Ice/Connector.h ../Ice/UdpTransceiver.h ../Ice/TraceLevelsF.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/DefaultsAndOverrides.h
-UdpTransceiver$(OBJEXT): UdpTransceiver.cpp ../Ice/UdpTransceiver.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/SelectorF.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h ../Ice/Network.h $(includedir)/Ice/Properties.h
-UnknownEndpointI$(OBJEXT): UnknownEndpointI.cpp ../Ice/UnknownEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/Base64.h
+UdpEndpointI$(OBJEXT): UdpEndpointI.cpp ../Ice/UdpEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h ../Ice/Network.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.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/LoggerF.h ../Ice/UdpConnector.h ../Ice/Connector.h ../Ice/UdpTransceiver.h ../Ice/TraceLevelsF.h $(includedir)/Ice/StatsF.h ../Ice/Transceiver.h ../Ice/SelectorF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/DefaultsAndOverrides.h
+UdpTransceiver$(OBJEXT): UdpTransceiver.cpp ../Ice/UdpTransceiver.h $(includedir)/Ice/InstanceF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h ../Ice/TraceLevelsF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/LocalObjectF.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/StatsF.h ../Ice/Transceiver.h ../Ice/TransceiverF.h ../Ice/SelectorF.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/CommunicatorF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/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/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/TraceLevels.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h ../Ice/Network.h $(includedir)/Ice/Properties.h
+UnknownEndpointI$(OBJEXT): UnknownEndpointI.cpp ../Ice/UnknownEndpointI.h ../Ice/EndpointI.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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/EndpointIF.h $(includedir)/Ice/InstanceF.h ../Ice/TransceiverF.h ../Ice/ConnectorF.h ../Ice/AcceptorF.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/EndpointFactory.h $(includedir)/Ice/EndpointFactoryF.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/LoggerF.h $(includedir)/IceUtil/Unicode.h ../Ice/Instance.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/Ice/StatsF.h ../Ice/TraceLevelsF.h ../Ice/DefaultsAndOverridesF.h ../Ice/RouterInfoF.h ../Ice/LocatorInfoF.h ../Ice/ReferenceFactoryF.h $(includedir)/Ice/ProxyFactoryF.h ../Ice/ThreadPoolF.h ../Ice/SelectorThreadF.h $(includedir)/Ice/ConnectionFactoryF.h $(includedir)/Ice/ConnectionMonitorF.h ../Ice/ObjectFactoryManagerF.h $(includedir)/Ice/ObjectAdapterFactoryF.h ../Ice/EndpointFactoryManagerF.h ../Ice/RetryQueueF.h $(includedir)/Ice/DynamicLibraryF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/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/BuiltinSequences.h ../Ice/SharedContext.h ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Process.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h ../Ice/Base64.h
DLLMain$(OBJEXT): DLLMain.cpp ../Ice/EventLoggerI.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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 ../Ice/ImplicitContextI.h $(includedir)/Ice/ImplicitContext.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/CommunicatorF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Service.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/PropertiesF.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/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/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/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
EventLoggerI$(OBJEXT): EventLoggerI.cpp $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Config.h ../Ice/EventLoggerI.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/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 ../Ice/EventLoggerMsg.h $(includedir)/Ice/LocalException.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/CommunicatorF.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/IceUtil/StaticMutex.h
BuiltinSequences.cpp: $(slicedir)/Ice/BuiltinSequences.ice
diff --git a/cpp/src/Ice/Acceptor.cpp b/cpp/src/Ice/Acceptor.cpp
index 6150a91a11c..078556c6788 100644
--- a/cpp/src/Ice/Acceptor.cpp
+++ b/cpp/src/Ice/Acceptor.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/src/Ice/Acceptor.h b/cpp/src/Ice/Acceptor.h
index cf33bee2619..be771c54fec 100644
--- a/cpp/src/Ice/Acceptor.h
+++ b/cpp/src/Ice/Acceptor.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/src/Ice/AcceptorF.h b/cpp/src/Ice/AcceptorF.h
index 81319cea6f0..db96950dcb5 100644
--- a/cpp/src/Ice/AcceptorF.h
+++ b/cpp/src/Ice/AcceptorF.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/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp
index 072630d6c52..09047eee55e 100644
--- a/cpp/src/Ice/Application.cpp
+++ b/cpp/src/Ice/Application.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/src/Ice/Base64.cpp b/cpp/src/Ice/Base64.cpp
index 91033a8b2ea..5f2824ac154 100644
--- a/cpp/src/Ice/Base64.cpp
+++ b/cpp/src/Ice/Base64.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/src/Ice/Base64.h b/cpp/src/Ice/Base64.h
index 82ba4939c22..7692c183e30 100644
--- a/cpp/src/Ice/Base64.h
+++ b/cpp/src/Ice/Base64.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/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp
index b0e753d4cbd..3cd31438faf 100644
--- a/cpp/src/Ice/BasicStream.cpp
+++ b/cpp/src/Ice/BasicStream.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/src/Ice/Buffer.cpp b/cpp/src/Ice/Buffer.cpp
index 6604ccd2775..23a1f9bc243 100644
--- a/cpp/src/Ice/Buffer.cpp
+++ b/cpp/src/Ice/Buffer.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/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index 6aa367775e0..609926aa1df 100644
--- a/cpp/src/Ice/CommunicatorI.cpp
+++ b/cpp/src/Ice/CommunicatorI.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.
@@ -71,7 +71,7 @@ printGCStats(const IceInternal::GCStats& stats)
void
Ice::CommunicatorI::destroy()
{
- if(_instance->destroy())
+ if(_instance && _instance->destroy())
{
IceUtil::StaticMutex::Lock sync(gcMutex);
@@ -289,15 +289,7 @@ Ice::CommunicatorI::CommunicatorI(const InitializationData& initData)
// destructor is invoked.
//
const_cast<DynamicLibraryListPtr&>(_dynamicLibraryList) = _instance->dynamicLibraryList();
- }
- catch(...)
- {
- __setNoDelete(false);
- throw;
- }
- __setNoDelete(false);
- {
//
// If this is the first communicator that is created, use that communicator's
// property settings to determine whether to start the garbage collector.
@@ -316,13 +308,25 @@ Ice::CommunicatorI::CommunicatorI(const InitializationData& initData)
}
if(++communicatorCount == 1)
{
- theCollector = new IceInternal::GC(gcInterval, printGCStats);
+ IceUtil::Handle<IceInternal::GC> collector = new IceInternal::GC(gcInterval, printGCStats);
if(gcInterval > 0)
{
- theCollector->start();
+ collector->start();
}
+
+ //
+ // Assign only if start() succeeds, if it fails this makes sure stop isn't called in destroy().
+ //
+ theCollector = collector;
}
}
+ catch(...)
+ {
+ destroy();
+ __setNoDelete(false);
+ throw;
+ }
+ __setNoDelete(false);
}
Ice::CommunicatorI::~CommunicatorI()
@@ -343,7 +347,7 @@ Ice::CommunicatorI::finishSetup(int& argc, char* argv[])
}
catch(...)
{
- _instance->destroy();
+ destroy();
throw;
}
}
diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h
index 100a87a690d..7671fbf9102 100644
--- a/cpp/src/Ice/CommunicatorI.h
+++ b/cpp/src/Ice/CommunicatorI.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/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp
index 8c93f22cde9..41c06017486 100644
--- a/cpp/src/Ice/ConnectRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectRequestHandler.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/src/Ice/ConnectRequestHandler.h b/cpp/src/Ice/ConnectRequestHandler.h
index 865ef11e207..59bd3599569 100644
--- a/cpp/src/Ice/ConnectRequestHandler.h
+++ b/cpp/src/Ice/ConnectRequestHandler.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/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index c84ff797b7f..b00d915aae4 100644
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.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.
@@ -1495,7 +1495,7 @@ IceInternal::IncomingConnectionFactory::initialize(const string& adapterName)
{
// Here we ignore any exceptions in close().
}
-
+ _acceptor = 0;
throw;
}
}
diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h
index 6c947339b64..7bd97ab70e1 100644
--- a/cpp/src/Ice/ConnectionFactory.h
+++ b/cpp/src/Ice/ConnectionFactory.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/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index d1e74f59bbc..abb6c2f31cc 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.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/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h
index f0f10016532..642a41f981c 100644
--- a/cpp/src/Ice/ConnectionI.h
+++ b/cpp/src/Ice/ConnectionI.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/src/Ice/ConnectionMonitor.cpp b/cpp/src/Ice/ConnectionMonitor.cpp
index e0f09a11932..9fde65606d9 100644
--- a/cpp/src/Ice/ConnectionMonitor.cpp
+++ b/cpp/src/Ice/ConnectionMonitor.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/src/Ice/ConnectionMonitor.h b/cpp/src/Ice/ConnectionMonitor.h
index 67bd6e382ed..82a1727dd2e 100644
--- a/cpp/src/Ice/ConnectionMonitor.h
+++ b/cpp/src/Ice/ConnectionMonitor.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/src/Ice/ConnectionRequestHandler.cpp b/cpp/src/Ice/ConnectionRequestHandler.cpp
index 44d004fd2da..da688bf5aa8 100644
--- a/cpp/src/Ice/ConnectionRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectionRequestHandler.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/src/Ice/ConnectionRequestHandler.h b/cpp/src/Ice/ConnectionRequestHandler.h
index 5ecd9c1e1ed..7e1b4a2e12a 100644
--- a/cpp/src/Ice/ConnectionRequestHandler.h
+++ b/cpp/src/Ice/ConnectionRequestHandler.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/src/Ice/Connector.cpp b/cpp/src/Ice/Connector.cpp
index 0c4a1513bda..10aebb2714a 100644
--- a/cpp/src/Ice/Connector.cpp
+++ b/cpp/src/Ice/Connector.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/src/Ice/Connector.h b/cpp/src/Ice/Connector.h
index dfe1f52caea..d9e8886d65e 100644
--- a/cpp/src/Ice/Connector.h
+++ b/cpp/src/Ice/Connector.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/src/Ice/ConnectorF.h b/cpp/src/Ice/ConnectorF.h
index 071e66d9112..558b84461b3 100644
--- a/cpp/src/Ice/ConnectorF.h
+++ b/cpp/src/Ice/ConnectorF.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/src/Ice/DLLMain.cpp b/cpp/src/Ice/DLLMain.cpp
index 7c07fef0b9a..c96e8f45d9b 100644
--- a/cpp/src/Ice/DLLMain.cpp
+++ b/cpp/src/Ice/DLLMain.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/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp
index bafc4a68fae..b14686121da 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.cpp
+++ b/cpp/src/Ice/DefaultsAndOverrides.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/src/Ice/DefaultsAndOverrides.h b/cpp/src/Ice/DefaultsAndOverrides.h
index 71d31dd5371..1ee79794569 100644
--- a/cpp/src/Ice/DefaultsAndOverrides.h
+++ b/cpp/src/Ice/DefaultsAndOverrides.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/src/Ice/DefaultsAndOverridesF.h b/cpp/src/Ice/DefaultsAndOverridesF.h
index f19b6161553..5ea4ff38087 100644
--- a/cpp/src/Ice/DefaultsAndOverridesF.h
+++ b/cpp/src/Ice/DefaultsAndOverridesF.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/src/Ice/Direct.cpp b/cpp/src/Ice/Direct.cpp
index a0aac162a29..3d655a145e2 100644
--- a/cpp/src/Ice/Direct.cpp
+++ b/cpp/src/Ice/Direct.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/src/Ice/DispatchInterceptor.cpp b/cpp/src/Ice/DispatchInterceptor.cpp
index ec728a17a9e..c37727db003 100644
--- a/cpp/src/Ice/DispatchInterceptor.cpp
+++ b/cpp/src/Ice/DispatchInterceptor.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/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp
index 7fec60dc478..6f69880d177 100644
--- a/cpp/src/Ice/DynamicLibrary.cpp
+++ b/cpp/src/Ice/DynamicLibrary.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/src/Ice/EndpointFactory.cpp b/cpp/src/Ice/EndpointFactory.cpp
index 6360bdb543c..eb1e3b6f33a 100644
--- a/cpp/src/Ice/EndpointFactory.cpp
+++ b/cpp/src/Ice/EndpointFactory.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/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp
index 303fa8e0507..b32b3cdce90 100644
--- a/cpp/src/Ice/EndpointFactoryManager.cpp
+++ b/cpp/src/Ice/EndpointFactoryManager.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/src/Ice/EndpointFactoryManager.h b/cpp/src/Ice/EndpointFactoryManager.h
index 7516776b84e..7dc1359cd03 100644
--- a/cpp/src/Ice/EndpointFactoryManager.h
+++ b/cpp/src/Ice/EndpointFactoryManager.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/src/Ice/EndpointFactoryManagerF.h b/cpp/src/Ice/EndpointFactoryManagerF.h
index 96812010c6b..58290813d23 100644
--- a/cpp/src/Ice/EndpointFactoryManagerF.h
+++ b/cpp/src/Ice/EndpointFactoryManagerF.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/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp
index a9e3832de70..41387f6511b 100644
--- a/cpp/src/Ice/EndpointI.cpp
+++ b/cpp/src/Ice/EndpointI.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.
@@ -33,7 +33,9 @@ IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& insta
_instance(instance),
_destroyed(false)
{
+ __setNoDelete(true);
start();
+ __setNoDelete(false);
}
void
diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h
index b3a1e603394..4f9a16ccffe 100644
--- a/cpp/src/Ice/EndpointI.h
+++ b/cpp/src/Ice/EndpointI.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/src/Ice/EventHandler.cpp b/cpp/src/Ice/EventHandler.cpp
index b7cd7a34237..dd9412a9b7d 100644
--- a/cpp/src/Ice/EventHandler.cpp
+++ b/cpp/src/Ice/EventHandler.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/src/Ice/EventHandler.h b/cpp/src/Ice/EventHandler.h
index 487b57eafff..2c3686fd54f 100644
--- a/cpp/src/Ice/EventHandler.h
+++ b/cpp/src/Ice/EventHandler.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/src/Ice/EventHandlerF.h b/cpp/src/Ice/EventHandlerF.h
index 6e33fabb80a..f6ced6c7ab5 100644
--- a/cpp/src/Ice/EventHandlerF.h
+++ b/cpp/src/Ice/EventHandlerF.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/src/Ice/EventLoggerI.cpp b/cpp/src/Ice/EventLoggerI.cpp
index edb6ad4ce89..0967e18f818 100644
--- a/cpp/src/Ice/EventLoggerI.cpp
+++ b/cpp/src/Ice/EventLoggerI.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/src/Ice/EventLoggerI.h b/cpp/src/Ice/EventLoggerI.h
index 6e7d28524e8..aa5fff066c4 100644
--- a/cpp/src/Ice/EventLoggerI.h
+++ b/cpp/src/Ice/EventLoggerI.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/src/Ice/EventLoggerMsg.mc b/cpp/src/Ice/EventLoggerMsg.mc
index b8dd91c9d37..a31a19fcfff 100755
--- a/cpp/src/Ice/EventLoggerMsg.mc
+++ b/cpp/src/Ice/EventLoggerMsg.mc
@@ -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/src/Ice/Exception.cpp b/cpp/src/Ice/Exception.cpp
index 5f6cf353a78..4b584274039 100644
--- a/cpp/src/Ice/Exception.cpp
+++ b/cpp/src/Ice/Exception.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.
@@ -635,7 +635,7 @@ void
Ice::PluginInitializationException::ice_print(ostream& out) const
{
Exception::ice_print(out);
- out << ":\nplugin initialization failed";
+ out << ":\nplug-in initialization failed";
if(!reason.empty())
{
out << ": " << reason;
diff --git a/cpp/src/Ice/FactoryTable.cpp b/cpp/src/Ice/FactoryTable.cpp
index 75420dc4024..d3307afa8bd 100644
--- a/cpp/src/Ice/FactoryTable.cpp
+++ b/cpp/src/Ice/FactoryTable.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.
@@ -49,9 +49,8 @@ IceInternal::FactoryTable::FactoryTable()
}
//
-// Similarly, the destructor calls the finalize() method on the
-// factory table wrapper which, once the tables reference count drops
-// to zero, deletes the table.
+// The destructor decrements the reference count and, once the
+// count drops to zero, deletes the table.
//
IceInternal::FactoryTable::~FactoryTable()
{
diff --git a/cpp/src/Ice/FactoryTableDef.cpp b/cpp/src/Ice/FactoryTableDef.cpp
index fa2595a0870..68ead3b4541 100644
--- a/cpp/src/Ice/FactoryTableDef.cpp
+++ b/cpp/src/Ice/FactoryTableDef.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/src/Ice/GC.cpp b/cpp/src/Ice/GC.cpp
index d87ed745494..a36d9ecccac 100644
--- a/cpp/src/Ice/GC.cpp
+++ b/cpp/src/Ice/GC.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/src/Ice/GC.h b/cpp/src/Ice/GC.h
index c83b0fc541b..e1f57457327 100644
--- a/cpp/src/Ice/GC.h
+++ b/cpp/src/Ice/GC.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/src/Ice/Ice.rc b/cpp/src/Ice/Ice.rc
index d39cd0f35e2..f6f32f15b0f 100644
--- a/cpp/src/Ice/Ice.rc
+++ b/cpp/src/Ice/Ice.rc
@@ -2,8 +2,8 @@
#include "EventLoggerMsg.rc"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -24,12 +24,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Ice Core DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/Ice/ImplicitContextI.cpp b/cpp/src/Ice/ImplicitContextI.cpp
index a1a2d0c4d39..b717097ec60 100644
--- a/cpp/src/Ice/ImplicitContextI.cpp
+++ b/cpp/src/Ice/ImplicitContextI.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/src/Ice/ImplicitContextI.h b/cpp/src/Ice/ImplicitContextI.h
index b5810e4d0d1..0cb30487a22 100644
--- a/cpp/src/Ice/ImplicitContextI.h
+++ b/cpp/src/Ice/ImplicitContextI.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/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index b4a1dbe6800..17d49550847 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.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/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp
index 09fcf5112b9..edc9b64cf3b 100644
--- a/cpp/src/Ice/IncomingAsync.cpp
+++ b/cpp/src/Ice/IncomingAsync.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/src/Ice/IncomingRequest.h b/cpp/src/Ice/IncomingRequest.h
index 2e7517e4dc9..43475bd3a52 100644
--- a/cpp/src/Ice/IncomingRequest.h
+++ b/cpp/src/Ice/IncomingRequest.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/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp
index a612f498e9a..6478351385f 100644
--- a/cpp/src/Ice/Initialize.cpp
+++ b/cpp/src/Ice/Initialize.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/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index 8a1e5f45405..34133c7d42d 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.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.
@@ -29,6 +29,7 @@
#include <Ice/LoggerI.h>
#include <Ice/Network.h>
#include <Ice/EndpointFactoryManager.h>
+#include <Ice/RetryQueue.h>
#include <Ice/TcpEndpointI.h>
#include <Ice/UdpEndpointI.h>
#include <Ice/DynamicLibrary.h>
@@ -285,6 +286,19 @@ IceInternal::Instance::endpointHostResolver()
return _endpointHostResolver;
}
+RetryQueuePtr
+IceInternal::Instance::retryQueue()
+{
+ IceUtil::RecMutex::Lock sync(*this);
+
+ if(_state == StateDestroyed)
+ {
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
+ }
+
+ return _retryQueue;
+}
+
IceUtil::TimerPtr
IceInternal::Instance::timer()
{
@@ -743,7 +757,7 @@ void
IceInternal::Instance::setStringConverter(const Ice::StringConverterPtr& stringConverter)
{
//
- // No locking, as it can only be called during plugin loading
+ // No locking, as it can only be called during plug-in loading
//
_initData.stringConverter = stringConverter;
}
@@ -752,7 +766,7 @@ void
IceInternal::Instance::setWstringConverter(const Ice::WstringConverterPtr& wstringConverter)
{
//
- // No locking, as it can only be called during plugin loading
+ // No locking, as it can only be called during plug-in loading
//
_initData.wstringConverter = wstringConverter;
}
@@ -761,7 +775,7 @@ void
IceInternal::Instance::setLogger(const Ice::LoggerPtr& logger)
{
//
- // No locking, as it can only be called during plugin loading
+ // No locking, as it can only be called during plug-in loading
//
_initData.logger = logger;
}
@@ -952,7 +966,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
_routerManager = new RouterManager;
- _locatorManager = new LocatorManager;
+ _locatorManager = new LocatorManager(_initData.properties);
_referenceFactory = new ReferenceFactory(this, communicator);
@@ -991,6 +1005,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
_servantFactoryManager = new ObjectFactoryManager();
_objectAdapterFactory = new ObjectAdapterFactory(this, communicator);
+
+ _retryQueue = new RetryQueue(this);
if(_initData.wstringConverter == 0)
{
@@ -1039,6 +1055,7 @@ IceInternal::Instance::~Instance()
assert(!_serverThreadPool);
assert(!_selectorThread);
assert(!_endpointHostResolver);
+ assert(!_retryQueue);
assert(!_timer);
assert(!_routerManager);
assert(!_locatorManager);
@@ -1129,7 +1146,9 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[])
}
//
- // Start connection monitor if necessary.
+ // Start connection monitor if necessary. Set the check interval to
+ // 1/10 of the ACM timeout with a minmal value of 1 second and a
+ // maximum value of 5 minutes.
//
Int interval = 0;
if(_clientACM > 0 && _serverACM > 0)
@@ -1144,6 +1163,10 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[])
{
interval = _serverACM;
}
+ if(interval > 0)
+ {
+ interval = min(300, max(1, (int)interval / 10));
+ }
interval = _initData.properties->getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
if(interval > 0)
{
@@ -1200,6 +1223,11 @@ IceInternal::Instance::destroy()
_outgoingConnectionFactory->waitUntilFinished();
}
+ if(_retryQueue)
+ {
+ _retryQueue->destroy();
+ }
+
ThreadPoolPtr serverThreadPool;
ThreadPoolPtr clientThreadPool;
SelectorThreadPtr selectorThread;
@@ -1210,6 +1238,7 @@ IceInternal::Instance::destroy()
_objectAdapterFactory = 0;
_outgoingConnectionFactory = 0;
+ _retryQueue = 0;
if(_connectionMonitor)
{
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index f0aa50a80b8..48addd77d72 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.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.
@@ -30,6 +30,7 @@
#include <Ice/ObjectFactoryManagerF.h>
#include <Ice/ObjectAdapterFactoryF.h>
#include <Ice/EndpointFactoryManagerF.h>
+#include <Ice/RetryQueueF.h>
#include <Ice/DynamicLibraryF.h>
#include <Ice/PluginF.h>
#include <Ice/Initialize.h>
@@ -71,6 +72,7 @@ public:
ThreadPoolPtr serverThreadPool();
SelectorThreadPtr selectorThread();
EndpointHostResolverPtr endpointHostResolver();
+ RetryQueuePtr retryQueue();
IceUtil::TimerPtr timer();
EndpointFactoryManagerPtr endpointFactoryManager() const;
DynamicLibraryListPtr dynamicLibraryList() const;
@@ -134,6 +136,7 @@ private:
ThreadPoolPtr _serverThreadPool;
SelectorThreadPtr _selectorThread;
EndpointHostResolverPtr _endpointHostResolver;
+ RetryQueuePtr _retryQueue;
IceUtil::TimerPtr _timer;
EndpointFactoryManagerPtr _endpointFactoryManager;
DynamicLibraryListPtr _dynamicLibraryList;
diff --git a/cpp/src/Ice/LocalObject.cpp b/cpp/src/Ice/LocalObject.cpp
index ab342ee9538..16e57a35324 100644
--- a/cpp/src/Ice/LocalObject.cpp
+++ b/cpp/src/Ice/LocalObject.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/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index 027261900aa..a2cc09ff1af 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.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.
@@ -16,6 +16,7 @@
#include <Ice/EndpointI.h>
#include <Ice/Reference.h>
#include <Ice/Functional.h>
+#include <Ice/Properties.h>
#include <iterator>
using namespace std;
@@ -26,7 +27,91 @@ IceUtil::Shared* IceInternal::upCast(LocatorManager* p) { return p; }
IceUtil::Shared* IceInternal::upCast(LocatorInfo* p) { return p; }
IceUtil::Shared* IceInternal::upCast(LocatorTable* p) { return p; }
-IceInternal::LocatorManager::LocatorManager() :
+namespace
+{
+
+class ObjectRequest : public LocatorInfo::Request, public Ice::AMI_Locator_findObjectById
+{
+public:
+
+ ObjectRequest(const LocatorInfoPtr& locatorInfo, const ReferencePtr& ref) : Request(locatorInfo, ref)
+ {
+ assert(ref->isWellKnown());
+ }
+
+ virtual void ice_response(const Ice::ObjectPrx& proxy)
+ {
+ response(proxy);
+ }
+
+ virtual void ice_exception(const Ice::Exception& ex)
+ {
+ exception(ex);
+ }
+
+ virtual void send(bool async)
+ {
+ try
+ {
+ if(async)
+ {
+ _locatorInfo->getLocator()->findObjectById_async(this, _ref->getIdentity());
+ }
+ else
+ {
+ ice_response(_locatorInfo->getLocator()->findObjectById(_ref->getIdentity()));
+ }
+ }
+ catch(const Ice::Exception& ex)
+ {
+ ice_exception(ex);
+ }
+ }
+};
+
+class AdapterRequest : public LocatorInfo::Request, public Ice::AMI_Locator_findAdapterById
+{
+public:
+
+ AdapterRequest(const LocatorInfoPtr& locatorInfo, const ReferencePtr& ref) : Request(locatorInfo, ref)
+ {
+ assert(ref->isIndirect() && !ref->isWellKnown());
+ }
+
+ virtual void ice_response(const Ice::ObjectPrx& proxy)
+ {
+ response(proxy);
+ }
+
+ virtual void ice_exception(const Ice::Exception& ex)
+ {
+ exception(ex);
+ }
+
+ virtual void send(bool async)
+ {
+ try
+ {
+ if(async)
+ {
+ _locatorInfo->getLocator()->findAdapterById_async(this, _ref->getAdapterId());
+ }
+ else
+ {
+ ice_response(_locatorInfo->getLocator()->findAdapterById(_ref->getAdapterId()));
+ }
+ }
+ catch(const Ice::Exception& ex)
+ {
+ ice_exception(ex);
+ }
+ }
+};
+
+}
+
+IceInternal::LocatorManager::LocatorManager(const Ice::PropertiesPtr& properties) :
+ _background(properties->getPropertyAsInt("Ice.BackgroundLocatorCacheUpdates") > 0),
_tableHint(_table.end())
{
}
@@ -92,7 +177,8 @@ IceInternal::LocatorManager::get(const LocatorPrx& loc)
_tableHint = _table.insert(_tableHint,
pair<const LocatorPrx, LocatorInfoPtr>(locator,
- new LocatorInfo(locator, t->second)));
+ new LocatorInfo(locator, t->second,
+ _background)));
}
else
{
@@ -127,10 +213,10 @@ IceInternal::LocatorTable::getAdapterEndpoints(const string& adapter, int ttl, v
map<string, pair<IceUtil::Time, vector<EndpointIPtr> > >::iterator p = _adapterEndpointsMap.find(adapter);
- if(p != _adapterEndpointsMap.end() && checkTTL(p->second.first, ttl))
+ if(p != _adapterEndpointsMap.end())
{
endpoints = p->second.second;
- return true;
+ return checkTTL(p->second.first, ttl);
}
return false;
}
@@ -172,7 +258,7 @@ IceInternal::LocatorTable::removeAdapterEndpoints(const string& adapter)
}
bool
-IceInternal::LocatorTable::getProxy(const Identity& id, int ttl, ObjectPrx& proxy)
+IceInternal::LocatorTable::getObjectReference(const Identity& id, int ttl, ReferencePtr& ref)
{
if(ttl == 0) // No locator cache
{
@@ -181,47 +267,47 @@ IceInternal::LocatorTable::getProxy(const Identity& id, int ttl, ObjectPrx& prox
IceUtil::Mutex::Lock sync(*this);
- map<Identity, pair<IceUtil::Time, ObjectPrx> >::iterator p = _objectMap.find(id);
+ map<Identity, pair<IceUtil::Time, ReferencePtr> >::iterator p = _objectMap.find(id);
- if(p != _objectMap.end() && checkTTL(p->second.first, ttl))
+ if(p != _objectMap.end())
{
- proxy = p->second.second;
- return true;
+ ref = p->second.second;
+ return checkTTL(p->second.first, ttl);
}
return false;
}
void
-IceInternal::LocatorTable::addProxy(const Identity& id, const ObjectPrx& proxy)
+IceInternal::LocatorTable::addObjectReference(const Identity& id, const ReferencePtr& ref)
{
IceUtil::Mutex::Lock sync(*this);
- map<Identity, pair<IceUtil::Time, ObjectPrx> >::iterator p = _objectMap.find(id);
+ map<Identity, pair<IceUtil::Time, ReferencePtr> >::iterator p = _objectMap.find(id);
if(p != _objectMap.end())
{
- p->second = make_pair(IceUtil::Time::now(IceUtil::Time::Monotonic), proxy);
+ p->second = make_pair(IceUtil::Time::now(IceUtil::Time::Monotonic), ref);
}
else
{
- _objectMap.insert(make_pair(id, make_pair(IceUtil::Time::now(IceUtil::Time::Monotonic), proxy)));
+ _objectMap.insert(make_pair(id, make_pair(IceUtil::Time::now(IceUtil::Time::Monotonic), ref)));
}
}
-ObjectPrx
-IceInternal::LocatorTable::removeProxy(const Identity& id)
+ReferencePtr
+IceInternal::LocatorTable::removeObjectReference(const Identity& id)
{
IceUtil::Mutex::Lock sync(*this);
- map<Identity, pair<IceUtil::Time, ObjectPrx> >::iterator p = _objectMap.find(id);
+ map<Identity, pair<IceUtil::Time, ReferencePtr> >::iterator p = _objectMap.find(id);
if(p == _objectMap.end())
{
return 0;
}
- ObjectPrx proxy = p->second.second;
+ ReferencePtr ref = p->second.second;
_objectMap.erase(p);
- return proxy;
+ return ref;
}
bool
@@ -238,9 +324,197 @@ IceInternal::LocatorTable::checkTTL(const IceUtil::Time& time, int ttl) const
}
}
-IceInternal::LocatorInfo::LocatorInfo(const LocatorPrx& locator, const LocatorTablePtr& table) :
+void
+IceInternal::LocatorInfo::RequestCallback::response(const LocatorInfoPtr& locatorInfo, const Ice::ObjectPrx& proxy)
+{
+ vector<EndpointIPtr> endpoints;
+ if(proxy)
+ {
+ ReferencePtr r = proxy->__reference();
+ if(!r->isIndirect())
+ {
+ endpoints = r->getEndpoints();
+ }
+ else if(_ref->isWellKnown() && !r->isWellKnown())
+ {
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ locatorInfo->getEndpoints(r, _ref, _ttl, _callback);
+ return;
+ }
+ }
+
+ if(_ref->getInstance()->traceLevels()->location >= 1)
+ {
+ locatorInfo->getEndpointsTrace(_ref, endpoints, false);
+ }
+ if(_callback)
+ {
+ _callback->setEndpoints(endpoints, false);
+ }
+}
+
+void
+IceInternal::LocatorInfo::RequestCallback::exception(const LocatorInfoPtr& locatorInfo, const Ice::Exception& exc)
+{
+ try
+ {
+ locatorInfo->getEndpointsException(_ref, exc); // This throws.
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ if(_callback)
+ {
+ _callback->setException(ex);
+ }
+ }
+}
+
+IceInternal::LocatorInfo::RequestCallback::RequestCallback(const ReferencePtr& ref,
+ int ttl,
+ const GetEndpointsCallbackPtr& cb) :
+ _ref(ref), _ttl(ttl), _callback(cb)
+{
+}
+
+void
+IceInternal::LocatorInfo::Request::addCallback(const ReferencePtr& ref,
+ const ReferencePtr& wellKnownRef,
+ int ttl,
+ const GetEndpointsCallbackPtr& cb)
+{
+ IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
+
+ RequestCallbackPtr callback = new RequestCallback(ref, ttl, cb);
+ if(_response)
+ {
+ callback->response(_locatorInfo, _proxy);
+ }
+ else if(_exception.get())
+ {
+ callback->exception(_locatorInfo, *_exception.get());
+ }
+ else
+ {
+ _callbacks.push_back(callback);
+ if(wellKnownRef) // This request is to resolve the endpoints of a cached well-known object reference
+ {
+ _wellKnownRefs.push_back(wellKnownRef);
+ }
+ if(!_sent)
+ {
+ _sent = true;
+ sync.release();
+ send(true); // send() might call exception() from this thread so we need to release the mutex.
+ }
+ }
+}
+
+vector<EndpointIPtr>
+IceInternal::LocatorInfo::Request::getEndpoints(const ReferencePtr& ref,
+ const ReferencePtr& wellKnownRef,
+ int ttl,
+ bool& cached)
+{
+ IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
+ if(!_response || _exception.get())
+ {
+ if(wellKnownRef) // This request is to resolve the endpoints of a cached well-known object reference
+ {
+ _wellKnownRefs.push_back(wellKnownRef);
+ }
+ if(!_sent)
+ {
+ _sent = true;
+ sync.release();
+ send(true); // send() might call exception() from this thread so we need to release the mutex.
+ sync.acquire();
+ }
+
+ while(!_response && !_exception.get())
+ {
+ _monitor.wait();
+ }
+ }
+
+ if(_exception.get())
+ {
+ _locatorInfo->getEndpointsException(ref, *_exception.get()); // This throws.
+ }
+
+ assert(_response);
+ vector<EndpointIPtr> endpoints;
+ if(_proxy)
+ {
+ ReferencePtr r = _proxy->__reference();
+ if(!r->isIndirect())
+ {
+ endpoints = r->getEndpoints();
+ }
+ else if(ref->isWellKnown() && !r->isWellKnown())
+ {
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ return _locatorInfo->getEndpoints(r, ref, ttl, cached);
+ }
+ }
+
+ cached = false;
+ if(_ref->getInstance()->traceLevels()->location >= 1)
+ {
+ _locatorInfo->getEndpointsTrace(ref, endpoints, false);
+ }
+ return endpoints;
+}
+
+IceInternal::LocatorInfo::Request::Request(const LocatorInfoPtr& locatorInfo, const ReferencePtr& ref) :
+ _locatorInfo(locatorInfo), _ref(ref), _sent(false), _response(false)
+{
+}
+
+void
+IceInternal::LocatorInfo::Request::response(const Ice::ObjectPrx& proxy)
+{
+ IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
+ _locatorInfo->finishRequest(_ref, _wellKnownRefs, proxy, false);
+ _response = true;
+ _proxy = proxy;
+ for(vector<RequestCallbackPtr>::const_iterator p = _callbacks.begin(); p != _callbacks.end(); ++p)
+ {
+ (*p)->response(_locatorInfo, proxy);
+ }
+ _monitor.notifyAll();
+}
+
+void
+IceInternal::LocatorInfo::Request::exception(const Ice::Exception& ex)
+{
+ if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
+ {
+ send(false); // Use synchronous collocation optimized locator request instead.
+ return;
+ }
+
+ IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor);
+ _locatorInfo->finishRequest(_ref, _wellKnownRefs, 0, dynamic_cast<const Ice::UserException*>(&ex));
+ _exception.reset(ex.ice_clone());
+ for(vector<RequestCallbackPtr>::const_iterator p = _callbacks.begin(); p != _callbacks.end(); ++p)
+ {
+ (*p)->exception(_locatorInfo, ex);
+ }
+ _monitor.notifyAll();
+}
+
+IceInternal::LocatorInfo::LocatorInfo(const LocatorPrx& locator, const LocatorTablePtr& table, bool background) :
_locator(locator),
- _table(table)
+ _table(table),
+ _background(background)
{
assert(_locator);
assert(_table);
@@ -301,284 +575,116 @@ IceInternal::LocatorInfo::getLocatorRegistry()
}
vector<EndpointIPtr>
-IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, int ttl, bool& cached)
+IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, const ReferencePtr& wellKnownRef, int ttl, bool& cached)
{
assert(ref->isIndirect());
vector<EndpointIPtr> endpoints;
- ObjectPrx object;
- cached = true;
- try
+ if(!ref->isWellKnown())
{
- if(!ref->isWellKnown())
- {
- if(!_table->getAdapterEndpoints(ref->getAdapterId(), ttl, endpoints))
- {
- cached = false;
-
- if(ref->getInstance()->traceLevels()->location >= 1)
- {
- Trace out(ref->getInstance()->initializationData().logger,
- ref->getInstance()->traceLevels()->locationCat);
- out << "searching for adapter by id" << "\n";
- out << "adapter = " << ref->getAdapterId();
- }
-
- object = _locator->findAdapterById(ref->getAdapterId());
- if(object)
- {
- endpoints = object->__reference()->getEndpoints();
- _table->addAdapterEndpoints(ref->getAdapterId(), endpoints);
- }
- }
- }
- else
+ if(!_table->getAdapterEndpoints(ref->getAdapterId(), ttl, endpoints))
{
- bool objectCached = true;
- if(!_table->getProxy(ref->getIdentity(), ttl, object))
+ if(_background && !endpoints.empty())
{
- if(ref->getInstance()->traceLevels()->location >= 1)
- {
- Trace out(ref->getInstance()->initializationData().logger,
- ref->getInstance()->traceLevels()->locationCat);
- out << "searching for object by id" << "\n";
- out << "object = " << ref->getInstance()->identityToString(ref->getIdentity());
- }
-
- objectCached = false;
- object = _locator->findObjectById(ref->getIdentity());
+ getAdapterRequest(ref)->addCallback(ref, wellKnownRef, ttl, 0);
}
-
- bool endpointsCached = true;
- if(object)
- {
- ReferencePtr r = object->__reference();
- if(!r->isIndirect())
- {
- endpointsCached = false;
- endpoints = r->getEndpoints();
- }
- else if(!r->isWellKnown())
- {
- endpoints = getEndpoints(r, ttl, endpointsCached);
- }
- }
-
- if(!objectCached && !endpoints.empty())
+ else
{
- _table->addProxy(ref->getIdentity(), object);
+ return getAdapterRequest(ref)->getEndpoints(ref, wellKnownRef, ttl, cached);
}
-
- cached = objectCached || endpointsCached;
}
}
- catch(const Ice::Exception& ex)
- {
- getEndpointsException(ref, ex);
- }
-
- if(ref->getInstance()->traceLevels()->location >= 1)
- {
- getEndpointsTrace(ref, endpoints, cached);
- }
-
- return endpoints;
-}
-
-namespace IceInternal
-{
-
-class findAdapterByIdCallback : public AMI_Locator_findAdapterById
-{
-public:
-
- virtual void
- ice_response(const Ice::ObjectPrx& object)
+ else
{
- vector<EndpointIPtr> endpoints;
- if(object)
+ ReferencePtr r;
+ if(!_table->getObjectReference(ref->getIdentity(), ttl, r))
{
- endpoints = object->__reference()->getEndpoints();
- if(!endpoints.empty())
+ if(_background && r)
{
- _table->addAdapterEndpoints(_reference->getAdapterId(), endpoints);
+ getObjectRequest(ref)->addCallback(ref, 0, ttl, 0);
+ }
+ else
+ {
+ return getObjectRequest(ref)->getEndpoints(ref, 0, ttl, cached);
}
}
- if(_reference->getInstance()->traceLevels()->location >= 1)
- {
- _locatorInfo->getEndpointsTrace(_reference, endpoints, false);
- }
-
- _callback->setEndpoints(endpoints, false);
- }
-
- virtual void
- ice_exception(const Ice::Exception& ex)
- {
- if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
+ if(!r->isIndirect())
{
- try
- {
- bool cached;
- vector<EndpointIPtr> endpoints = _locatorInfo->getEndpoints(_reference, _ttl, cached);
- _callback->setEndpoints(endpoints, cached);
- }
- catch(const Ice::LocalException& e)
- {
- _callback->setException(e);
- }
+ endpoints = r->getEndpoints();
}
- else
+ else if(!r->isWellKnown())
{
- _locatorInfo->getEndpointsException(_reference, ex, _callback);
+ return getEndpoints(r, ref, ttl, cached);
}
}
- findAdapterByIdCallback(const LocatorInfoPtr& locatorInfo, const LocatorTablePtr& table,
- const ReferencePtr& reference, int ttl, const LocatorInfo::GetEndpointsCallbackPtr& callback) :
- _locatorInfo(locatorInfo), _table(table), _reference(reference), _ttl(ttl), _callback(callback)
+ assert(!endpoints.empty());
+ cached = true;
+ if(ref->getInstance()->traceLevels()->location >= 1)
{
+ getEndpointsTrace(ref, endpoints, true);
}
-
-private:
-
- const LocatorInfoPtr _locatorInfo;
- const LocatorTablePtr _table;
- const ReferencePtr _reference;
- const int _ttl;
- const LocatorInfo::GetEndpointsCallbackPtr _callback;
-};
-
-};
+ return endpoints;
+}
void
-IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, int ttl, const GetEndpointsCallbackPtr& callback)
+IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref,
+ const ReferencePtr& wellKnownRef,
+ int ttl,
+ const GetEndpointsCallbackPtr& callback)
{
assert(ref->isIndirect());
-
- string adapterId = ref->getAdapterId();
- Ice::Identity identity = ref->getIdentity();
- InstancePtr instance = ref->getInstance();
- if(!adapterId.empty())
+ vector<EndpointIPtr> endpoints;
+ if(!ref->isWellKnown())
{
- vector<EndpointIPtr> endpoints;
- if(!_table->getAdapterEndpoints(adapterId, ttl, endpoints))
+ if(!_table->getAdapterEndpoints(ref->getAdapterId(), ttl, endpoints))
{
- if(instance->traceLevels()->location >= 1)
+ if(_background && !endpoints.empty())
{
- Trace out(instance->initializationData().logger, instance->traceLevels()->locationCat);
- out << "searching for adapter by id" << "\nadapter = " << adapterId;
+ getAdapterRequest(ref)->addCallback(ref, wellKnownRef, ttl, 0);
}
-
- //
- // Search the adapter in the location service if we didn't
- // find it in the cache.
- //
- _locator->findAdapterById_async(
- new IceInternal::findAdapterByIdCallback(this, _table, ref, ttl, callback), adapterId);
- return;
- }
- else
- {
- if(instance->traceLevels()->location >= 1)
+ else
{
- getEndpointsTrace(ref, endpoints, true);
+ getAdapterRequest(ref)->addCallback(ref, wellKnownRef, ttl, callback);
+ return;
}
- callback->setEndpoints(endpoints, true);
- return;
}
}
else
{
- Ice::ObjectPrx object;
- if(!_table->getProxy(identity, ttl, object))
+ ReferencePtr r;
+ if(!_table->getObjectReference(ref->getIdentity(), ttl, r))
{
- if(instance->traceLevels()->location >= 1)
+ if(_background && r)
{
- Trace out(instance->initializationData().logger, instance->traceLevels()->locationCat);
- out << "searching for object by id" << "\nobject = " << instance->identityToString(ref->getIdentity());
+ getObjectRequest(ref)->addCallback(ref, 0, ttl, 0);
}
-
- class Callback : public Ice::AMI_Locator_findObjectById
+ else
{
- public:
-
- virtual void
- ice_response(const Ice::ObjectPrx& object)
- {
- _locatorInfo->getWellKnownObjectEndpoints(_reference, object, _ttl, false, _callback);
- }
-
- virtual void
- ice_exception(const Ice::Exception& ex)
- {
- if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
- {
- try
- {
- bool cached;
- vector<EndpointIPtr> endpoints = _locatorInfo->getEndpoints(_reference, _ttl, cached);
- _callback->setEndpoints(endpoints, cached);
- }
- catch(const Ice::LocalException& e)
- {
- _callback->setException(e);
- }
- }
- else
- {
- _locatorInfo->getEndpointsException(_reference, ex, _callback);
- }
- }
-
- Callback(const LocatorInfoPtr& locatorInfo, const ReferencePtr& reference, int ttl,
- const GetEndpointsCallbackPtr& callback) :
- _locatorInfo(locatorInfo), _reference(reference), _ttl(ttl), _callback(callback)
- {
- }
-
- private:
-
- const LocatorInfoPtr _locatorInfo;
- const ReferencePtr _reference;
- int _ttl;
- const GetEndpointsCallbackPtr _callback;
- };
+ getObjectRequest(ref)->addCallback(ref, 0, ttl, callback);
+ return;
+ }
+ }
- _locator->findObjectById_async(new Callback(this, ref, ttl, callback), identity);
- return;
+ if(!r->isIndirect())
+ {
+ endpoints = r->getEndpoints();
}
- else
+ else if(!r->isWellKnown())
{
- getWellKnownObjectEndpoints(ref, object, ttl, true, callback);
+ getEndpoints(r, ref, ttl, callback);
return;
}
}
-}
-void
-IceInternal::LocatorInfo::clearObjectCache(const ReferencePtr& ref)
-{
- assert(ref->isIndirect());
-
- if(ref->isWellKnown())
+ assert(!endpoints.empty());
+ if(ref->getInstance()->traceLevels()->location >= 1)
{
- ObjectPrx object = _table->removeProxy(ref->getIdentity());
- if(object)
- {
- ReferencePtr r = object->__reference();
- if(!r->isIndirect())
- {
- if(ref->getInstance()->traceLevels()->location >= 2)
- {
- trace("removed endpoints from locator table", ref, r->getEndpoints());
- }
- }
- else if(!r->isWellKnown())
- {
- clearCache(r);
- }
- }
+ getEndpointsTrace(ref, endpoints, true);
+ }
+ if(callback)
+ {
+ callback->setEndpoints(endpoints, true);
}
}
@@ -598,10 +704,9 @@ IceInternal::LocatorInfo::clearCache(const ReferencePtr& ref)
}
else
{
- ObjectPrx object = _table->removeProxy(ref->getIdentity());
- if(object)
+ ReferencePtr r = _table->removeObjectReference(ref->getIdentity());
+ if(r)
{
- ReferencePtr r = object->__reference();
if(!r->isIndirect())
{
if(ref->getInstance()->traceLevels()->location >= 2)
@@ -617,29 +722,6 @@ IceInternal::LocatorInfo::clearCache(const ReferencePtr& ref)
}
}
-void
-IceInternal::LocatorInfo::trace(const string& msg, const ReferencePtr& ref, const vector<EndpointIPtr>& endpoints)
-{
- assert(ref->isIndirect());
-
- Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
- out << msg << '\n';
- if(!ref->isWellKnown())
- {
- out << "adapter = " << ref->getAdapterId() << '\n';
- }
- else
- {
- out << "object = " << ref->getInstance()->identityToString(ref->getIdentity()) << '\n';
- }
-
- const char* sep = endpoints.size() > 1 ? ":" : "";
- ostringstream o;
- transform(endpoints.begin(), endpoints.end(), ostream_iterator<string>(o, sep),
- Ice::constMemFun(&Endpoint::toString));
- out << "endpoints = " << o.str();
-}
-
void
IceInternal::LocatorInfo::getEndpointsException(const ReferencePtr& ref, const Ice::Exception& exc)
{
@@ -704,127 +786,149 @@ IceInternal::LocatorInfo::getEndpointsException(const ReferencePtr& ref, const I
}
}
-void
-IceInternal::LocatorInfo::getEndpointsException(const ReferencePtr& ref, const Ice::Exception& exc,
- const GetEndpointsCallbackPtr& callback)
+void
+IceInternal::LocatorInfo::getEndpointsTrace(const ReferencePtr& ref,
+ const vector<EndpointIPtr>& endpoints,
+ bool cached)
{
- try
+ if(!endpoints.empty())
{
- getEndpointsException(ref, exc);
+ if(cached)
+ {
+ trace("found endpoints in locator table", ref, endpoints);
+ }
+ else
+ {
+ trace("retrieved endpoints from locator, adding to locator table", ref, endpoints);
+ }
}
- catch(const Ice::LocalException& ex)
+ else
{
- callback->setException(ex);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
+ out << "no endpoints configured for ";
+ if(ref->getAdapterId().empty())
+ {
+ out << "object\n";
+ out << "object = " << ref->getInstance()->identityToString(ref->getIdentity());
+ }
+ else
+ {
+ out << "adapter\n";
+ out << "adapter = " << ref->getAdapterId();
+ }
}
}
void
-IceInternal::LocatorInfo::getWellKnownObjectEndpoints(const ReferencePtr& ref,
- const Ice::ObjectPrx& object,
- int ttl,
- bool objectCached,
- const GetEndpointsCallbackPtr& callback)
+IceInternal::LocatorInfo::trace(const string& msg, const ReferencePtr& ref, const vector<EndpointIPtr>& endpoints)
{
- class Callback : public GetEndpointsCallback
- {
- public:
+ assert(ref->isIndirect());
- virtual void
- setEndpoints(const vector<EndpointIPtr>& endpoints, bool endpointsCached)
- {
- if(!_objectCached && !endpoints.empty())
- {
- _table->addProxy(_reference->getIdentity(), _object);
- }
-
- if(_reference->getInstance()->traceLevels()->location >= 1)
- {
- _locatorInfo->getEndpointsTrace(_reference, endpoints, _objectCached || endpointsCached);
- }
-
- _callback->setEndpoints(endpoints, _objectCached || endpointsCached);
- }
-
- virtual void
- setException(const Ice::LocalException& ex)
- {
- _callback->setException(ex);
- }
-
- Callback(const LocatorInfoPtr& locatorInfo, const LocatorTablePtr& table,
- const ReferencePtr& reference, const Ice::ObjectPrx& object,
- bool objectCached, const GetEndpointsCallbackPtr& callback) :
- _locatorInfo(locatorInfo), _table(table), _reference(reference), _object(object),
- _objectCached(objectCached), _callback(callback)
- {
- }
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
+ out << msg << '\n';
+ if(!ref->isWellKnown())
+ {
+ out << "adapter = " << ref->getAdapterId() << '\n';
+ }
+ else
+ {
+ out << "object = " << ref->getInstance()->identityToString(ref->getIdentity()) << '\n';
+ }
- private:
-
- const LocatorInfoPtr _locatorInfo;
- const LocatorTablePtr _table;
- const ReferencePtr _reference;
- const Ice::ObjectPrx _object;
- const bool _objectCached;
- const GetEndpointsCallbackPtr _callback;
- };
+ const char* sep = endpoints.size() > 1 ? ":" : "";
+ ostringstream o;
+ transform(endpoints.begin(), endpoints.end(), ostream_iterator<string>(o, sep),
+ Ice::constMemFun(&Endpoint::toString));
+ out << "endpoints = " << o.str();
+}
- vector<EndpointIPtr> endpoints;
- if(object)
+IceInternal::LocatorInfo::RequestPtr
+IceInternal::LocatorInfo::getAdapterRequest(const ReferencePtr& ref)
+{
+ IceUtil::Mutex::Lock sync(*this);
+ if(ref->getInstance()->traceLevels()->location >= 1)
{
- ReferencePtr r = object->__reference();
- if(!r->isIndirect())
- {
- endpoints = r->getEndpoints();
- }
- else if(!r->isWellKnown())
- {
- getEndpoints(r, ttl, new Callback(this, _table, ref, object, objectCached, callback));
- return;
- }
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
+ out << "searching for adapter by id\nadapter = " << ref->getAdapterId();
}
- if(!objectCached && !endpoints.empty())
+ map<string, RequestPtr>::const_iterator p = _adapterRequests.find(ref->getAdapterId());
+ if(p != _adapterRequests.end())
{
- _table->addProxy(ref->getIdentity(), object);
+ return p->second;
}
-
+
+ RequestPtr request = new AdapterRequest(this, ref);
+ _adapterRequests.insert(make_pair(ref->getAdapterId(), request));
+ return request;
+}
+
+IceInternal::LocatorInfo::RequestPtr
+IceInternal::LocatorInfo::getObjectRequest(const ReferencePtr& ref)
+{
+ IceUtil::Mutex::Lock sync(*this);
if(ref->getInstance()->traceLevels()->location >= 1)
{
- getEndpointsTrace(ref, endpoints, objectCached);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
+ out << "searching for object by id\nobject = " << ref->getInstance()->identityToString(ref->getIdentity());
}
-
- callback->setEndpoints(endpoints, objectCached);
+
+ map<Ice::Identity, RequestPtr>::const_iterator p = _objectRequests.find(ref->getIdentity());
+ if(p != _objectRequests.end())
+ {
+ return p->second;
+ }
+ RequestPtr request = new ObjectRequest(this, ref);
+ _objectRequests.insert(make_pair(ref->getIdentity(), request));
+ return request;
}
void
-IceInternal::LocatorInfo::getEndpointsTrace(const ReferencePtr& ref, const vector<EndpointIPtr>& endpoints,
- bool cached)
+IceInternal::LocatorInfo::finishRequest(const ReferencePtr& ref,
+ const vector<ReferencePtr>& wellKnownRefs,
+ const Ice::ObjectPrx& proxy,
+ bool notRegistered)
{
- if(!endpoints.empty())
+ if(!proxy || proxy->__reference()->isIndirect())
{
- if(cached)
+ //
+ // Remove the cached references of well-known objects for which we tried
+ // to resolved the endpoints if these endpoints are empty.
+ //
+ for(vector<ReferencePtr>::const_iterator q = wellKnownRefs.begin(); q != wellKnownRefs.end(); ++q)
{
- trace("found endpoints in locator table", ref, endpoints);
+ _table->removeObjectReference((*q)->getIdentity());
}
- else
+ }
+
+ if(!ref->isWellKnown())
+ {
+ if(proxy && !proxy->__reference()->isIndirect()) // Cache the adapter endpoints.
{
- trace("retrieved endpoints from locator, adding to locator table", ref, endpoints);
+ _table->addAdapterEndpoints(ref->getAdapterId(), proxy->__reference()->getEndpoints());
}
+ else if(notRegistered) // If the adapter isn't registered anymore, remove it from the cache.
+ {
+ _table->removeAdapterEndpoints(ref->getAdapterId());
+ }
+
+ IceUtil::Mutex::Lock sync(*this);
+ assert(_adapterRequests.find(ref->getAdapterId()) != _adapterRequests.end());
+ _adapterRequests.erase(ref->getAdapterId());
}
else
{
- Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
- out << "no endpoints configured for ";
- if(ref->getAdapterId().empty())
+ if(proxy && !proxy->__reference()->isWellKnown()) // Cache the well-known object reference.
{
- out << "object\n";
- out << "object = " << ref->getInstance()->identityToString(ref->getIdentity());
+ _table->addObjectReference(ref->getIdentity(), proxy->__reference());
}
- else
+ else if(notRegistered) // If the well-known object isn't registered anymore, remove it from the cache.
{
- out << "adapter\n";
- out << "adapter = " << ref->getAdapterId();
+ _table->removeObjectReference(ref->getIdentity());
}
+
+ IceUtil::Mutex::Lock sync(*this);
+ assert(_objectRequests.find(ref->getIdentity()) != _objectRequests.end());
+ _objectRequests.erase(ref->getIdentity());
}
}
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h
index 068ffc0b96f..92b3d68dd2a 100644
--- a/cpp/src/Ice/LocatorInfo.h
+++ b/cpp/src/Ice/LocatorInfo.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.
@@ -12,11 +12,13 @@
#include <IceUtil/Shared.h>
#include <IceUtil/Mutex.h>
+#include <IceUtil/Monitor.h>
#include <IceUtil/Time.h>
#include <Ice/LocatorInfoF.h>
#include <Ice/LocatorF.h>
#include <Ice/ProxyF.h>
#include <Ice/EndpointIF.h>
+#include <Ice/PropertiesF.h>
namespace IceInternal
{
@@ -25,7 +27,7 @@ class LocatorManager : public IceUtil::Shared, public IceUtil::Mutex
{
public:
- LocatorManager();
+ LocatorManager(const Ice::PropertiesPtr&);
void destroy();
@@ -37,6 +39,8 @@ public:
private:
+ const bool _background;
+
std::map<Ice::LocatorPrx, LocatorInfoPtr> _table;
std::map<Ice::LocatorPrx, LocatorInfoPtr>::iterator _tableHint;
@@ -55,16 +59,16 @@ public:
void addAdapterEndpoints(const std::string&, const ::std::vector<EndpointIPtr>&);
::std::vector<EndpointIPtr> removeAdapterEndpoints(const std::string&);
- bool getProxy(const Ice::Identity&, int, Ice::ObjectPrx&);
- void addProxy(const Ice::Identity&, const Ice::ObjectPrx&);
- Ice::ObjectPrx removeProxy(const Ice::Identity&);
+ bool getObjectReference(const Ice::Identity&, int, ReferencePtr&);
+ void addObjectReference(const Ice::Identity&, const ReferencePtr&);
+ ReferencePtr removeObjectReference(const Ice::Identity&);
private:
bool checkTTL(const IceUtil::Time&, int) const;
std::map<std::string, std::pair<IceUtil::Time, std::vector<EndpointIPtr> > > _adapterEndpointsMap;
- std::map<Ice::Identity, std::pair<IceUtil::Time, Ice::ObjectPrx> > _objectMap;
+ std::map<Ice::Identity, std::pair<IceUtil::Time, ReferencePtr> > _objectMap;
};
class LocatorInfo : public IceUtil::Shared, public IceUtil::Mutex
@@ -80,7 +84,55 @@ public:
};
typedef IceUtil::Handle<GetEndpointsCallback> GetEndpointsCallbackPtr;
- LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&);
+ class RequestCallback : virtual public IceUtil::Shared
+ {
+ public:
+
+ RequestCallback(const ReferencePtr&, int, const GetEndpointsCallbackPtr&);
+
+ void response(const LocatorInfoPtr&, const Ice::ObjectPrx&);
+ void exception(const LocatorInfoPtr&, const Ice::Exception&);
+
+ private:
+
+ const ReferencePtr _ref;
+ const int _ttl;
+ const GetEndpointsCallbackPtr _callback;
+ };
+ typedef IceUtil::Handle<RequestCallback> RequestCallbackPtr;
+
+ class Request : virtual public IceUtil::Shared
+ {
+ public:
+
+ void addCallback(const ReferencePtr&, const ReferencePtr&, int, const GetEndpointsCallbackPtr&);
+ std::vector<EndpointIPtr> getEndpoints(const ReferencePtr&, const ReferencePtr&, int, bool&);
+
+ protected:
+
+ Request(const LocatorInfoPtr&, const ReferencePtr&);
+
+ void response(const Ice::ObjectPrx&);
+ void exception(const Ice::Exception&);
+
+ virtual void send(bool) = 0;
+
+ const LocatorInfoPtr _locatorInfo;
+ const ReferencePtr _ref;
+
+ private:
+
+ IceUtil::Monitor<IceUtil::Mutex> _monitor;
+ std::vector<RequestCallbackPtr> _callbacks;
+ std::vector<ReferencePtr> _wellKnownRefs;
+ bool _sent;
+ bool _response;
+ Ice::ObjectPrx _proxy;
+ std::auto_ptr<Ice::Exception> _exception;
+ };
+ typedef IceUtil::Handle<Request> RequestPtr;
+
+ LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&, bool);
void destroy();
@@ -91,27 +143,39 @@ public:
Ice::LocatorPrx getLocator() const;
Ice::LocatorRegistryPrx getLocatorRegistry();
- std::vector<EndpointIPtr> getEndpoints(const ReferencePtr&, int, bool&);
- void getEndpoints(const ReferencePtr&, int, const GetEndpointsCallbackPtr&);
+ std::vector<EndpointIPtr> getEndpoints(const ReferencePtr& ref, int ttl, bool& cached)
+ {
+ return getEndpoints(ref, 0, ttl, cached);
+ }
+ void getEndpoints(const ReferencePtr& ref, int ttl, const GetEndpointsCallbackPtr& cb)
+ {
+ getEndpoints(ref, 0, ttl, cb);
+ }
+ std::vector<EndpointIPtr> getEndpoints(const ReferencePtr&, const ReferencePtr&, int, bool&);
+ void getEndpoints(const ReferencePtr&, const ReferencePtr&, int, const GetEndpointsCallbackPtr&);
+
void clearCache(const ReferencePtr&);
- void clearObjectCache(const ReferencePtr&);
- //
- // The following methods need to be public for access by AMI callbacks.
- //
+private:
+
void getEndpointsException(const ReferencePtr&, const Ice::Exception&);
- void getWellKnownObjectEndpoints(const ReferencePtr&, const Ice::ObjectPrx&, int, bool,
- const GetEndpointsCallbackPtr&);
- void getEndpointsException(const ReferencePtr&, const Ice::Exception&, const GetEndpointsCallbackPtr&);
void getEndpointsTrace(const ReferencePtr&, const std::vector<EndpointIPtr>&, bool);
+ void trace(const std::string&, const ReferencePtr&, const std::vector<EndpointIPtr>&);
-private:
+ RequestPtr getAdapterRequest(const ReferencePtr&);
+ RequestPtr getObjectRequest(const ReferencePtr&);
- void trace(const std::string&, const ReferencePtr&, const std::vector<EndpointIPtr>&);
+ void finishRequest(const ReferencePtr&, const std::vector<ReferencePtr>&, const Ice::ObjectPrx&, bool);
+ friend class Request;
+ friend class RequestCallback;
const Ice::LocatorPrx _locator;
Ice::LocatorRegistryPrx _locatorRegistry;
const LocatorTablePtr _table;
+ const bool _background;
+
+ std::map<std::string, RequestPtr> _adapterRequests;
+ std::map<Ice::Identity, RequestPtr> _objectRequests;
};
}
diff --git a/cpp/src/Ice/LocatorInfoF.h b/cpp/src/Ice/LocatorInfoF.h
index 0b6c5fd2a3d..a6707016884 100644
--- a/cpp/src/Ice/LocatorInfoF.h
+++ b/cpp/src/Ice/LocatorInfoF.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/src/Ice/LoggerI.cpp b/cpp/src/Ice/LoggerI.cpp
index b42fbb0f7d4..a388cdaab0e 100644
--- a/cpp/src/Ice/LoggerI.cpp
+++ b/cpp/src/Ice/LoggerI.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/src/Ice/LoggerI.h b/cpp/src/Ice/LoggerI.h
index 29655f9f358..14c8d4f4612 100644
--- a/cpp/src/Ice/LoggerI.h
+++ b/cpp/src/Ice/LoggerI.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/src/Ice/LoggerUtil.cpp b/cpp/src/Ice/LoggerUtil.cpp
index d6a534401e5..ade72124d97 100644
--- a/cpp/src/Ice/LoggerUtil.cpp
+++ b/cpp/src/Ice/LoggerUtil.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/src/Ice/Makefile b/cpp/src/Ice/Makefile
index f236dd482fc..d02f43f8106 100644
--- a/cpp/src/Ice/Makefile
+++ b/cpp/src/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.
@@ -80,6 +80,7 @@ OBJS = Acceptor.o \
Proxy.o \
ReferenceFactory.o \
Reference.o \
+ RetryQueue.o \
RequestHandler.o \
RouterInfo.o \
Router.o \
diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak
index 3424f3e2439..ee329ce9f7a 100644
--- a/cpp/src/Ice/Makefile.mak
+++ b/cpp/src/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.
@@ -81,6 +81,7 @@ OBJS = Acceptor.obj \
Proxy.obj \
ReferenceFactory.obj \
Reference.obj \
+ RetryQueue.obj \
RequestHandler.obj \
RouterInfo.obj \
Router.obj \
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 3bbe962b268..45b319ce246 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.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.
@@ -1242,7 +1242,7 @@ IceInternal::doFinishConnect(SOCKET fd)
struct sockaddr_storage localAddr;
fdToLocalAddress(fd, localAddr);
struct sockaddr_storage remoteAddr;
- if(fdToRemoteAddress(fd, remoteAddr) && compareAddress(remoteAddr, localAddr) == 0)
+ if(!fdToRemoteAddress(fd, remoteAddr) && compareAddress(remoteAddr, localAddr) == 0)
{
ConnectionRefusedException ex(__FILE__, __LINE__);
ex.error = 0; // No appropriate errno
diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h
index 8016c05b741..f3bb3efb2ce 100644
--- a/cpp/src/Ice/Network.h
+++ b/cpp/src/Ice/Network.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/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp
index 6f79959b441..5ab01491aad 100644
--- a/cpp/src/Ice/Object.cpp
+++ b/cpp/src/Ice/Object.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/src/Ice/ObjectAdapterFactory.cpp b/cpp/src/Ice/ObjectAdapterFactory.cpp
index 08707192572..eaa58bac680 100644
--- a/cpp/src/Ice/ObjectAdapterFactory.cpp
+++ b/cpp/src/Ice/ObjectAdapterFactory.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/src/Ice/ObjectAdapterFactory.h b/cpp/src/Ice/ObjectAdapterFactory.h
index fbcfffc9157..180ed65f204 100644
--- a/cpp/src/Ice/ObjectAdapterFactory.h
+++ b/cpp/src/Ice/ObjectAdapterFactory.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/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index 033e80d762d..897ef753181 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.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/src/Ice/ObjectAdapterI.h b/cpp/src/Ice/ObjectAdapterI.h
index 9f1caba826a..58b2830e13f 100644
--- a/cpp/src/Ice/ObjectAdapterI.h
+++ b/cpp/src/Ice/ObjectAdapterI.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/src/Ice/ObjectFactoryManager.cpp b/cpp/src/Ice/ObjectFactoryManager.cpp
index 512ad697c25..6845a4bdbc6 100644
--- a/cpp/src/Ice/ObjectFactoryManager.cpp
+++ b/cpp/src/Ice/ObjectFactoryManager.cpp
@@ -1,7 +1,7 @@
// **********************************************************************
//
-// 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/src/Ice/ObjectFactoryManager.h b/cpp/src/Ice/ObjectFactoryManager.h
index 88b14cacab0..293eee8140d 100644
--- a/cpp/src/Ice/ObjectFactoryManager.h
+++ b/cpp/src/Ice/ObjectFactoryManager.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/src/Ice/ObjectFactoryManagerF.h b/cpp/src/Ice/ObjectFactoryManagerF.h
index 188a74c1c0f..b296c5602a5 100644
--- a/cpp/src/Ice/ObjectFactoryManagerF.h
+++ b/cpp/src/Ice/ObjectFactoryManagerF.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/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index bac66e87a06..893b105cd3f 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.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/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index 14da19924e7..db421bbffec 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.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.
@@ -24,6 +24,7 @@
#include <Ice/ReplyStatus.h>
#include <Ice/ImplicitContextI.h>
#include <Ice/ThreadPool.h>
+#include <Ice/RetryQueue.h>
using namespace std;
using namespace Ice;
@@ -174,7 +175,7 @@ IceInternal::OutgoingAsyncMessageCallback::__warning(const std::exception& exc)
{
if(__os) // Don't print anything if release() was already called.
{
- __warning(__os->instance());
+ __warning(__os->instance(), exc);
}
}
@@ -187,7 +188,7 @@ IceInternal::OutgoingAsyncMessageCallback::__warning(const InstancePtr& instance
const Exception* ex = dynamic_cast<const Exception*>(&exc);
if(ex)
{
- out << "Ice::Exception raised by AMI callback:\n" << ex;
+ out << "Ice::Exception raised by AMI callback:\n" << *ex;
}
else
{
@@ -434,7 +435,7 @@ IceInternal::OutgoingAsync::__finished(const Ice::LocalException& exc)
}
void
-IceInternal::OutgoingAsync::__finished(const LocalExceptionWrapper& ex)
+IceInternal::OutgoingAsync::__finished(const LocalExceptionWrapper& exc)
{
assert(__os && !_sent);
@@ -446,7 +447,7 @@ IceInternal::OutgoingAsync::__finished(const LocalExceptionWrapper& ex)
try
{
- handleException(ex); // This will throw if the invocation can't be retried.
+ handleException(exc); // This will throw if the invocation can't be retried.
}
catch(const Ice::LocalException& ex)
{
@@ -454,6 +455,24 @@ IceInternal::OutgoingAsync::__finished(const LocalExceptionWrapper& ex)
}
}
+void
+IceInternal::OutgoingAsync::__retry(int interval)
+{
+ //
+ // This method is called by the proxy to retry an invocation, no
+ // other threads can access this object.
+ //
+ if(interval > 0)
+ {
+ assert(__os);
+ __os->instance()->retryQueue()->add(this, interval);
+ }
+ else
+ {
+ __send();
+ }
+}
+
bool
IceInternal::OutgoingAsync::__send()
{
@@ -466,11 +485,11 @@ IceInternal::OutgoingAsync::__send()
}
catch(const LocalExceptionWrapper& ex)
{
- handleException(ex);
+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously
}
catch(const Ice::LocalException& ex)
{
- handleException(ex);
+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously
}
return _sentSynchronously;
}
@@ -483,6 +502,7 @@ IceInternal::OutgoingAsync::__prepare(const ObjectPrx& prx, const string& operat
_delegate = 0;
_cnt = 0;
_mode = mode;
+ _sentSynchronously = false;
//
// Can't call async via a batch proxy.
diff --git a/cpp/src/Ice/PluginManagerI.cpp b/cpp/src/Ice/PluginManagerI.cpp
index 36812c69ac5..0b114402ac8 100644
--- a/cpp/src/Ice/PluginManagerI.cpp
+++ b/cpp/src/Ice/PluginManagerI.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.
@@ -29,12 +29,12 @@ Ice::PluginManagerI::initializePlugins()
if(_initialized)
{
InitializationException ex(__FILE__, __LINE__);
- ex.reason = "plugins already initialized";
+ ex.reason = "plug-ins already initialized";
throw ex;
}
//
- // Invoke initialize() on the plugins, in the order they were loaded.
+ // Invoke initialize() on the plug-ins, in the order they were loaded.
//
vector<PluginPtr> initializedPlugins;
try
@@ -48,7 +48,7 @@ Ice::PluginManagerI::initializePlugins()
catch(...)
{
//
- // Destroy the plugins that have been successfully initialized, in the
+ // Destroy the plug-ins that have been successfully initialized, in the
// reverse order.
//
for(vector<PluginPtr>::reverse_iterator p = initializedPlugins.rbegin(); p != initializedPlugins.rend(); ++p)
@@ -118,11 +118,40 @@ Ice::PluginManagerI::destroy()
if(_communicator)
{
- map<string, PluginPtr>::iterator r;
- for(r = _plugins.begin(); r != _plugins.end(); ++r)
+ if(_initialized)
{
- r->second->destroy();
- r->second = 0;
+ map<string, PluginPtr>::iterator r;
+ for(r = _plugins.begin(); r != _plugins.end(); ++r)
+ {
+ try
+ {
+ r->second->destroy();
+ r->second = 0;
+ }
+ catch(const std::exception& ex)
+ {
+ Warning out(getProcessLogger());
+ out << "unexpected exception raised by plug-in '" << r->first << "' destruction.\n";
+ out << "exception: " << ex.what();
+ }
+ catch(const std::string& str)
+ {
+ Warning out(getProcessLogger());
+ out << "unexpected exception raised by plug-in '" << r->first << "' destruction.\n";
+ out << "exception: " << str;
+ }
+ catch(const char* msg)
+ {
+ Warning out(getProcessLogger());
+ out << "unexpected exception raised by plug-in '" << r->first << "' destruction.\n";
+ out << "exception: " << msg;
+ }
+ catch(...)
+ {
+ Warning out(getProcessLogger());
+ out << "unexpected exception raised by plug-in '" << r->first << "' destruction.";
+ }
+ }
}
_communicator = 0;
@@ -153,8 +182,8 @@ Ice::PluginManagerI::loadPlugins(int& argc, char* argv[])
// Ice.Plugin.name[.<language>]=entry_point [args]
//
// If the Ice.PluginLoadOrder property is defined, load the
- // specified plugins in the specified order, then load any
- // remaining plugins.
+ // specified plug-ins in the specified order, then load any
+ // remaining plug-ins.
//
const string prefix = "Ice.Plugin.";
PropertiesPtr properties = _communicator->getProperties();
@@ -168,7 +197,7 @@ Ice::PluginManagerI::loadPlugins(int& argc, char* argv[])
if(_plugins.find(name) != _plugins.end())
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "plugin `" + name + "' already loaded";
+ ex.reason = "plug-in `" + name + "' already loaded";
throw ex;
}
@@ -190,13 +219,13 @@ Ice::PluginManagerI::loadPlugins(int& argc, char* argv[])
else
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "plugin `" + name + "' not defined";
+ ex.reason = "plug-in `" + name + "' not defined";
throw ex;
}
}
//
- // Load any remaining plugins that weren't specified in PluginLoadOrder.
+ // Load any remaining plug-ins that weren't specified in PluginLoadOrder.
//
while(!plugins.empty())
@@ -255,7 +284,7 @@ Ice::PluginManagerI::loadPlugins(int& argc, char* argv[])
//
// An application can set Ice.InitPlugins=0 if it wants to postpone
// initialization until after it has interacted directly with the
- // plugins.
+ // plug-ins.
//
if(properties->getPropertyAsIntWithDefault("Ice.InitPlugins", 1) > 0)
{
diff --git a/cpp/src/Ice/PluginManagerI.h b/cpp/src/Ice/PluginManagerI.h
index ec715e6770d..659d435eb9a 100644
--- a/cpp/src/Ice/PluginManagerI.h
+++ b/cpp/src/Ice/PluginManagerI.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/src/Ice/PropertiesI.cpp b/cpp/src/Ice/PropertiesI.cpp
index 94f8c64914b..4424b8f4980 100644
--- a/cpp/src/Ice/PropertiesI.cpp
+++ b/cpp/src/Ice/PropertiesI.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/src/Ice/PropertiesI.h b/cpp/src/Ice/PropertiesI.h
index f7913bb9a65..0f6b9c2d228 100644
--- a/cpp/src/Ice/PropertiesI.h
+++ b/cpp/src/Ice/PropertiesI.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/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp
index bf84eafa055..d85fda1a87d 100644
--- a/cpp/src/Ice/PropertyNames.cpp
+++ b/cpp/src/Ice/PropertyNames.cpp
@@ -1,12 +1,15 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+//
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jan 20 15:47:00 2009
+
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
#include <Ice/PropertyNames.h>
@@ -32,6 +35,7 @@ const IceInternal::Property IcePropsData[] =
IceInternal::Property("Ice.Admin.Facets", false, 0),
IceInternal::Property("Ice.Admin.InstanceName", false, 0),
IceInternal::Property("Ice.Admin.ServerId", false, 0),
+ IceInternal::Property("Ice.BackgroundLocatorCacheUpdates", false, 0),
IceInternal::Property("Ice.BatchAutoFlush", false, 0),
IceInternal::Property("Ice.ChangeUser", false, 0),
IceInternal::Property("Ice.Compression.Level", false, 0),
@@ -274,7 +278,15 @@ const IceInternal::Property IceGridPropsData[] =
IceInternal::Property("IceGrid.Registry.CryptPasswords", false, 0),
IceInternal::Property("IceGrid.Registry.Data", false, 0),
IceInternal::Property("IceGrid.Registry.DefaultTemplates", false, 0),
+ IceInternal::Property("IceGrid.Registry.Discard.Interval", false, 0),
IceInternal::Property("IceGrid.Registry.DynamicRegistration", false, 0),
+ IceInternal::Property("IceGrid.Registry.Election.ElectionTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.Election.MasterTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.Election.ResponseTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.Flush.Timeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.IceStormAdmin.TopicManager.Default", false, 0),
+ IceInternal::Property("IceGrid.Registry.IceStormAdmin.TopicManager.*", false, 0),
+ IceInternal::Property("IceGrid.Registry.InstanceName", false, 0),
IceInternal::Property("IceGrid.Registry.Internal.AdapterId", false, 0),
IceInternal::Property("IceGrid.Registry.Internal.Endpoints", false, 0),
IceInternal::Property("IceGrid.Registry.Internal.Locator", false, 0),
@@ -288,6 +300,9 @@ const IceInternal::Property IceGridPropsData[] =
IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.SizeWarn", false, 0),
IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.StackSize", false, 0),
IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.Serialize", false, 0),
+ IceInternal::Property("IceGrid.Registry.Node.*", false, 0),
+ IceInternal::Property("IceGrid.Registry.NodeId", false, 0),
+ IceInternal::Property("IceGrid.Registry.Nodes.id", false, 0),
IceInternal::Property("IceGrid.Registry.NodeSessionTimeout", false, 0),
IceInternal::Property("IceGrid.Registry.PermissionsVerifier.EndpointSelection", false, 0),
IceInternal::Property("IceGrid.Registry.PermissionsVerifier.ConnectionCached", false, 0),
@@ -298,8 +313,12 @@ const IceInternal::Property IceGridPropsData[] =
IceInternal::Property("IceGrid.Registry.PermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.PermissionsVerifier.CollocationOptimized"),
IceInternal::Property("IceGrid.Registry.PermissionsVerifier.CollocationOptimized", false, 0),
IceInternal::Property("IceGrid.Registry.PermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.Publish.*", false, 0),
IceInternal::Property("IceGrid.Registry.ReplicaName", false, 0),
IceInternal::Property("IceGrid.Registry.ReplicaSessionTimeout", false, 0),
+ IceInternal::Property("IceGrid.Registry.ReplicatedPublishEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.ReplicatedTopicManagerEndpoints", false, 0),
+ IceInternal::Property("IceGrid.Registry.Send.Timeout", false, 0),
IceInternal::Property("IceGrid.Registry.Server.AdapterId", false, 0),
IceInternal::Property("IceGrid.Registry.Server.Endpoints", false, 0),
IceInternal::Property("IceGrid.Registry.Server.Locator", false, 0),
@@ -337,15 +356,22 @@ const IceInternal::Property IceGridPropsData[] =
IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized"),
IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized", false, 0),
IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier", false, 0),
+ IceInternal::Property("IceGrid.Registry.TopicManager.*", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Application", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Adapter", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Election", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Locator", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Node", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Object", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Patch", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Replica", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Replication", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Server", false, 0),
IceInternal::Property("IceGrid.Registry.Trace.Session", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Subscriber", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.Topic", false, 0),
+ IceInternal::Property("IceGrid.Registry.Trace.TopicManager", false, 0),
+ IceInternal::Property("IceGrid.Registry.Transient", false, 0),
IceInternal::Property("IceGrid.Registry.UserAccounts", false, 0),
};
diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h
index 50a286e04c5..2fd2fde2324 100644
--- a/cpp/src/Ice/PropertyNames.h
+++ b/cpp/src/Ice/PropertyNames.h
@@ -1,12 +1,15 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+//
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jan 20 15:47:00 2009
+
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
#ifndef ICE_INTERNAL_PropertyNames_H
diff --git a/cpp/src/Ice/Protocol.cpp b/cpp/src/Ice/Protocol.cpp
index fca684f64c6..458c7b4e702 100644
--- a/cpp/src/Ice/Protocol.cpp
+++ b/cpp/src/Ice/Protocol.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/src/Ice/ProtocolPluginFacade.cpp b/cpp/src/Ice/ProtocolPluginFacade.cpp
index ddf5d826bfe..92fb24a159b 100644
--- a/cpp/src/Ice/ProtocolPluginFacade.cpp
+++ b/cpp/src/Ice/ProtocolPluginFacade.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/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index 93da9be9e91..a1121f353c4 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.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.
@@ -32,6 +32,11 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
+static const string ice_ping_name = "ice_ping";
+static const string ice_ids_name = "ice_ids";
+static const string ice_id_name = "ice_id";
+static const string ice_isA_name = "ice_isA";
+
::Ice::ObjectPrx
IceInternal::checkedCastImpl(const ObjectPrx& b, const string& f, const string& typeId, const Context* context)
{
@@ -112,7 +117,7 @@ IceProxy::Ice::Object::ice_isA(const string& typeId, const Context* context)
Handle< ::IceDelegate::Ice::Object> __del;
try
{
- __checkTwowayOnly("ice_isA");
+ __checkTwowayOnly(ice_isA_name);
__del = __getDelegate(false);
return __del->ice_isA(typeId, context);
}
@@ -160,7 +165,7 @@ IceProxy::Ice::Object::ice_ids(const Context* context)
Handle< ::IceDelegate::Ice::Object> __del;
try
{
- __checkTwowayOnly("ice_ids");
+ __checkTwowayOnly(ice_ids_name);
__del = __getDelegate(false);
return __del->ice_ids(context);
}
@@ -184,7 +189,7 @@ IceProxy::Ice::Object::ice_id(const Context* context)
Handle< ::IceDelegate::Ice::Object> __del;
try
{
- __checkTwowayOnly("ice_id");
+ __checkTwowayOnly(ice_id_name);
__del = __getDelegate(false);
return __del->ice_id(context);
}
@@ -954,7 +959,9 @@ IceProxy::Ice::Object::__handleExceptionWrapperRelaxed(const ::IceInternal::Hand
// we call this with a const char* and we want to avoid the overhead
// of constructing a string.
//
-
+// NOTE: Remove for 3.4, the generated code no long calls __checkTwowayOnly
+// using a const char*
+//
void
IceProxy::Ice::Object::__checkTwowayOnly(const char* name) const
{
@@ -1094,8 +1101,7 @@ IceDelegateM::Ice::Object::~Object()
bool
IceDelegateM::Ice::Object::ice_isA(const string& __id, const Context* context)
{
- static const string __operation("ice_isA");
- Outgoing __og(__handler.get(), __operation, ::Ice::Nonmutating, context);
+ Outgoing __og(__handler.get(), ice_isA_name, ::Ice::Nonmutating, context);
try
{
BasicStream* __os = __og.os();
@@ -1135,8 +1141,7 @@ IceDelegateM::Ice::Object::ice_isA(const string& __id, const Context* context)
void
IceDelegateM::Ice::Object::ice_ping(const Context* context)
{
- static const string __operation("ice_ping");
- Outgoing __og(__handler.get(), __operation, ::Ice::Nonmutating, context);
+ Outgoing __og(__handler.get(), ice_ping_name, ::Ice::Nonmutating, context);
bool __ok = __og.invoke();
if(!__og.is()->b.empty())
{
@@ -1165,8 +1170,7 @@ IceDelegateM::Ice::Object::ice_ping(const Context* context)
vector<string>
IceDelegateM::Ice::Object::ice_ids(const Context* context)
{
- static const string __operation("ice_ids");
- Outgoing __og(__handler.get(), __operation, ::Ice::Nonmutating, context);
+ Outgoing __og(__handler.get(), ice_ids_name, ::Ice::Nonmutating, context);
vector<string> __ret;
bool __ok = __og.invoke();
try
@@ -1197,8 +1201,7 @@ IceDelegateM::Ice::Object::ice_ids(const Context* context)
string
IceDelegateM::Ice::Object::ice_id(const Context* context)
{
- static const string __operation("ice_id");
- Outgoing __og(__handler.get(), __operation, ::Ice::Nonmutating, context);
+ Outgoing __og(__handler.get(), ice_id_name, ::Ice::Nonmutating, context);
string __ret;
bool __ok = __og.invoke();
try
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp
index 2fc5316eb6d..4e5b67217fd 100644
--- a/cpp/src/Ice/ProxyFactory.cpp
+++ b/cpp/src/Ice/ProxyFactory.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.
@@ -25,32 +25,8 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
-namespace
-{
-
-class RetryTask : public IceUtil::TimerTask
-{
-public:
-
- RetryTask(const OutgoingAsyncPtr& out) : _out(out)
- {
- }
-
- virtual void
- runTimerTask()
- {
- _out->__send();
- }
-
-private:
-
- const OutgoingAsyncPtr _out;
-};
-
-}
-
IceUtil::Shared* IceInternal::upCast(ProxyFactory* p) { return p; }
-
+
ObjectPrx
IceInternal::ProxyFactory::stringToProxy(const string& str) const
{
@@ -149,7 +125,11 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex,
// We retry ObjectNotExistException if the reference is
// indirect.
//
- li->clearObjectCache(ref);
+
+ if(ref->isWellKnown())
+ {
+ li->clearCache(ref);
+ }
}
else if(ref->getRouterInfo() && one->operation == "ice_add_proxy")
{
@@ -243,34 +223,17 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex,
}
out << " because of exception\n" << ex;
}
-
- if(interval > 0)
+
+ if(out)
{
- if(out)
- {
- try
- {
- _instance->timer()->schedule(new RetryTask(out), IceUtil::Time::milliSeconds(interval));
- }
- catch(const IceUtil::IllegalArgumentException&) // Expected if the communicator destroyed the timer.
- {
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
- }
- }
- else
- {
- //
- // Sleep before retrying.
- //
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(interval));
- }
+ out->__retry(interval);
}
- else
+ else if(interval > 0)
{
- if(out)
- {
- out->__send();
- }
+ //
+ // Sleep before retrying.
+ //
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(interval));
}
}
diff --git a/cpp/src/Ice/ProxyFactory.h b/cpp/src/Ice/ProxyFactory.h
index e73da1c5fd9..c50adb86bcf 100644
--- a/cpp/src/Ice/ProxyFactory.h
+++ b/cpp/src/Ice/ProxyFactory.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/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index d9dc1f197c4..d3cc01479d6 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.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/src/Ice/Reference.h b/cpp/src/Ice/Reference.h
index cdea95c5e38..67e13d6c467 100644
--- a/cpp/src/Ice/Reference.h
+++ b/cpp/src/Ice/Reference.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/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp
index 2669db55f88..d4b93d58a5c 100644
--- a/cpp/src/Ice/ReferenceFactory.cpp
+++ b/cpp/src/Ice/ReferenceFactory.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/src/Ice/ReferenceFactory.h b/cpp/src/Ice/ReferenceFactory.h
index db8eca421ba..9613068926b 100644
--- a/cpp/src/Ice/ReferenceFactory.h
+++ b/cpp/src/Ice/ReferenceFactory.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/src/Ice/ReferenceFactoryF.h b/cpp/src/Ice/ReferenceFactoryF.h
index acc7804ccef..1dc78785efd 100644
--- a/cpp/src/Ice/ReferenceFactoryF.h
+++ b/cpp/src/Ice/ReferenceFactoryF.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/src/Ice/ReplyStatus.h b/cpp/src/Ice/ReplyStatus.h
index 809941025af..8076ca24d49 100644
--- a/cpp/src/Ice/ReplyStatus.h
+++ b/cpp/src/Ice/ReplyStatus.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/src/Ice/RequestHandler.cpp b/cpp/src/Ice/RequestHandler.cpp
index 551420a54d1..60d4a3fe6b2 100644
--- a/cpp/src/Ice/RequestHandler.cpp
+++ b/cpp/src/Ice/RequestHandler.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/src/Ice/RequestHandler.h b/cpp/src/Ice/RequestHandler.h
index ecfce007340..486445067d6 100644
--- a/cpp/src/Ice/RequestHandler.h
+++ b/cpp/src/Ice/RequestHandler.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/src/Ice/RetryQueue.cpp b/cpp/src/Ice/RetryQueue.cpp
new file mode 100644
index 00000000000..eee79a573a7
--- /dev/null
+++ b/cpp/src/Ice/RetryQueue.cpp
@@ -0,0 +1,92 @@
+// **********************************************************************
+//
+// 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/RetryQueue.h>
+#include <Ice/OutgoingAsync.h>
+#include <Ice/LocalException.h>
+#include <Ice/Instance.h>
+
+using namespace std;
+using namespace Ice;
+using namespace IceInternal;
+
+IceUtil::Shared* IceInternal::upCast(RetryQueue* p) { return p; }
+
+IceInternal::RetryTask::RetryTask(const RetryQueuePtr& queue, const OutgoingAsyncPtr& outAsync) :
+ _queue(queue), _outAsync(outAsync)
+{
+}
+
+void
+IceInternal::RetryTask::runTimerTask()
+{
+ if(_queue->remove(this))
+ {
+ try
+ {
+ _outAsync->__send();
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ _outAsync->__releaseCallback(ex);
+ }
+ }
+}
+
+void
+IceInternal::RetryTask::destroy()
+{
+ _outAsync->__releaseCallback(CommunicatorDestroyedException(__FILE__, __LINE__));
+}
+
+bool
+IceInternal::RetryTask::operator<(const RetryTask& rhs) const
+{
+ return this < &rhs;
+}
+
+IceInternal::RetryQueue::RetryQueue(const InstancePtr& instance) : _instance(instance)
+{
+}
+
+void
+IceInternal::RetryQueue::add(const OutgoingAsyncPtr& out, int interval)
+{
+ Lock sync(*this);
+ RetryTaskPtr task = new RetryTask(this, out);
+ try
+ {
+ _instance->timer()->schedule(task, IceUtil::Time::milliSeconds(interval));
+ }
+ catch(const IceUtil::IllegalArgumentException&) // Expected if the communicator destroyed the timer.
+ {
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
+ }
+ _requests.insert(task);
+}
+
+void
+IceInternal::RetryQueue::destroy()
+{
+ Lock sync(*this);
+ for(set<RetryTaskPtr>::const_iterator p = _requests.begin(); p != _requests.end(); ++p)
+ {
+ _instance->timer()->cancel(*p);
+ (*p)->destroy();
+ }
+ _requests.clear();
+}
+
+bool
+IceInternal::RetryQueue::remove(const RetryTaskPtr& task)
+{
+ Lock sync(*this);
+ return _requests.erase(task) > 0;
+}
+
diff --git a/cpp/src/Ice/RetryQueue.h b/cpp/src/Ice/RetryQueue.h
new file mode 100644
index 00000000000..8d8928b8b2c
--- /dev/null
+++ b/cpp/src/Ice/RetryQueue.h
@@ -0,0 +1,62 @@
+// **********************************************************************
+//
+// 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 ICE_RETRY_QUEUE_H
+#define ICE_RETRY_QUEUE_H
+
+#include <IceUtil/Shared.h>
+#include <IceUtil/Mutex.h>
+#include <IceUtil/Timer.h>
+#include <Ice/RetryQueueF.h>
+#include <Ice/OutgoingAsyncF.h>
+#include <Ice/InstanceF.h>
+
+namespace IceInternal
+{
+
+class RetryTask : public IceUtil::TimerTask
+{
+public:
+
+ RetryTask(const RetryQueuePtr&, const OutgoingAsyncPtr&);
+
+ virtual void runTimerTask();
+ void destroy();
+
+ bool operator<(const RetryTask&) const;
+
+private:
+
+ const RetryQueuePtr _queue;
+ const OutgoingAsyncPtr _outAsync;
+};
+typedef IceUtil::Handle<RetryTask> RetryTaskPtr;
+
+class RetryQueue : public IceUtil::Shared, public IceUtil::Mutex
+{
+public:
+
+ RetryQueue(const InstancePtr&);
+
+ void add(const OutgoingAsyncPtr&, int);
+ void destroy();
+
+private:
+
+ bool remove(const RetryTaskPtr&);
+ friend class RetryTask;
+
+ const InstancePtr _instance;
+ std::set<RetryTaskPtr> _requests;
+};
+
+}
+
+#endif
+
diff --git a/cpp/src/Ice/RetryQueueF.h b/cpp/src/Ice/RetryQueueF.h
new file mode 100644
index 00000000000..4296e56b2ea
--- /dev/null
+++ b/cpp/src/Ice/RetryQueueF.h
@@ -0,0 +1,24 @@
+// **********************************************************************
+//
+// 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 ICE_RETRY_QUEUE_F_H
+#define ICE_RETRY_QUEUE_F_H
+
+#include <Ice/Handle.h>
+
+namespace IceInternal
+{
+
+class RetryQueue;
+IceUtil::Shared* upCast(RetryQueue*);
+typedef Handle<RetryQueue> RetryQueuePtr;
+
+}
+
+#endif
diff --git a/cpp/src/Ice/RouterInfo.cpp b/cpp/src/Ice/RouterInfo.cpp
index b9d17a66dbd..a30a7079b45 100644
--- a/cpp/src/Ice/RouterInfo.cpp
+++ b/cpp/src/Ice/RouterInfo.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/src/Ice/RouterInfo.h b/cpp/src/Ice/RouterInfo.h
index abbf460fc63..fa17a308d7e 100644
--- a/cpp/src/Ice/RouterInfo.h
+++ b/cpp/src/Ice/RouterInfo.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/src/Ice/RouterInfoF.h b/cpp/src/Ice/RouterInfoF.h
index 7db718badec..93aa7c583f3 100644
--- a/cpp/src/Ice/RouterInfoF.h
+++ b/cpp/src/Ice/RouterInfoF.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/src/Ice/Selector.h b/cpp/src/Ice/Selector.h
index a3cb7bc4cd4..2c958130e5a 100644
--- a/cpp/src/Ice/Selector.h
+++ b/cpp/src/Ice/Selector.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/src/Ice/SelectorF.h b/cpp/src/Ice/SelectorF.h
index f7a8dfb089b..8d2ac54bf9c 100644
--- a/cpp/src/Ice/SelectorF.h
+++ b/cpp/src/Ice/SelectorF.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/src/Ice/SelectorThread.cpp b/cpp/src/Ice/SelectorThread.cpp
index c76505c240e..4c740810c69 100644
--- a/cpp/src/Ice/SelectorThread.cpp
+++ b/cpp/src/Ice/SelectorThread.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.
@@ -25,7 +25,6 @@ IceInternal::SelectorThread::SelectorThread(const InstancePtr& instance) :
_selector(instance),
_timer(_instance->timer())
{
-
__setNoDelete(true);
try
{
@@ -38,11 +37,17 @@ IceInternal::SelectorThread::SelectorThread(const InstancePtr& instance) :
Error out(_instance->initializationData().logger);
out << "cannot create thread for selector thread:\n" << ex;
}
+ _thread = 0;
__setNoDelete(false);
throw;
}
catch(...)
{
+ {
+ Error out(_instance->initializationData().logger);
+ out << "cannot create thread for selector thread";
+ }
+ _thread = 0;
__setNoDelete(false);
throw;
}
diff --git a/cpp/src/Ice/SelectorThread.h b/cpp/src/Ice/SelectorThread.h
index 149c6f4083d..2e169925f48 100644
--- a/cpp/src/Ice/SelectorThread.h
+++ b/cpp/src/Ice/SelectorThread.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/src/Ice/SelectorThreadF.h b/cpp/src/Ice/SelectorThreadF.h
index 835365b0a89..19f9d6b1e4f 100644
--- a/cpp/src/Ice/SelectorThreadF.h
+++ b/cpp/src/Ice/SelectorThreadF.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/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp
index c196ce0c320..743f0bdb6b9 100644
--- a/cpp/src/Ice/ServantManager.cpp
+++ b/cpp/src/Ice/ServantManager.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/src/Ice/ServantManager.h b/cpp/src/Ice/ServantManager.h
index 2a7f97d25e5..a06d050fa71 100644
--- a/cpp/src/Ice/ServantManager.h
+++ b/cpp/src/Ice/ServantManager.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/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp
index c8145f93fd7..7d86fe48676 100644
--- a/cpp/src/Ice/Service.cpp
+++ b/cpp/src/Ice/Service.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/src/Ice/SharedContext.h b/cpp/src/Ice/SharedContext.h
index 48465cd86ae..73dd2a7d344 100644
--- a/cpp/src/Ice/SharedContext.h
+++ b/cpp/src/Ice/SharedContext.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/src/Ice/SliceChecksums.cpp b/cpp/src/Ice/SliceChecksums.cpp
index 76979cd9320..77323ad2bcf 100644
--- a/cpp/src/Ice/SliceChecksums.cpp
+++ b/cpp/src/Ice/SliceChecksums.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/src/Ice/SocketReadyCallback.h b/cpp/src/Ice/SocketReadyCallback.h
index 6b9f8302c5c..383f6a0fca7 100644
--- a/cpp/src/Ice/SocketReadyCallback.h
+++ b/cpp/src/Ice/SocketReadyCallback.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/src/Ice/Stream.cpp b/cpp/src/Ice/Stream.cpp
index 7f3c4259c18..20825a9aeab 100644
--- a/cpp/src/Ice/Stream.cpp
+++ b/cpp/src/Ice/Stream.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/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp
index 26ecc8acb19..f992b99b76f 100644
--- a/cpp/src/Ice/StreamI.cpp
+++ b/cpp/src/Ice/StreamI.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.
@@ -698,7 +698,14 @@ Ice::UserExceptionWriter::~UserExceptionWriter() throw()
void
Ice::UserExceptionWriter::__write(BasicStream* os) const
{
- OutputStreamPtr stream = new OutputStreamI(_communicator, os);
+ OutputStreamI* stream = reinterpret_cast<OutputStreamI*>(os->closure());
+ if(!stream)
+ {
+ //
+ // Required for IcePy usage
+ //
+ stream = new OutputStreamI(_communicator, os);
+ }
write(stream);
}
diff --git a/cpp/src/Ice/StreamI.h b/cpp/src/Ice/StreamI.h
index 9941b216c06..874f7624b6d 100644
--- a/cpp/src/Ice/StreamI.h
+++ b/cpp/src/Ice/StreamI.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/src/Ice/StringConverter.cpp b/cpp/src/Ice/StringConverter.cpp
index cd781075d76..52c9dc2ed4b 100644
--- a/cpp/src/Ice/StringConverter.cpp
+++ b/cpp/src/Ice/StringConverter.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.
@@ -221,7 +221,7 @@ StringConverterPlugin::destroy()
}
//
-// The entry point for the "string converter" plugin built-in the Ice library
+// The entry point for the "string converter" plug-in built-in the Ice library
//
extern "C"
{
diff --git a/cpp/src/Ice/SysLoggerI.cpp b/cpp/src/Ice/SysLoggerI.cpp
index f14ccc1a639..8c9af8bad86 100644
--- a/cpp/src/Ice/SysLoggerI.cpp
+++ b/cpp/src/Ice/SysLoggerI.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/src/Ice/SysLoggerI.h b/cpp/src/Ice/SysLoggerI.h
index 39639def6e7..1b466f94ab7 100644
--- a/cpp/src/Ice/SysLoggerI.h
+++ b/cpp/src/Ice/SysLoggerI.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/src/Ice/TcpAcceptor.cpp b/cpp/src/Ice/TcpAcceptor.cpp
index aab7a740320..3fbebf32e35 100644
--- a/cpp/src/Ice/TcpAcceptor.cpp
+++ b/cpp/src/Ice/TcpAcceptor.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/src/Ice/TcpAcceptor.h b/cpp/src/Ice/TcpAcceptor.h
index 4971f5df49a..7bfa9262df1 100644
--- a/cpp/src/Ice/TcpAcceptor.h
+++ b/cpp/src/Ice/TcpAcceptor.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/src/Ice/TcpConnector.cpp b/cpp/src/Ice/TcpConnector.cpp
index 17f76b1a970..310e58bc058 100644
--- a/cpp/src/Ice/TcpConnector.cpp
+++ b/cpp/src/Ice/TcpConnector.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/src/Ice/TcpConnector.h b/cpp/src/Ice/TcpConnector.h
index c38d3eb9b95..3b8795b2bd5 100644
--- a/cpp/src/Ice/TcpConnector.h
+++ b/cpp/src/Ice/TcpConnector.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/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp
index 3ab2a7db1c1..f4aecd7a79b 100644
--- a/cpp/src/Ice/TcpEndpointI.cpp
+++ b/cpp/src/Ice/TcpEndpointI.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/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h
index 076fc74da2d..82431981fa5 100644
--- a/cpp/src/Ice/TcpEndpointI.h
+++ b/cpp/src/Ice/TcpEndpointI.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/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp
index f7dc2e68d40..43d715d6314 100644
--- a/cpp/src/Ice/TcpTransceiver.cpp
+++ b/cpp/src/Ice/TcpTransceiver.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/src/Ice/TcpTransceiver.h b/cpp/src/Ice/TcpTransceiver.h
index 2f10a0c1fd6..7e09891f09b 100644
--- a/cpp/src/Ice/TcpTransceiver.h
+++ b/cpp/src/Ice/TcpTransceiver.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/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 7f0f1b72e27..ab41198104c 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.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.
@@ -480,6 +480,8 @@ IceInternal::ThreadPool::run()
}
catch(const DatagramLimitException&) // Expected.
{
+ handler->_stream.resize(0);
+ handler->_stream.i = stream.b.begin();
continue;
}
catch(const SocketException& ex)
@@ -496,6 +498,8 @@ IceInternal::ThreadPool::run()
Warning out(_instance->initializationData().logger);
out << "datagram connection exception:\n" << ex << '\n' << handler->toString();
}
+ handler->_stream.resize(0);
+ handler->_stream.i = stream.b.begin();
}
else
{
@@ -632,7 +636,17 @@ bool
IceInternal::ThreadPool::read(const EventHandlerPtr& handler)
{
BasicStream& stream = handler->_stream;
-
+
+ if(stream.i - stream.b.begin() >= headerSize)
+ {
+ if(!handler->read(stream))
+ {
+ return false;
+ }
+ assert(stream.i == stream.b.end());
+ return true;
+ }
+
if(stream.b.size() == 0)
{
stream.b.resize(headerSize);
@@ -656,6 +670,7 @@ IceInternal::ThreadPool::read(const EventHandlerPtr& handler)
//
throw IllegalMessageSizeException(__FILE__, __LINE__);
}
+
stream.i = stream.b.begin();
const Byte* m;
stream.readBlob(m, static_cast<Int>(sizeof(magic)));
@@ -721,8 +736,6 @@ IceInternal::ThreadPool::read(const EventHandlerPtr& handler)
{
Warning out(_instance->initializationData().logger);
out << "DatagramLimitException: maximum size of " << pos << " exceeded";
- stream.resize(0);
- stream.i = stream.b.begin();
}
throw DatagramLimitException(__FILE__, __LINE__);
}
diff --git a/cpp/src/Ice/ThreadPool.h b/cpp/src/Ice/ThreadPool.h
index 8d2af981337..117d42bdc8e 100644
--- a/cpp/src/Ice/ThreadPool.h
+++ b/cpp/src/Ice/ThreadPool.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/src/Ice/ThreadPoolF.h b/cpp/src/Ice/ThreadPoolF.h
index 68c92e2aae2..5a26ae48bc4 100644
--- a/cpp/src/Ice/ThreadPoolF.h
+++ b/cpp/src/Ice/ThreadPoolF.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/src/Ice/TraceLevels.cpp b/cpp/src/Ice/TraceLevels.cpp
index cb08aabd2a4..507d7a19b9d 100644
--- a/cpp/src/Ice/TraceLevels.cpp
+++ b/cpp/src/Ice/TraceLevels.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/src/Ice/TraceLevels.h b/cpp/src/Ice/TraceLevels.h
index 00328872105..cb497413ab1 100644
--- a/cpp/src/Ice/TraceLevels.h
+++ b/cpp/src/Ice/TraceLevels.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/src/Ice/TraceLevelsF.h b/cpp/src/Ice/TraceLevelsF.h
index 4e4e28d80bb..2d327677983 100644
--- a/cpp/src/Ice/TraceLevelsF.h
+++ b/cpp/src/Ice/TraceLevelsF.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/src/Ice/TraceUtil.cpp b/cpp/src/Ice/TraceUtil.cpp
index 136f7eca341..d255cf2a3ad 100644
--- a/cpp/src/Ice/TraceUtil.cpp
+++ b/cpp/src/Ice/TraceUtil.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/src/Ice/TraceUtil.h b/cpp/src/Ice/TraceUtil.h
index 9acc8075648..4bfe8d1d176 100644
--- a/cpp/src/Ice/TraceUtil.h
+++ b/cpp/src/Ice/TraceUtil.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/src/Ice/Transceiver.cpp b/cpp/src/Ice/Transceiver.cpp
index c2d2d2ab299..d915813b4e1 100644
--- a/cpp/src/Ice/Transceiver.cpp
+++ b/cpp/src/Ice/Transceiver.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/src/Ice/Transceiver.h b/cpp/src/Ice/Transceiver.h
index a0b1f40edf8..f2c08648eb2 100644
--- a/cpp/src/Ice/Transceiver.h
+++ b/cpp/src/Ice/Transceiver.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/src/Ice/TransceiverF.h b/cpp/src/Ice/TransceiverF.h
index 3c00bb5ef7f..19cadf586d3 100644
--- a/cpp/src/Ice/TransceiverF.h
+++ b/cpp/src/Ice/TransceiverF.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/src/Ice/UdpConnector.cpp b/cpp/src/Ice/UdpConnector.cpp
index f81eae4e4e2..d8a4c5588df 100644
--- a/cpp/src/Ice/UdpConnector.cpp
+++ b/cpp/src/Ice/UdpConnector.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/src/Ice/UdpConnector.h b/cpp/src/Ice/UdpConnector.h
index fb4be04a2b6..4e27190ac1e 100644
--- a/cpp/src/Ice/UdpConnector.h
+++ b/cpp/src/Ice/UdpConnector.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/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp
index e535a6c23af..4f25331ac2c 100644
--- a/cpp/src/Ice/UdpEndpointI.cpp
+++ b/cpp/src/Ice/UdpEndpointI.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.
@@ -282,6 +282,7 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin
{
EndpointParseException ex(__FILE__, __LINE__);
ex.str = "udp " + str;
+ throw ex;
}
}
diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h
index 092ff3acdf0..b04f3250b26 100644
--- a/cpp/src/Ice/UdpEndpointI.h
+++ b/cpp/src/Ice/UdpEndpointI.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/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp
index 8122ef7de66..731de9ce9e8 100644
--- a/cpp/src/Ice/UdpTransceiver.cpp
+++ b/cpp/src/Ice/UdpTransceiver.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.
@@ -65,7 +65,6 @@ IceInternal::UdpTransceiver::write(Buffer& buf)
//
// We don't log a warning here because the client gets an exception anyway.
//
- cerr << packetSize << " " << _maxPacketSize << " " << _sndSize << endl;
throw DatagramLimitException(__FILE__, __LINE__);
}
diff --git a/cpp/src/Ice/UdpTransceiver.h b/cpp/src/Ice/UdpTransceiver.h
index be47792715b..a5ee375460c 100644
--- a/cpp/src/Ice/UdpTransceiver.h
+++ b/cpp/src/Ice/UdpTransceiver.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/src/Ice/UnknownEndpointI.cpp b/cpp/src/Ice/UnknownEndpointI.cpp
index c15cb5178e2..55f5429b8ce 100644
--- a/cpp/src/Ice/UnknownEndpointI.cpp
+++ b/cpp/src/Ice/UnknownEndpointI.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/src/Ice/UnknownEndpointI.h b/cpp/src/Ice/UnknownEndpointI.h
index 4c383ebdedf..5394f0952d4 100644
--- a/cpp/src/Ice/UnknownEndpointI.h
+++ b/cpp/src/Ice/UnknownEndpointI.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/src/IceBox/Admin.cpp b/cpp/src/IceBox/Admin.cpp
index a4331934ff4..2a77a8629ba 100644
--- a/cpp/src/IceBox/Admin.cpp
+++ b/cpp/src/IceBox/Admin.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/src/IceBox/Exception.cpp b/cpp/src/IceBox/Exception.cpp
index abfdaca82d1..1245ab56b8f 100644
--- a/cpp/src/IceBox/Exception.cpp
+++ b/cpp/src/IceBox/Exception.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/src/IceBox/IceBox.rc b/cpp/src/IceBox/IceBox.rc
index 9d924812912..52d6ced0e5b 100644
--- a/cpp/src/IceBox/IceBox.rc
+++ b/cpp/src/IceBox/IceBox.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceBox DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceBox/IceBoxAdmin.rc b/cpp/src/IceBox/IceBoxAdmin.rc
index 920bb46d317..0c822016c62 100644
--- a/cpp/src/IceBox/IceBoxAdmin.rc
+++ b/cpp/src/IceBox/IceBoxAdmin.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceBox Admin\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "iceboxadmin\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", "iceboxadmin.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceBox/IceBoxExe.rc b/cpp/src/IceBox/IceBoxExe.rc
index 1130a6757ee..6d37edcb4d7 100644
--- a/cpp/src/IceBox/IceBoxExe.rc
+++ b/cpp/src/IceBox/IceBoxExe.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceBox\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceBox/Makefile b/cpp/src/IceBox/Makefile
index 7ae060a3582..5f0fc4cd347 100644
--- a/cpp/src/IceBox/Makefile
+++ b/cpp/src/IceBox/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/src/IceBox/Makefile.mak b/cpp/src/IceBox/Makefile.mak
index bfb33891aac..d5f8061dfeb 100644
--- a/cpp/src/IceBox/Makefile.mak
+++ b/cpp/src/IceBox/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.
@@ -15,11 +15,7 @@ DLLNAME = $(top_srcdir)\bin\icebox$(SOVERSION)$(LIBSUFFIX).dll
SERVER_D = $(top_srcdir)\bin\iceboxd.exe
SERVER_R = $(top_srcdir)\bin\icebox.exe
-!if "$(OPTIMIZE)" != "yes"
-SERVER = $(SERVER_D)
-!else
-SERVER = $(SERVER_R)
-!endif
+SERVER = $(top_srcdir)\bin\icebox$(LIBSUFFIX).exe
ADMIN = $(top_srcdir)\bin\iceboxadmin.exe
diff --git a/cpp/src/IceBox/Service.cpp b/cpp/src/IceBox/Service.cpp
index f48242c82e2..2cfb70ce1ea 100644
--- a/cpp/src/IceBox/Service.cpp
+++ b/cpp/src/IceBox/Service.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/src/IceBox/ServiceManagerI.cpp b/cpp/src/IceBox/ServiceManagerI.cpp
index 32ef7cef3af..0cb8aba1c9d 100644
--- a/cpp/src/IceBox/ServiceManagerI.cpp
+++ b/cpp/src/IceBox/ServiceManagerI.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.
@@ -961,7 +961,7 @@ IceBox::ServiceManagerI::createCommunicator(const string& service, Ice::StringSe
//
// Remaining command line options are passed to the communicator. This is
- // necessary for Ice plugin properties (e.g.: IceSSL).
+ // necessary for Ice plug-in properties (e.g.: IceSSL).
//
InitializationData initData;
initData.properties = properties;
diff --git a/cpp/src/IceBox/ServiceManagerI.h b/cpp/src/IceBox/ServiceManagerI.h
index 75d7fcb29f8..3e64aeb8ad1 100644
--- a/cpp/src/IceBox/ServiceManagerI.h
+++ b/cpp/src/IceBox/ServiceManagerI.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/src/IceGrid/.gitignore b/cpp/src/IceGrid/.gitignore
index 9c92c4e432e..21d09e4ace5 100644
--- a/cpp/src/IceGrid/.gitignore
+++ b/cpp/src/IceGrid/.gitignore
@@ -9,6 +9,3 @@ IdentityObjectInfoDict.h
IdentityObjectInfoDict.cpp
StringAdapterInfoDict.h
StringAdapterInfoDict.cpp
-Grammar.cpp
-Grammar.h
-Scanner.cpp
diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp
index d585a11eb15..0b99b68a417 100644
--- a/cpp/src/IceGrid/Activator.cpp
+++ b/cpp/src/IceGrid/Activator.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.
@@ -514,8 +514,7 @@ Activator::activate(const string& name,
string::size_type pos = s.find('=');
if(pos != string::npos)
{
- string key = s.substr(0, pos);
- std::transform(key.begin(), key.end(), key.begin(), toupper);
+ string key = IceUtilInternal::toUpper(s.substr(0, pos));
envMap.insert(map<string, string>::value_type(key, s.substr(pos + 1)));
}
var += s.size();
@@ -528,8 +527,7 @@ Activator::activate(const string& name,
string::size_type pos = s.find('=');
if(pos != string::npos)
{
- string key = s.substr(0, pos);
- std::transform(key.begin(), key.end(), key.begin(), toupper);
+ string key = IceUtilInternal::toUpper(s.substr(0, pos));
envMap.erase(key);
envMap.insert(map<string, string>::value_type(key, s.substr(pos + 1)));
}
@@ -610,6 +608,15 @@ Activator::activate(const string& name,
throw ex;
}
+ int errorFds[2];
+ if(pipe(errorFds) != 0)
+ {
+ SyscallException ex(__FILE__, __LINE__);
+ ex.error = getSystemErrno();
+ throw ex;
+ }
+
+
//
// Convert to standard argc/argv.
//
@@ -652,14 +659,14 @@ Activator::activate(const string& name,
{
ostringstream os;
os << gid;
- reportChildError(getSystemErrno(), fds[1], "cannot set process group id", os.str().c_str());
+ reportChildError(getSystemErrno(), errorFds[1], "cannot set process group id", os.str().c_str());
}
if(setuid(uid) == -1)
{
ostringstream os;
os << uid;
- reportChildError(getSystemErrno(), fds[1], "cannot set process user id", os.str().c_str());
+ reportChildError(getSystemErrno(), errorFds[1], "cannot set process user id", os.str().c_str());
}
//
@@ -675,7 +682,7 @@ Activator::activate(const string& name,
int maxFd = static_cast<int>(sysconf(_SC_OPEN_MAX));
for(int fd = 3; fd < maxFd; ++fd)
{
- if(fd != fds[1])
+ if(fd != fds[1] && fd != errorFds[1])
{
close(fd);
}
@@ -688,7 +695,7 @@ Activator::activate(const string& name,
//
if(putenv(strdup(env.argv[i])) != 0)
{
- reportChildError(errno, fds[1], "cannot set environment variable", env.argv[i]);
+ reportChildError(errno, errorFds[1], "cannot set environment variable", env.argv[i]);
}
}
@@ -699,18 +706,65 @@ Activator::activate(const string& name,
{
if(chdir(pwdCStr) == -1)
{
- reportChildError(errno, fds[1], "cannot change working directory to", pwdCStr);
+ reportChildError(errno, errorFds[1], "cannot change working directory to", pwdCStr);
}
}
+ //
+ // Close on exec the error message file descriptor.
+ //
+ int flags = fcntl(errorFds[1], F_GETFD);
+ flags |= 1; // FD_CLOEXEC
+ if(fcntl(errorFds[1], F_SETFD, flags) == -1)
+ {
+ close(errorFds[1]);
+ errorFds[1] = -1;
+ }
+
if(execvp(av.argv[0], av.argv) == -1)
{
- reportChildError(errno, fds[1], "cannot execute", av.argv[0]);
+ if(errorFds[1] != -1)
+ {
+ reportChildError(errno, errorFds[1], "cannot execute", av.argv[0]);
+ }
+ else
+ {
+ reportChildError(errno, fds[1], "cannot execute", av.argv[0]);
+ }
}
}
else // Parent process.
{
close(fds[1]);
+ close(errorFds[1]);
+
+ //
+ // Read a potential error message over the error message pipe.
+ //
+ char s[16];
+ ssize_t rs;
+ string message;
+ while((rs = read(errorFds[0], &s, 16)) > 0)
+ {
+ message.append(s, rs);
+ }
+
+ //
+ // If an error occured before the exec() we do some cleanup and throw.
+ //
+ if(!message.empty())
+ {
+ close(fds[0]);
+ close(errorFds[0]);
+ waitPid(pid);
+ throw message;
+ }
+
+ //
+ // Otherwise, the exec() was successfull and we don't need the error message
+ // pipe anymore.
+ //
+ close(errorFds[0]);
Process process;
process.pid = pid;
@@ -1005,6 +1059,13 @@ Activator::destroy()
assert(_processes.empty());
}
+bool
+Activator::isActive()
+{
+ IceUtil::Monitor< IceUtil::Mutex>::Lock sync(*this);
+ return !_deactivating;
+}
+
void
Activator::runTerminationListener()
{
@@ -1245,45 +1306,7 @@ Activator::terminationListener()
for(vector<Process>::const_iterator p = terminated.begin(); p != terminated.end(); ++p)
{
- int status;
-#if defined(__linux)
- int nRetry = 0;
- while(true) // The while loop is necessary for the linux workaround.
- {
- pid_t pid = waitpid(p->pid, &status, 0);
- if(pid < 0)
- {
- //
- // Some Linux distribution have a bogus waitpid() (e.g.: CentOS 4.x). It doesn't
- // block and reports an incorrect ECHILD error on the first call. We sleep a
- // little and retry to work around this issue (it appears from testing that a
- // single retry is enough but to make sure we retry up to 10 times before to throw.)
- //
- if(errno == ECHILD && nRetry < 10)
- {
- // Wait 1ms, 11ms, 21ms, etc.
- IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(nRetry * 10 + 1));
- ++nRetry;
- continue;
- }
- SyscallException ex(__FILE__, __LINE__);
- ex.error = getSystemErrno();
- throw ex;
- }
- assert(pid == p->pid);
- break;
- }
-#else
- pid_t pid = waitpid(p->pid, &status, 0);
- if(pid < 0)
- {
- SyscallException ex(__FILE__, __LINE__);
- ex.error = getSystemErrno();
- throw ex;
- }
- assert(pid == p->pid);
-#endif
-
+ int status = waitPid(p->pid);
if(_traceLevels->activator > 0)
{
Ice::Trace out(_traceLevels->logger, _traceLevels->activatorCat);
@@ -1343,3 +1366,49 @@ Activator::setInterrupt()
write(_fdIntrWrite, &c, 1);
#endif
}
+
+#ifndef _WIN32
+int
+Activator::waitPid(pid_t processPid)
+{
+ int status;
+#if defined(__linux)
+ int nRetry = 0;
+ while(true) // The while loop is necessary for the linux workaround.
+ {
+ pid_t pid = waitpid(processPid, &status, 0);
+ if(pid < 0)
+ {
+ //
+ // Some Linux distribution have a bogus waitpid() (e.g.: CentOS 4.x). It doesn't
+ // block and reports an incorrect ECHILD error on the first call. We sleep a
+ // little and retry to work around this issue (it appears from testing that a
+ // single retry is enough but to make sure we retry up to 10 times before to throw.)
+ //
+ if(errno == ECHILD && nRetry < 10)
+ {
+ // Wait 1ms, 11ms, 21ms, etc.
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(nRetry * 10 + 1));
+ ++nRetry;
+ continue;
+ }
+ SyscallException ex(__FILE__, __LINE__);
+ ex.error = getSystemErrno();
+ throw ex;
+ }
+ assert(pid == processPid);
+ break;
+ }
+#else
+ pid_t pid = waitpid(processPid, &status, 0);
+ if(pid < 0)
+ {
+ SyscallException ex(__FILE__, __LINE__);
+ ex.error = getSystemErrno();
+ throw ex;
+ }
+ assert(pid == processPid);
+#endif
+ return status;
+}
+#endif
diff --git a/cpp/src/IceGrid/Activator.h b/cpp/src/IceGrid/Activator.h
index 37cd27f10d4..0eb8ecccc16 100644
--- a/cpp/src/IceGrid/Activator.h
+++ b/cpp/src/IceGrid/Activator.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.
@@ -51,6 +51,7 @@ public:
virtual void shutdown();
virtual void destroy();
+ bool isActive();
void sendSignal(const std::string&, int);
void runTerminationListener();
@@ -60,6 +61,10 @@ private:
void terminationListener();
void clearInterrupt();
void setInterrupt();
+
+#ifndef _WIN32
+ int waitPid(pid_t);
+#endif
struct Process
{
diff --git a/cpp/src/IceGrid/AdapterCache.cpp b/cpp/src/IceGrid/AdapterCache.cpp
index 1fdb9bbcfd5..af24d9da061 100644
--- a/cpp/src/IceGrid/AdapterCache.cpp
+++ b/cpp/src/IceGrid/AdapterCache.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.
@@ -231,7 +231,7 @@ ServerAdapterEntry::ServerAdapterEntry(AdapterCache& cache,
void
ServerAdapterEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& nReplicas, bool& replicaGroup,
- bool& roundRobin)
+ bool& roundRobin, const set<string>&)
{
nReplicas = 1;
replicaGroup = false;
@@ -242,11 +242,6 @@ ServerAdapterEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int&
adapters.push_back(info);
}
-void
-ServerAdapterEntry::increaseRoundRobinCount(int roundRobinCount)
-{
-}
-
float
ServerAdapterEntry::getLeastLoadedNodeLoad(LoadSample loadSample) const
{
@@ -383,7 +378,7 @@ ReplicaGroupEntry::update(const LoadBalancingPolicyPtr& policy)
void
ReplicaGroupEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& nReplicas, bool& replicaGroup,
- bool& roundRobin)
+ bool& roundRobin, const set<string>& excludes)
{
vector<ServerAdapterEntryPtr> replicas;
bool adaptive = false;
@@ -453,32 +448,28 @@ ReplicaGroupEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& n
//
for(vector<ServerAdapterEntryPtr>::const_iterator p = replicas.begin(); p != replicas.end(); ++p)
{
- try
- {
- int dummy;
- bool dummy2;
- bool dummy3;
- (*p)->getLocatorAdapterInfo(adapters, dummy, dummy2, dummy3);
- }
- catch(const AdapterNotExistException&)
- {
- }
- catch(const NodeUnreachableException&)
- {
- }
- catch(const DeploymentException&)
+ if(!roundRobin || excludes.find((*p)->getId()) == excludes.end())
{
+ try
+ {
+ int dummy;
+ bool dummy2;
+ bool dummy3;
+ (*p)->getLocatorAdapterInfo(adapters, dummy, dummy2, dummy3, set<string>());
+ }
+ catch(const AdapterNotExistException&)
+ {
+ }
+ catch(const NodeUnreachableException&)
+ {
+ }
+ catch(const DeploymentException&)
+ {
+ }
}
}
}
-void
-ReplicaGroupEntry::increaseRoundRobinCount(int count)
-{
- Lock sync(*this);
- _lastReplica = (_lastReplica + count) % static_cast<int>(_replicas.size());
-}
-
float
ReplicaGroupEntry::getLeastLoadedNodeLoad(LoadSample loadSample) const
{
diff --git a/cpp/src/IceGrid/AdapterCache.h b/cpp/src/IceGrid/AdapterCache.h
index fbc62ed4c3e..8ee42bc1531 100644
--- a/cpp/src/IceGrid/AdapterCache.h
+++ b/cpp/src/IceGrid/AdapterCache.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.
@@ -43,8 +43,11 @@ public:
AdapterEntry(AdapterCache&, const std::string&, const std::string&);
- virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&) = 0;
- virtual void increaseRoundRobinCount(int) = 0;
+ virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&, const std::set<std::string>&) = 0;
+ void getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& count, bool& replicaGroup, bool& roundRobin)
+ {
+ getLocatorAdapterInfo(adapters, count, replicaGroup, roundRobin, std::set<std::string>());
+ }
virtual float getLeastLoadedNodeLoad(LoadSample) const = 0;
virtual AdapterInfoSeq getAdapterInfo() const = 0;
@@ -68,8 +71,7 @@ public:
ServerAdapterEntry(AdapterCache&, const std::string&, const std::string&, const std::string&, int,
const ServerEntryPtr&);
- virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&);
- virtual void increaseRoundRobinCount(int);
+ virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&, const std::set<std::string>&);
virtual float getLeastLoadedNodeLoad(LoadSample) const;
virtual AdapterInfoSeq getAdapterInfo() const;
virtual const std::string& getReplicaGroupId() const { return _replicaGroupId; }
@@ -91,8 +93,7 @@ public:
ReplicaGroupEntry(AdapterCache&, const std::string&, const std::string&, const LoadBalancingPolicyPtr&);
- virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&);
- virtual void increaseRoundRobinCount(int);
+ virtual void getLocatorAdapterInfo(LocatorAdapterInfoSeq&, int&, bool&, bool&, const std::set<std::string>&);
virtual float getLeastLoadedNodeLoad(LoadSample) const;
virtual AdapterInfoSeq getAdapterInfo() const;
diff --git a/cpp/src/IceGrid/AdminCallbackRouter.cpp b/cpp/src/IceGrid/AdminCallbackRouter.cpp
index 46ac0068208..03d7481c9d5 100644
--- a/cpp/src/IceGrid/AdminCallbackRouter.cpp
+++ b/cpp/src/IceGrid/AdminCallbackRouter.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/src/IceGrid/AdminCallbackRouter.h b/cpp/src/IceGrid/AdminCallbackRouter.h
index d068fa01c9e..34fdb5dbe87 100644
--- a/cpp/src/IceGrid/AdminCallbackRouter.h
+++ b/cpp/src/IceGrid/AdminCallbackRouter.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/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp
index e43421726c1..5581ca7b35c 100644
--- a/cpp/src/IceGrid/AdminI.cpp
+++ b/cpp/src/IceGrid/AdminI.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/src/IceGrid/AdminI.h b/cpp/src/IceGrid/AdminI.h
index b704e07d4f6..f3cf4d717d9 100644
--- a/cpp/src/IceGrid/AdminI.h
+++ b/cpp/src/IceGrid/AdminI.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/src/IceGrid/AdminSessionI.cpp b/cpp/src/IceGrid/AdminSessionI.cpp
index 268f4f76ff6..332542b4978 100644
--- a/cpp/src/IceGrid/AdminSessionI.cpp
+++ b/cpp/src/IceGrid/AdminSessionI.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/src/IceGrid/AdminSessionI.h b/cpp/src/IceGrid/AdminSessionI.h
index e17a4a5179e..753ccfefb28 100644
--- a/cpp/src/IceGrid/AdminSessionI.h
+++ b/cpp/src/IceGrid/AdminSessionI.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/src/IceGrid/Allocatable.cpp b/cpp/src/IceGrid/Allocatable.cpp
index e078564d5a5..0bfce1ccc2b 100644
--- a/cpp/src/IceGrid/Allocatable.cpp
+++ b/cpp/src/IceGrid/Allocatable.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.
@@ -38,7 +38,14 @@ AllocationRequest::pending()
if(_timeout > 0)
{
- _session->getTimer()->schedule(this, IceUtil::Time::milliSeconds(_timeout));
+ try
+ {
+ _session->getTimer()->schedule(this, IceUtil::Time::milliSeconds(_timeout));
+ }
+ catch(const IceUtil::Exception&)
+ {
+ // Ignore, timer is destroyed because of shutdown
+ }
}
_state = Pending;
return true;
diff --git a/cpp/src/IceGrid/Allocatable.h b/cpp/src/IceGrid/Allocatable.h
index 722fe3d0659..b27f0fbe102 100644
--- a/cpp/src/IceGrid/Allocatable.h
+++ b/cpp/src/IceGrid/Allocatable.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/src/IceGrid/AllocatableObjectCache.cpp b/cpp/src/IceGrid/AllocatableObjectCache.cpp
index 1dd7e89389e..81cb88a7624 100644
--- a/cpp/src/IceGrid/AllocatableObjectCache.cpp
+++ b/cpp/src/IceGrid/AllocatableObjectCache.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/src/IceGrid/AllocatableObjectCache.h b/cpp/src/IceGrid/AllocatableObjectCache.h
index 61af95be153..8a0ab87a04f 100644
--- a/cpp/src/IceGrid/AllocatableObjectCache.h
+++ b/cpp/src/IceGrid/AllocatableObjectCache.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/src/IceGrid/Cache.h b/cpp/src/IceGrid/Cache.h
index 2ba5e4b11ec..c207f66f9e4 100644
--- a/cpp/src/IceGrid/Cache.h
+++ b/cpp/src/IceGrid/Cache.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/src/IceGrid/Client.cpp b/cpp/src/IceGrid/Client.cpp
index 05a91fc74c2..37b25ddb932 100644
--- a/cpp/src/IceGrid/Client.cpp
+++ b/cpp/src/IceGrid/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/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 5e5ff949aef..63f94039186 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.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.
@@ -395,7 +395,7 @@ Database::syncApplicationDescriptor(const ApplicationDescriptor& newDesc, AdminS
Lock sync(*this);
checkSessionLock(session);
- while(_updating.find(update.descriptor.name) != _updating.end())
+ while(_updating.find(newDesc.name) != _updating.end())
{
wait();
}
diff --git a/cpp/src/IceGrid/Database.h b/cpp/src/IceGrid/Database.h
index e9f1f962a4f..16077223312 100644
--- a/cpp/src/IceGrid/Database.h
+++ b/cpp/src/IceGrid/Database.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/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp
index 67438840742..1eaa9e793fd 100644
--- a/cpp/src/IceGrid/DescriptorBuilder.cpp
+++ b/cpp/src/IceGrid/DescriptorBuilder.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/src/IceGrid/DescriptorBuilder.h b/cpp/src/IceGrid/DescriptorBuilder.h
index f7c72393e39..d415b98d892 100644
--- a/cpp/src/IceGrid/DescriptorBuilder.h
+++ b/cpp/src/IceGrid/DescriptorBuilder.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/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index b9b81bb1736..5fb6b0f8f49 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.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/src/IceGrid/DescriptorHelper.h b/cpp/src/IceGrid/DescriptorHelper.h
index de662d5880c..d7e386c7362 100644
--- a/cpp/src/IceGrid/DescriptorHelper.h
+++ b/cpp/src/IceGrid/DescriptorHelper.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/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp
index e13e145d801..0ab928f94d6 100644
--- a/cpp/src/IceGrid/DescriptorParser.cpp
+++ b/cpp/src/IceGrid/DescriptorParser.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/src/IceGrid/DescriptorParser.h b/cpp/src/IceGrid/DescriptorParser.h
index 63e516affd6..bd87685cd7d 100644
--- a/cpp/src/IceGrid/DescriptorParser.h
+++ b/cpp/src/IceGrid/DescriptorParser.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/src/IceGrid/FileCache.cpp b/cpp/src/IceGrid/FileCache.cpp
index 50f7aa9ec7c..ba232fe0289 100644
--- a/cpp/src/IceGrid/FileCache.cpp
+++ b/cpp/src/IceGrid/FileCache.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/src/IceGrid/FileCache.h b/cpp/src/IceGrid/FileCache.h
index a03282dbdfb..d7806147fa7 100644
--- a/cpp/src/IceGrid/FileCache.h
+++ b/cpp/src/IceGrid/FileCache.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/src/IceGrid/FileParserI.cpp b/cpp/src/IceGrid/FileParserI.cpp
index aee0676b104..02471251897 100644
--- a/cpp/src/IceGrid/FileParserI.cpp
+++ b/cpp/src/IceGrid/FileParserI.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/src/IceGrid/FileParserI.h b/cpp/src/IceGrid/FileParserI.h
index 8840f93d444..9e89da9b4ab 100644
--- a/cpp/src/IceGrid/FileParserI.h
+++ b/cpp/src/IceGrid/FileParserI.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/src/IceGrid/FileUserAccountMapperI.cpp b/cpp/src/IceGrid/FileUserAccountMapperI.cpp
index d23ab8151e0..6fce0d6966f 100644
--- a/cpp/src/IceGrid/FileUserAccountMapperI.cpp
+++ b/cpp/src/IceGrid/FileUserAccountMapperI.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/src/IceGrid/FileUserAccountMapperI.h b/cpp/src/IceGrid/FileUserAccountMapperI.h
index ad00c23912f..bff66a3a665 100644
--- a/cpp/src/IceGrid/FileUserAccountMapperI.h
+++ b/cpp/src/IceGrid/FileUserAccountMapperI.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/src/IceGrid/Grammar.cpp b/cpp/src/IceGrid/Grammar.cpp
new file mode 100644
index 00000000000..16c562d9eb4
--- /dev/null
+++ b/cpp/src/IceGrid/Grammar.cpp
@@ -0,0 +1,3224 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_GRID_HELP = 258,
+ ICE_GRID_EXIT = 259,
+ ICE_GRID_APPLICATION = 260,
+ ICE_GRID_NODE = 261,
+ ICE_GRID_REGISTRY = 262,
+ ICE_GRID_SERVER = 263,
+ ICE_GRID_ADAPTER = 264,
+ ICE_GRID_PING = 265,
+ ICE_GRID_LOAD = 266,
+ ICE_GRID_ADD = 267,
+ ICE_GRID_REMOVE = 268,
+ ICE_GRID_LIST = 269,
+ ICE_GRID_SHUTDOWN = 270,
+ ICE_GRID_STRING = 271,
+ ICE_GRID_START = 272,
+ ICE_GRID_STOP = 273,
+ ICE_GRID_PATCH = 274,
+ ICE_GRID_SIGNAL = 275,
+ ICE_GRID_STDOUT = 276,
+ ICE_GRID_STDERR = 277,
+ ICE_GRID_DESCRIBE = 278,
+ ICE_GRID_PROPERTIES = 279,
+ ICE_GRID_PROPERTY = 280,
+ ICE_GRID_STATE = 281,
+ ICE_GRID_PID = 282,
+ ICE_GRID_ENDPOINTS = 283,
+ ICE_GRID_ACTIVATION = 284,
+ ICE_GRID_OBJECT = 285,
+ ICE_GRID_FIND = 286,
+ ICE_GRID_SHOW = 287,
+ ICE_GRID_COPYING = 288,
+ ICE_GRID_WARRANTY = 289,
+ ICE_GRID_DIFF = 290,
+ ICE_GRID_UPDATE = 291,
+ ICE_GRID_INSTANTIATE = 292,
+ ICE_GRID_TEMPLATE = 293,
+ ICE_GRID_SERVICE = 294,
+ ICE_GRID_ENABLE = 295,
+ ICE_GRID_DISABLE = 296
+ };
+#endif
+#define ICE_GRID_HELP 258
+#define ICE_GRID_EXIT 259
+#define ICE_GRID_APPLICATION 260
+#define ICE_GRID_NODE 261
+#define ICE_GRID_REGISTRY 262
+#define ICE_GRID_SERVER 263
+#define ICE_GRID_ADAPTER 264
+#define ICE_GRID_PING 265
+#define ICE_GRID_LOAD 266
+#define ICE_GRID_ADD 267
+#define ICE_GRID_REMOVE 268
+#define ICE_GRID_LIST 269
+#define ICE_GRID_SHUTDOWN 270
+#define ICE_GRID_STRING 271
+#define ICE_GRID_START 272
+#define ICE_GRID_STOP 273
+#define ICE_GRID_PATCH 274
+#define ICE_GRID_SIGNAL 275
+#define ICE_GRID_STDOUT 276
+#define ICE_GRID_STDERR 277
+#define ICE_GRID_DESCRIBE 278
+#define ICE_GRID_PROPERTIES 279
+#define ICE_GRID_PROPERTY 280
+#define ICE_GRID_STATE 281
+#define ICE_GRID_PID 282
+#define ICE_GRID_ENDPOINTS 283
+#define ICE_GRID_ACTIVATION 284
+#define ICE_GRID_OBJECT 285
+#define ICE_GRID_FIND 286
+#define ICE_GRID_SHOW 287
+#define ICE_GRID_COPYING 288
+#define ICE_GRID_WARRANTY 289
+#define ICE_GRID_DIFF 290
+#define ICE_GRID_UPDATE 291
+#define ICE_GRID_INSTANTIATE 292
+#define ICE_GRID_TEMPLATE 293
+#define ICE_GRID_SERVICE 294
+#define ICE_GRID_ENABLE 295
+#define ICE_GRID_DISABLE 296
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <IceGrid/Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace Ice;
+using namespace IceGrid;
+
+void
+yyerror(const char* s)
+{
+ parser->invalidCommand(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 203 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 4
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 2510
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 43
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 7
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 169
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 361
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 296
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 42,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned short yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 10, 13, 14, 17, 20,
+ 25, 30, 35, 40, 45, 50, 55, 60, 65, 70,
+ 75, 80, 85, 90, 96, 102, 108, 114, 119, 125,
+ 131, 136, 141, 146, 151, 156, 161, 166, 171, 176,
+ 181, 186, 191, 196, 201, 206, 211, 216, 221, 226,
+ 231, 236, 241, 246, 251, 256, 261, 266, 271, 276,
+ 281, 286, 291, 296, 301, 306, 311, 316, 321, 326,
+ 331, 336, 341, 346, 351, 356, 361, 366, 371, 376,
+ 381, 386, 391, 396, 401, 406, 411, 416, 421, 426,
+ 431, 436, 441, 446, 451, 456, 461, 466, 471, 476,
+ 481, 486, 491, 496, 501, 506, 511, 516, 521, 526,
+ 531, 536, 541, 546, 550, 554, 558, 563, 569, 575,
+ 582, 587, 591, 595, 600, 604, 608, 611, 613, 616,
+ 619, 623, 627, 628, 630, 632, 634, 636, 638, 640,
+ 642, 644, 646, 648, 650, 652, 654, 656, 658, 660,
+ 662, 664, 666, 668, 670, 672, 674, 676, 678, 680,
+ 682, 684, 686, 688, 690, 692, 694, 696, 698, 700
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 44, 0, -1, 45, -1, -1, 45, 46, 47, -1,
+ 46, 47, -1, -1, 3, 42, -1, 4, 42, -1,
+ 5, 12, 48, 42, -1, 5, 12, 3, 42, -1,
+ 5, 13, 48, 42, -1, 5, 13, 3, 42, -1,
+ 5, 35, 48, 42, -1, 5, 35, 3, 42, -1,
+ 5, 36, 48, 42, -1, 5, 36, 3, 42, -1,
+ 5, 23, 48, 42, -1, 5, 23, 3, 42, -1,
+ 5, 19, 48, 42, -1, 5, 19, 3, 42, -1,
+ 5, 14, 48, 42, -1, 5, 14, 3, 42, -1,
+ 8, 38, 23, 48, 42, -1, 8, 38, 23, 3,
+ 42, -1, 8, 38, 37, 48, 42, -1, 8, 38,
+ 37, 3, 42, -1, 8, 38, 3, 42, -1, 39,
+ 38, 23, 48, 42, -1, 39, 38, 23, 3, 42,
+ -1, 39, 38, 3, 42, -1, 6, 23, 48, 42,
+ -1, 6, 23, 3, 42, -1, 6, 10, 48, 42,
+ -1, 6, 10, 3, 42, -1, 6, 11, 48, 42,
+ -1, 6, 11, 3, 42, -1, 6, 15, 48, 42,
+ -1, 6, 15, 3, 42, -1, 6, 14, 48, 42,
+ -1, 6, 14, 3, 42, -1, 6, 32, 48, 42,
+ -1, 6, 32, 3, 42, -1, 7, 23, 48, 42,
+ -1, 7, 23, 3, 42, -1, 7, 10, 48, 42,
+ -1, 7, 10, 3, 42, -1, 7, 15, 48, 42,
+ -1, 7, 15, 3, 42, -1, 7, 14, 48, 42,
+ -1, 7, 14, 3, 42, -1, 7, 32, 48, 42,
+ -1, 7, 32, 3, 42, -1, 8, 13, 48, 42,
+ -1, 8, 13, 3, 42, -1, 8, 23, 48, 42,
+ -1, 8, 23, 3, 42, -1, 8, 17, 48, 42,
+ -1, 8, 17, 3, 42, -1, 8, 18, 48, 42,
+ -1, 8, 18, 3, 42, -1, 8, 19, 48, 42,
+ -1, 8, 19, 3, 42, -1, 8, 20, 48, 42,
+ -1, 8, 20, 3, 42, -1, 8, 21, 48, 42,
+ -1, 8, 21, 3, 42, -1, 8, 22, 48, 42,
+ -1, 8, 22, 3, 42, -1, 8, 26, 48, 42,
+ -1, 8, 26, 3, 42, -1, 8, 27, 48, 42,
+ -1, 8, 27, 3, 42, -1, 8, 24, 48, 42,
+ -1, 8, 24, 3, 42, -1, 8, 25, 48, 42,
+ -1, 8, 25, 3, 42, -1, 8, 40, 48, 42,
+ -1, 8, 40, 3, 42, -1, 8, 41, 48, 42,
+ -1, 8, 41, 3, 42, -1, 8, 14, 48, 42,
+ -1, 8, 14, 3, 42, -1, 8, 32, 48, 42,
+ -1, 8, 32, 3, 42, -1, 39, 17, 48, 42,
+ -1, 39, 17, 3, 42, -1, 39, 18, 48, 42,
+ -1, 39, 18, 3, 42, -1, 39, 23, 48, 42,
+ -1, 39, 23, 3, 42, -1, 39, 24, 48, 42,
+ -1, 39, 24, 3, 42, -1, 39, 25, 48, 42,
+ -1, 39, 25, 3, 42, -1, 39, 14, 48, 42,
+ -1, 39, 14, 3, 42, -1, 9, 28, 48, 42,
+ -1, 9, 28, 3, 42, -1, 9, 13, 48, 42,
+ -1, 9, 13, 3, 42, -1, 9, 14, 48, 42,
+ -1, 9, 14, 3, 42, -1, 30, 12, 48, 42,
+ -1, 30, 12, 3, 42, -1, 30, 13, 48, 42,
+ -1, 30, 13, 3, 42, -1, 30, 31, 48, 42,
+ -1, 30, 31, 3, 42, -1, 30, 14, 48, 42,
+ -1, 30, 14, 3, 42, -1, 30, 23, 48, 42,
+ -1, 30, 23, 3, 42, -1, 32, 33, 42, -1,
+ 32, 34, 42, -1, 3, 49, 42, -1, 3, 49,
+ 49, 42, -1, 3, 49, 16, 48, 42, -1, 3,
+ 49, 49, 49, 42, -1, 3, 49, 49, 16, 48,
+ 42, -1, 3, 16, 48, 42, -1, 3, 1, 42,
+ -1, 49, 3, 42, -1, 49, 16, 1, 42, -1,
+ 49, 1, 42, -1, 16, 1, 42, -1, 1, 42,
+ -1, 42, -1, 16, 48, -1, 49, 48, -1, 16,
+ 3, 48, -1, 49, 3, 48, -1, -1, 4, -1,
+ 5, -1, 6, -1, 7, -1, 8, -1, 9, -1,
+ 10, -1, 11, -1, 12, -1, 13, -1, 14, -1,
+ 15, -1, 17, -1, 18, -1, 19, -1, 20, -1,
+ 23, -1, 26, -1, 27, -1, 24, -1, 25, -1,
+ 28, -1, 29, -1, 30, -1, 31, -1, 32, -1,
+ 33, -1, 34, -1, 35, -1, 36, -1, 37, -1,
+ 38, -1, 39, -1, 40, -1, 41, -1, 22, -1,
+ 21, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short yyrline[] =
+{
+ 0, 87, 87, 91, 98, 101, 108, 116, 120, 124,
+ 128, 132, 136, 140, 144, 148, 152, 156, 160, 164,
+ 168, 172, 176, 180, 184, 188, 192, 196, 200, 204,
+ 208, 212, 216, 220, 224, 228, 232, 236, 240, 244,
+ 248, 252, 256, 260, 264, 268, 272, 276, 280, 284,
+ 288, 292, 296, 300, 304, 308, 312, 316, 320, 324,
+ 328, 332, 336, 340, 344, 348, 352, 356, 360, 364,
+ 368, 372, 376, 380, 384, 388, 392, 396, 400, 404,
+ 408, 412, 416, 420, 424, 428, 432, 436, 440, 444,
+ 448, 452, 456, 460, 464, 468, 472, 476, 480, 484,
+ 488, 492, 496, 500, 504, 508, 512, 516, 520, 524,
+ 528, 532, 536, 540, 544, 548, 552, 563, 567, 578,
+ 589, 593, 597, 601, 607, 612, 617, 621, 630, 635,
+ 640, 646, 653, 661, 664, 667, 670, 673, 676, 679,
+ 682, 685, 688, 691, 694, 697, 700, 703, 706, 709,
+ 712, 715, 718, 721, 724, 727, 730, 733, 736, 739,
+ 742, 745, 748, 751, 754, 757, 760, 763, 766, 769
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "ICE_GRID_HELP", "ICE_GRID_EXIT",
+ "ICE_GRID_APPLICATION", "ICE_GRID_NODE", "ICE_GRID_REGISTRY",
+ "ICE_GRID_SERVER", "ICE_GRID_ADAPTER", "ICE_GRID_PING", "ICE_GRID_LOAD",
+ "ICE_GRID_ADD", "ICE_GRID_REMOVE", "ICE_GRID_LIST", "ICE_GRID_SHUTDOWN",
+ "ICE_GRID_STRING", "ICE_GRID_START", "ICE_GRID_STOP", "ICE_GRID_PATCH",
+ "ICE_GRID_SIGNAL", "ICE_GRID_STDOUT", "ICE_GRID_STDERR",
+ "ICE_GRID_DESCRIBE", "ICE_GRID_PROPERTIES", "ICE_GRID_PROPERTY",
+ "ICE_GRID_STATE", "ICE_GRID_PID", "ICE_GRID_ENDPOINTS",
+ "ICE_GRID_ACTIVATION", "ICE_GRID_OBJECT", "ICE_GRID_FIND",
+ "ICE_GRID_SHOW", "ICE_GRID_COPYING", "ICE_GRID_WARRANTY",
+ "ICE_GRID_DIFF", "ICE_GRID_UPDATE", "ICE_GRID_INSTANTIATE",
+ "ICE_GRID_TEMPLATE", "ICE_GRID_SERVICE", "ICE_GRID_ENABLE",
+ "ICE_GRID_DISABLE", "';'", "$accept", "start", "commands",
+ "checkInterrupted", "command", "strings", "keyword", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 59
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 43, 44, 44, 45, 45, 46, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 47, 47, 47, 47, 47, 48, 48,
+ 48, 48, 48, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 0, 3, 2, 0, 2, 2, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 5, 5, 5, 5, 4, 5, 5,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 3, 3, 3, 4, 5, 5, 6,
+ 4, 3, 3, 4, 3, 3, 2, 1, 2, 2,
+ 3, 3, 0, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 6, 0, 6, 0, 1, 0, 0, 0, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 0, 145, 146, 147, 148, 169, 168, 149, 152, 153,
+ 150, 151, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 127, 5, 0, 4,
+ 126, 0, 133, 134, 135, 136, 137, 138, 132, 156,
+ 158, 165, 7, 0, 8, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 0, 132, 132,
+ 132, 132, 132, 0, 132, 132, 132, 132, 132, 0,
+ 0, 132, 132, 132, 132, 132, 132, 0, 0, 0,
+ 0, 121, 132, 0, 132, 132, 115, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 132, 132, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 125, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 113, 114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 132, 124, 122, 0, 132, 128, 120, 132, 129,
+ 0, 132, 116, 0, 10, 9, 12, 11, 22, 21,
+ 20, 19, 18, 17, 14, 13, 16, 15, 34, 33,
+ 36, 35, 40, 39, 38, 37, 32, 31, 42, 41,
+ 46, 45, 50, 49, 48, 47, 44, 43, 52, 51,
+ 54, 53, 82, 81, 58, 57, 60, 59, 62, 61,
+ 64, 63, 66, 65, 68, 67, 56, 55, 74, 73,
+ 76, 75, 70, 69, 72, 71, 84, 83, 27, 0,
+ 0, 0, 0, 78, 77, 80, 79, 100, 99, 102,
+ 101, 98, 97, 104, 103, 106, 105, 110, 109, 112,
+ 111, 108, 107, 96, 95, 86, 85, 88, 87, 90,
+ 89, 92, 91, 94, 93, 30, 0, 0, 123, 130,
+ 131, 117, 0, 118, 24, 23, 26, 25, 29, 28,
+ 119
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 1, 2, 3, 47, 123, 124
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -66
+static const short yypact[] =
+{
+ 38, 53, 55, 60, -66, 60, 20, 176, 62, 96,
+ 140, 142, 121, 98, -66, -66, -66, -66, -66, -66,
+ 112, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, 93, -66, 11, -66, -66, -66,
+ -66, -66, -66, 2388, -66, -66, -66, -66, 117, -66,
+ -66, 75, -66, -66, -66, -66, -66, -66, 2360, -66,
+ -66, -66, -66, 215, -66, 255, 294, 333, 372, 411,
+ 450, 489, 528, 567, 606, 645, 684, 723, 762, 801,
+ 840, 879, 918, 957, 996, 1035, 1074, 1113, 1152, 1191,
+ 1230, 1269, 1308, 1347, 1386, 1425, 1464, 100, 1503, 1542,
+ 1581, 1620, 1659, 79, 1698, 1737, 1776, 1815, 1854, 80,
+ 83, 1893, 1932, 1971, 2010, 2049, 2088, 29, 85, 88,
+ 135, -66, 2127, 107, 2166, 2360, -66, 2204, 116, 118,
+ 122, 125, 126, 127, 129, 133, 137, 2361, 2362, 2365,
+ 2366, 2367, 2368, 2372, 2373, 2374, 2375, 2376, 2377, 2378,
+ 2379, 2380, 2381, 2382, 2383, 2385, 2386, 2387, 2389, 2390,
+ 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400,
+ 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410,
+ 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420,
+ 2421, 2422, 2423, 2244, 2283, 2424, 2425, 2426, 2427, 2428,
+ 2429, 2430, 2431, 2432, 2433, -66, 2434, 2435, 2436, 2437,
+ 2438, 2439, 2440, 2441, 2442, 2443, -66, -66, 2444, 2445,
+ 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455,
+ 2456, 2322, -66, -66, 2457, 2360, -66, -66, 2360, -66,
+ 2458, 2360, -66, 2459, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, 2460,
+ 2461, 2462, 2463, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
+ -66, -66, -66, -66, -66, -66, 2464, 2465, -66, -66,
+ -66, -66, 2466, -66, -66, -66, -66, -66, -66, -66,
+ -66
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const short yypgoto[] =
+{
+ -66, -66, -66, 2507, 2505, -65, 51
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
+static const short yytable[] =
+{
+ 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
+ 149, 151, 153, 155, 157, 159, 161, 163, 165, 167,
+ 169, 171, 173, 175, 177, 179, 181, 183, 185, 187,
+ 189, 191, 230, 196, 198, 200, 202, 204, -3, 207,
+ 209, 211, 213, 215, 109, 110, 219, 221, 223, 225,
+ 227, 229, 231, 4, 48, -2, 48, 236, 63, 239,
+ 240, 6, 50, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 192, 64, 104, 105, 106, 65, 66,
+ 67, 100, 101, 103, 127, 68, 107, 121, 118, 69,
+ 119, 205, 216, 193, 108, 217, 102, 232, 310, 312,
+ 233, 70, 71, 120, 83, 84, 234, 194, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 237,
+ 72, 73, 78, 96, 74, 75, 79, 80, 244, 97,
+ 245, 98, 99, 76, 246, 81, 347, 247, 248, 249,
+ 349, 250, 77, 350, 82, 251, 352, 51, 243, 252,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 58, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 62, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 125, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 126, 128, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 122, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 130, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 132, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 134, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 136, 52, 53, 54, 55, 56,
+ 57, 14, 15, 16, 17, 18, 19, 122, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 59, 35, 60, 37, 38, 39, 40, 41, 42,
+ 61, 44, 45, 138, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 140, 52, 53, 54, 55, 56, 57, 14,
+ 15, 16, 17, 18, 19, 122, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 59,
+ 35, 60, 37, 38, 39, 40, 41, 42, 61, 44,
+ 45, 142, 52, 53, 54, 55, 56, 57, 14, 15,
+ 16, 17, 18, 19, 122, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 59, 35,
+ 60, 37, 38, 39, 40, 41, 42, 61, 44, 45,
+ 144, 52, 53, 54, 55, 56, 57, 14, 15, 16,
+ 17, 18, 19, 122, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 59, 35, 60,
+ 37, 38, 39, 40, 41, 42, 61, 44, 45, 146,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 122, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 148, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 122, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 150, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 152, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 154, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 156, 52, 53, 54, 55, 56,
+ 57, 14, 15, 16, 17, 18, 19, 122, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 59, 35, 60, 37, 38, 39, 40, 41, 42,
+ 61, 44, 45, 158, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 160, 52, 53, 54, 55, 56, 57, 14,
+ 15, 16, 17, 18, 19, 122, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 59,
+ 35, 60, 37, 38, 39, 40, 41, 42, 61, 44,
+ 45, 162, 52, 53, 54, 55, 56, 57, 14, 15,
+ 16, 17, 18, 19, 122, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 59, 35,
+ 60, 37, 38, 39, 40, 41, 42, 61, 44, 45,
+ 164, 52, 53, 54, 55, 56, 57, 14, 15, 16,
+ 17, 18, 19, 122, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 59, 35, 60,
+ 37, 38, 39, 40, 41, 42, 61, 44, 45, 166,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 122, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 168, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 122, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 170, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 172, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 174, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 176, 52, 53, 54, 55, 56,
+ 57, 14, 15, 16, 17, 18, 19, 122, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 59, 35, 60, 37, 38, 39, 40, 41, 42,
+ 61, 44, 45, 178, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 180, 52, 53, 54, 55, 56, 57, 14,
+ 15, 16, 17, 18, 19, 122, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 59,
+ 35, 60, 37, 38, 39, 40, 41, 42, 61, 44,
+ 45, 182, 52, 53, 54, 55, 56, 57, 14, 15,
+ 16, 17, 18, 19, 122, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 59, 35,
+ 60, 37, 38, 39, 40, 41, 42, 61, 44, 45,
+ 184, 52, 53, 54, 55, 56, 57, 14, 15, 16,
+ 17, 18, 19, 122, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 59, 35, 60,
+ 37, 38, 39, 40, 41, 42, 61, 44, 45, 186,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 122, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 188, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 122, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 190, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 195, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 197, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 199, 52, 53, 54, 55, 56,
+ 57, 14, 15, 16, 17, 18, 19, 122, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 59, 35, 60, 37, 38, 39, 40, 41, 42,
+ 61, 44, 45, 201, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 203, 52, 53, 54, 55, 56, 57, 14,
+ 15, 16, 17, 18, 19, 122, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 59,
+ 35, 60, 37, 38, 39, 40, 41, 42, 61, 44,
+ 45, 206, 52, 53, 54, 55, 56, 57, 14, 15,
+ 16, 17, 18, 19, 122, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 59, 35,
+ 60, 37, 38, 39, 40, 41, 42, 61, 44, 45,
+ 208, 52, 53, 54, 55, 56, 57, 14, 15, 16,
+ 17, 18, 19, 122, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 59, 35, 60,
+ 37, 38, 39, 40, 41, 42, 61, 44, 45, 210,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 122, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 212, 52,
+ 53, 54, 55, 56, 57, 14, 15, 16, 17, 18,
+ 19, 122, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 59, 35, 60, 37, 38,
+ 39, 40, 41, 42, 61, 44, 45, 214, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 218, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 220, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 222, 52, 53, 54, 55, 56,
+ 57, 14, 15, 16, 17, 18, 19, 122, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 59, 35, 60, 37, 38, 39, 40, 41, 42,
+ 61, 44, 45, 224, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 226, 52, 53, 54, 55, 56, 57, 14,
+ 15, 16, 17, 18, 19, 122, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 59,
+ 35, 60, 37, 38, 39, 40, 41, 42, 61, 44,
+ 45, 228, 52, 53, 54, 55, 56, 57, 14, 15,
+ 16, 17, 18, 19, 122, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 59, 35,
+ 60, 37, 38, 39, 40, 41, 42, 61, 44, 45,
+ 235, 52, 53, 54, 55, 56, 57, 14, 15, 16,
+ 17, 18, 19, 122, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 59, 35, 60,
+ 37, 38, 39, 40, 41, 42, 61, 44, 45, 238,
+ 52, 53, 54, 55, 56, 57, 14, 15, 16, 17,
+ 18, 19, 122, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 59, 35, 60, 37,
+ 38, 39, 40, 41, 42, 61, 44, 45, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 241, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 242, 309, 52, 53,
+ 54, 55, 56, 57, 14, 15, 16, 17, 18, 19,
+ 122, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 59, 35, 60, 37, 38, 39,
+ 40, 41, 42, 61, 44, 45, 311, 52, 53, 54,
+ 55, 56, 57, 14, 15, 16, 17, 18, 19, 122,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 59, 35, 60, 37, 38, 39, 40,
+ 41, 42, 61, 44, 45, 346, 52, 53, 54, 55,
+ 56, 57, 14, 15, 16, 17, 18, 19, 122, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 59, 35, 60, 37, 38, 39, 40, 41,
+ 42, 61, 44, 45, 52, 53, 54, 55, 56, 57,
+ 14, 15, 16, 17, 18, 19, 122, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 59, 35, 60, 37, 38, 39, 40, 41, 42, 61,
+ 44, 45, 111, 253, 254, 112, 113, 255, 256, 257,
+ 258, 114, 115, 116, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 117, 271, 272, 273,
+ 0, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 313, 314, 315, 316,
+ 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 344, 345, 348,
+ 351, 353, 354, 355, 356, 357, 358, 359, 360, 5,
+ 49
+};
+
+static const short yycheck[] =
+{
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 3, 98, 99, 100, 101, 102, 0, 104,
+ 105, 106, 107, 108, 33, 34, 111, 112, 113, 114,
+ 115, 116, 23, 0, 3, 0, 5, 122, 7, 124,
+ 125, 1, 42, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 3, 42, 12, 13, 14, 12, 13,
+ 14, 13, 14, 1, 63, 19, 23, 42, 1, 23,
+ 3, 42, 42, 23, 31, 42, 28, 42, 193, 194,
+ 42, 35, 36, 16, 13, 14, 1, 37, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 42,
+ 10, 11, 10, 32, 14, 15, 14, 15, 42, 38,
+ 42, 40, 41, 23, 42, 23, 231, 42, 42, 42,
+ 235, 42, 32, 238, 32, 42, 241, 1, 127, 42,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 14, 42, 42, 17, 18, 42, 42, 42,
+ 42, 23, 24, 25, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 38, 42, 42, 42,
+ -1, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 2,
+ 5
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 44, 45, 46, 0, 46, 1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 47, 49, 47,
+ 42, 1, 4, 5, 6, 7, 8, 9, 16, 30,
+ 32, 39, 42, 49, 42, 12, 13, 14, 19, 23,
+ 35, 36, 10, 11, 14, 15, 23, 32, 10, 14,
+ 15, 23, 32, 13, 14, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 32, 38, 40, 41,
+ 13, 14, 28, 1, 12, 13, 14, 23, 31, 33,
+ 34, 14, 17, 18, 23, 24, 25, 38, 1, 3,
+ 16, 42, 16, 48, 49, 16, 42, 49, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 48, 3, 23, 37, 3, 48, 3, 48, 3,
+ 48, 3, 48, 3, 48, 42, 3, 48, 3, 48,
+ 3, 48, 3, 48, 3, 48, 42, 42, 3, 48,
+ 3, 48, 3, 48, 3, 48, 3, 48, 3, 48,
+ 3, 23, 42, 42, 1, 3, 48, 42, 3, 48,
+ 48, 16, 42, 49, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 3,
+ 48, 3, 48, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 3, 48, 42, 48,
+ 48, 42, 48, 42, 42, 42, 42, 42, 42, 42,
+ 42
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 88 "Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 91 "Grammar.y"
+ {
+;}
+ break;
+
+ case 4:
+#line 99 "Grammar.y"
+ {
+;}
+ break;
+
+ case 5:
+#line 102 "Grammar.y"
+ {
+;}
+ break;
+
+ case 6:
+#line 108 "Grammar.y"
+ {
+ parser->checkInterrupted();
+;}
+ break;
+
+ case 7:
+#line 117 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 8:
+#line 121 "Grammar.y"
+ {
+ return 0;
+;}
+ break;
+
+ case 9:
+#line 125 "Grammar.y"
+ {
+ parser->addApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 10:
+#line 129 "Grammar.y"
+ {
+ parser->usage("application", "add");
+;}
+ break;
+
+ case 11:
+#line 133 "Grammar.y"
+ {
+ parser->removeApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 12:
+#line 137 "Grammar.y"
+ {
+ parser->usage("application", "remove");
+;}
+ break;
+
+ case 13:
+#line 141 "Grammar.y"
+ {
+ parser->diffApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 14:
+#line 145 "Grammar.y"
+ {
+ parser->usage("application", "diff");
+;}
+ break;
+
+ case 15:
+#line 149 "Grammar.y"
+ {
+ parser->updateApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 16:
+#line 153 "Grammar.y"
+ {
+ parser->usage("application", "update");
+;}
+ break;
+
+ case 17:
+#line 157 "Grammar.y"
+ {
+ parser->describeApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 18:
+#line 161 "Grammar.y"
+ {
+ parser->usage("application", "describe");
+;}
+ break;
+
+ case 19:
+#line 165 "Grammar.y"
+ {
+ parser->patchApplication(yyvsp[-1]);
+;}
+ break;
+
+ case 20:
+#line 169 "Grammar.y"
+ {
+ parser->usage("application", "patch");
+;}
+ break;
+
+ case 21:
+#line 173 "Grammar.y"
+ {
+ parser->listAllApplications(yyvsp[-1]);
+;}
+ break;
+
+ case 22:
+#line 177 "Grammar.y"
+ {
+ parser->usage("application", "list");
+;}
+ break;
+
+ case 23:
+#line 181 "Grammar.y"
+ {
+ parser->describeServerTemplate(yyvsp[-1]);
+;}
+ break;
+
+ case 24:
+#line 185 "Grammar.y"
+ {
+ parser->usage("server template", "describe");
+;}
+ break;
+
+ case 25:
+#line 189 "Grammar.y"
+ {
+ parser->instantiateServerTemplate(yyvsp[-1]);
+;}
+ break;
+
+ case 26:
+#line 193 "Grammar.y"
+ {
+ parser->usage("server template", "instantiate");
+;}
+ break;
+
+ case 27:
+#line 197 "Grammar.y"
+ {
+ parser->usage("server template");
+;}
+ break;
+
+ case 28:
+#line 201 "Grammar.y"
+ {
+ parser->describeServiceTemplate(yyvsp[-1]);
+;}
+ break;
+
+ case 29:
+#line 205 "Grammar.y"
+ {
+ parser->usage("service template", "describe");
+;}
+ break;
+
+ case 30:
+#line 209 "Grammar.y"
+ {
+ parser->usage("service template");
+;}
+ break;
+
+ case 31:
+#line 213 "Grammar.y"
+ {
+ parser->describeNode(yyvsp[-1]);
+;}
+ break;
+
+ case 32:
+#line 217 "Grammar.y"
+ {
+ parser->usage("node", "describe");
+;}
+ break;
+
+ case 33:
+#line 221 "Grammar.y"
+ {
+ parser->pingNode(yyvsp[-1]);
+;}
+ break;
+
+ case 34:
+#line 225 "Grammar.y"
+ {
+ parser->usage("node", "ping");
+;}
+ break;
+
+ case 35:
+#line 229 "Grammar.y"
+ {
+ parser->printLoadNode(yyvsp[-1]);
+;}
+ break;
+
+ case 36:
+#line 233 "Grammar.y"
+ {
+ parser->usage("node", "lost");
+;}
+ break;
+
+ case 37:
+#line 237 "Grammar.y"
+ {
+ parser->shutdownNode(yyvsp[-1]);
+;}
+ break;
+
+ case 38:
+#line 241 "Grammar.y"
+ {
+ parser->usage("node", "shutdown");
+;}
+ break;
+
+ case 39:
+#line 245 "Grammar.y"
+ {
+ parser->listAllNodes(yyvsp[-1]);
+;}
+ break;
+
+ case 40:
+#line 249 "Grammar.y"
+ {
+ parser->usage("node", "list");
+;}
+ break;
+
+ case 41:
+#line 253 "Grammar.y"
+ {
+ parser->showFile("node", yyvsp[-1]);
+;}
+ break;
+
+ case 42:
+#line 257 "Grammar.y"
+ {
+ parser->usage("node", "show");
+;}
+ break;
+
+ case 43:
+#line 261 "Grammar.y"
+ {
+ parser->describeRegistry(yyvsp[-1]);
+;}
+ break;
+
+ case 44:
+#line 265 "Grammar.y"
+ {
+ parser->usage("registry", "describe");
+;}
+ break;
+
+ case 45:
+#line 269 "Grammar.y"
+ {
+ parser->pingRegistry(yyvsp[-1]);
+;}
+ break;
+
+ case 46:
+#line 273 "Grammar.y"
+ {
+ parser->usage("registry", "ping");
+;}
+ break;
+
+ case 47:
+#line 277 "Grammar.y"
+ {
+ parser->shutdownRegistry(yyvsp[-1]);
+;}
+ break;
+
+ case 48:
+#line 281 "Grammar.y"
+ {
+ parser->usage("registry", "shutdown");
+;}
+ break;
+
+ case 49:
+#line 285 "Grammar.y"
+ {
+ parser->listAllRegistries(yyvsp[-1]);
+;}
+ break;
+
+ case 50:
+#line 289 "Grammar.y"
+ {
+ parser->usage("registry", "list");
+;}
+ break;
+
+ case 51:
+#line 293 "Grammar.y"
+ {
+ parser->showFile("registry", yyvsp[-1]);
+;}
+ break;
+
+ case 52:
+#line 297 "Grammar.y"
+ {
+ parser->usage("registry", "show");
+;}
+ break;
+
+ case 53:
+#line 301 "Grammar.y"
+ {
+ parser->removeServer(yyvsp[-1]);
+;}
+ break;
+
+ case 54:
+#line 305 "Grammar.y"
+ {
+ parser->usage("server", "remove");
+;}
+ break;
+
+ case 55:
+#line 309 "Grammar.y"
+ {
+ parser->describeServer(yyvsp[-1]);
+;}
+ break;
+
+ case 56:
+#line 313 "Grammar.y"
+ {
+ parser->usage("server", "describe");
+;}
+ break;
+
+ case 57:
+#line 317 "Grammar.y"
+ {
+ parser->startServer(yyvsp[-1]);
+;}
+ break;
+
+ case 58:
+#line 321 "Grammar.y"
+ {
+ parser->usage("server", "start");
+;}
+ break;
+
+ case 59:
+#line 325 "Grammar.y"
+ {
+ parser->stopServer(yyvsp[-1]);
+;}
+ break;
+
+ case 60:
+#line 329 "Grammar.y"
+ {
+ parser->usage("server", "stop");
+;}
+ break;
+
+ case 61:
+#line 333 "Grammar.y"
+ {
+ parser->patchServer(yyvsp[-1]);
+;}
+ break;
+
+ case 62:
+#line 337 "Grammar.y"
+ {
+ parser->usage("server", "patch");
+;}
+ break;
+
+ case 63:
+#line 341 "Grammar.y"
+ {
+ parser->signalServer(yyvsp[-1]);
+;}
+ break;
+
+ case 64:
+#line 345 "Grammar.y"
+ {
+ parser->usage("server", "signal");
+;}
+ break;
+
+ case 65:
+#line 349 "Grammar.y"
+ {
+ parser->writeMessage(yyvsp[-1], 1);
+;}
+ break;
+
+ case 66:
+#line 353 "Grammar.y"
+ {
+ parser->usage("server", "stdout");
+;}
+ break;
+
+ case 67:
+#line 357 "Grammar.y"
+ {
+ parser->writeMessage(yyvsp[-1], 2);
+;}
+ break;
+
+ case 68:
+#line 361 "Grammar.y"
+ {
+ parser->usage("server", "stderr");
+;}
+ break;
+
+ case 69:
+#line 365 "Grammar.y"
+ {
+ parser->stateServer(yyvsp[-1]);
+;}
+ break;
+
+ case 70:
+#line 369 "Grammar.y"
+ {
+ parser->usage("server", "start");
+;}
+ break;
+
+ case 71:
+#line 373 "Grammar.y"
+ {
+ parser->pidServer(yyvsp[-1]);
+;}
+ break;
+
+ case 72:
+#line 377 "Grammar.y"
+ {
+ parser->usage("server", "pid");
+;}
+ break;
+
+ case 73:
+#line 381 "Grammar.y"
+ {
+ parser->propertiesServer(yyvsp[-1], false);
+;}
+ break;
+
+ case 74:
+#line 385 "Grammar.y"
+ {
+ parser->usage("server", "properties");
+;}
+ break;
+
+ case 75:
+#line 389 "Grammar.y"
+ {
+ parser->propertiesServer(yyvsp[-1], true);
+;}
+ break;
+
+ case 76:
+#line 393 "Grammar.y"
+ {
+ parser->usage("server", "property");
+;}
+ break;
+
+ case 77:
+#line 397 "Grammar.y"
+ {
+ parser->enableServer(yyvsp[-1], true);
+;}
+ break;
+
+ case 78:
+#line 401 "Grammar.y"
+ {
+ parser->usage("server", "enable");
+;}
+ break;
+
+ case 79:
+#line 405 "Grammar.y"
+ {
+ parser->enableServer(yyvsp[-1], false);
+;}
+ break;
+
+ case 80:
+#line 409 "Grammar.y"
+ {
+ parser->usage("server", "disable");
+;}
+ break;
+
+ case 81:
+#line 413 "Grammar.y"
+ {
+ parser->listAllServers(yyvsp[-1]);
+;}
+ break;
+
+ case 82:
+#line 417 "Grammar.y"
+ {
+ parser->usage("server", "list");
+;}
+ break;
+
+ case 83:
+#line 421 "Grammar.y"
+ {
+ parser->showFile("server", yyvsp[-1]);
+;}
+ break;
+
+ case 84:
+#line 425 "Grammar.y"
+ {
+ parser->usage("server", "show");
+;}
+ break;
+
+ case 85:
+#line 429 "Grammar.y"
+ {
+ parser->startService(yyvsp[-1]);
+;}
+ break;
+
+ case 86:
+#line 433 "Grammar.y"
+ {
+ parser->usage("service", "start");
+;}
+ break;
+
+ case 87:
+#line 437 "Grammar.y"
+ {
+ parser->stopService(yyvsp[-1]);
+;}
+ break;
+
+ case 88:
+#line 441 "Grammar.y"
+ {
+ parser->usage("service", "stop");
+;}
+ break;
+
+ case 89:
+#line 445 "Grammar.y"
+ {
+ parser->describeService(yyvsp[-1]);
+;}
+ break;
+
+ case 90:
+#line 449 "Grammar.y"
+ {
+ parser->usage("service", "describe");
+;}
+ break;
+
+ case 91:
+#line 453 "Grammar.y"
+ {
+ parser->propertiesService(yyvsp[-1], false);
+;}
+ break;
+
+ case 92:
+#line 457 "Grammar.y"
+ {
+ parser->usage("service", "properties");
+;}
+ break;
+
+ case 93:
+#line 461 "Grammar.y"
+ {
+ parser->propertiesService(yyvsp[-1], true);
+;}
+ break;
+
+ case 94:
+#line 465 "Grammar.y"
+ {
+ parser->usage("service", "property");
+;}
+ break;
+
+ case 95:
+#line 469 "Grammar.y"
+ {
+ parser->listServices(yyvsp[-1]);
+;}
+ break;
+
+ case 96:
+#line 473 "Grammar.y"
+ {
+ parser->usage("service", "list");
+;}
+ break;
+
+ case 97:
+#line 477 "Grammar.y"
+ {
+ parser->endpointsAdapter(yyvsp[-1]);
+;}
+ break;
+
+ case 98:
+#line 481 "Grammar.y"
+ {
+ parser->usage("adapter", "endpoints");
+;}
+ break;
+
+ case 99:
+#line 485 "Grammar.y"
+ {
+ parser->removeAdapter(yyvsp[-1]);
+;}
+ break;
+
+ case 100:
+#line 489 "Grammar.y"
+ {
+ parser->usage("adapter", "remove");
+;}
+ break;
+
+ case 101:
+#line 493 "Grammar.y"
+ {
+ parser->listAllAdapters(yyvsp[-1]);
+;}
+ break;
+
+ case 102:
+#line 497 "Grammar.y"
+ {
+ parser->usage("adapter", "list");
+;}
+ break;
+
+ case 103:
+#line 501 "Grammar.y"
+ {
+ parser->addObject(yyvsp[-1]);
+;}
+ break;
+
+ case 104:
+#line 505 "Grammar.y"
+ {
+ parser->usage("object", "add");
+;}
+ break;
+
+ case 105:
+#line 509 "Grammar.y"
+ {
+ parser->removeObject(yyvsp[-1]);
+;}
+ break;
+
+ case 106:
+#line 513 "Grammar.y"
+ {
+ parser->usage("object", "remove");
+;}
+ break;
+
+ case 107:
+#line 517 "Grammar.y"
+ {
+ parser->findObject(yyvsp[-1]);
+;}
+ break;
+
+ case 108:
+#line 521 "Grammar.y"
+ {
+ parser->usage("object", "find");
+;}
+ break;
+
+ case 109:
+#line 525 "Grammar.y"
+ {
+ parser->listObject(yyvsp[-1]);
+;}
+ break;
+
+ case 110:
+#line 529 "Grammar.y"
+ {
+ parser->usage("object", "list");
+;}
+ break;
+
+ case 111:
+#line 533 "Grammar.y"
+ {
+ parser->describeObject(yyvsp[-1]);
+;}
+ break;
+
+ case 112:
+#line 537 "Grammar.y"
+ {
+ parser->usage("object", "describe");
+;}
+ break;
+
+ case 113:
+#line 541 "Grammar.y"
+ {
+ parser->showCopying();
+;}
+ break;
+
+ case 114:
+#line 545 "Grammar.y"
+ {
+ parser->showWarranty();
+;}
+ break;
+
+ case 115:
+#line 549 "Grammar.y"
+ {
+ parser->usage(yyvsp[-1].front());
+;}
+ break;
+
+ case 116:
+#line 553 "Grammar.y"
+ {
+ if((yyvsp[-2].front() == "server" || yyvsp[-2].front() == "service") && yyvsp[-1].front() == "template")
+ {
+ parser->usage(yyvsp[-2].front() + " " + yyvsp[-1].front());
+ }
+ else
+ {
+ parser->usage(yyvsp[-2].front(), yyvsp[-1].front());
+ }
+;}
+ break;
+
+ case 117:
+#line 564 "Grammar.y"
+ {
+ parser->usage(yyvsp[-3].front(), yyvsp[-2].front());
+;}
+ break;
+
+ case 118:
+#line 568 "Grammar.y"
+ {
+ if((yyvsp[-3].front() == "server" || yyvsp[-3].front() == "service") && yyvsp[-2].front() == "template")
+ {
+ parser->usage(yyvsp[-3].front() + " " + yyvsp[-2].front(), yyvsp[-1].front());
+ }
+ else
+ {
+ parser->usage(yyvsp[-3].front(), yyvsp[-2].front());
+ }
+;}
+ break;
+
+ case 119:
+#line 579 "Grammar.y"
+ {
+ if((yyvsp[-4].front() == "server" || yyvsp[-4].front() == "service") && yyvsp[-3].front() == "template")
+ {
+ parser->usage(yyvsp[-4].front() + " " + yyvsp[-3].front(), yyvsp[-2].front());
+ }
+ else
+ {
+ parser->usage(yyvsp[-4].front(), yyvsp[-3].front());
+ }
+;}
+ break;
+
+ case 120:
+#line 590 "Grammar.y"
+ {
+ parser->usage(yyvsp[-2].front());
+;}
+ break;
+
+ case 121:
+#line 594 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 122:
+#line 598 "Grammar.y"
+ {
+ parser->usage(yyvsp[-2].front());
+;}
+ break;
+
+ case 123:
+#line 602 "Grammar.y"
+ {
+ yyvsp[-3].push_back(yyvsp[-2].front());
+ parser->invalidCommand(yyvsp[-3]);
+ yyerrok;
+;}
+ break;
+
+ case 124:
+#line 608 "Grammar.y"
+ {
+ parser->invalidCommand(yyvsp[-2]);
+ yyerrok;
+;}
+ break;
+
+ case 125:
+#line 613 "Grammar.y"
+ {
+ parser->invalidCommand(yyvsp[-2]);
+ yyerrok;
+;}
+ break;
+
+ case 126:
+#line 618 "Grammar.y"
+ {
+ yyerrok;
+;}
+ break;
+
+ case 127:
+#line 622 "Grammar.y"
+ {
+;}
+ break;
+
+ case 128:
+#line 631 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 129:
+#line 636 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 130:
+#line 641 "Grammar.y"
+ {
+ yyval = yyvsp[-1];
+ yyval.push_front("help");
+ yyval.push_front(yyvsp[-2].front());
+;}
+ break;
+
+ case 131:
+#line 647 "Grammar.y"
+ {
+ yyval = yyvsp[-1];
+ yyval.push_front("help");
+ yyval.push_front(yyvsp[-2].front());
+;}
+ break;
+
+ case 132:
+#line 653 "Grammar.y"
+ {
+ yyval = YYSTYPE();
+;}
+ break;
+
+ case 133:
+#line 662 "Grammar.y"
+ {
+;}
+ break;
+
+ case 134:
+#line 665 "Grammar.y"
+ {
+;}
+ break;
+
+ case 135:
+#line 668 "Grammar.y"
+ {
+;}
+ break;
+
+ case 136:
+#line 671 "Grammar.y"
+ {
+;}
+ break;
+
+ case 137:
+#line 674 "Grammar.y"
+ {
+;}
+ break;
+
+ case 138:
+#line 677 "Grammar.y"
+ {
+;}
+ break;
+
+ case 139:
+#line 680 "Grammar.y"
+ {
+;}
+ break;
+
+ case 140:
+#line 683 "Grammar.y"
+ {
+;}
+ break;
+
+ case 141:
+#line 686 "Grammar.y"
+ {
+;}
+ break;
+
+ case 142:
+#line 689 "Grammar.y"
+ {
+;}
+ break;
+
+ case 143:
+#line 692 "Grammar.y"
+ {
+;}
+ break;
+
+ case 144:
+#line 695 "Grammar.y"
+ {
+;}
+ break;
+
+ case 145:
+#line 698 "Grammar.y"
+ {
+;}
+ break;
+
+ case 146:
+#line 701 "Grammar.y"
+ {
+;}
+ break;
+
+ case 147:
+#line 704 "Grammar.y"
+ {
+;}
+ break;
+
+ case 148:
+#line 707 "Grammar.y"
+ {
+;}
+ break;
+
+ case 149:
+#line 710 "Grammar.y"
+ {
+;}
+ break;
+
+ case 150:
+#line 713 "Grammar.y"
+ {
+;}
+ break;
+
+ case 151:
+#line 716 "Grammar.y"
+ {
+;}
+ break;
+
+ case 152:
+#line 719 "Grammar.y"
+ {
+;}
+ break;
+
+ case 153:
+#line 722 "Grammar.y"
+ {
+;}
+ break;
+
+ case 154:
+#line 725 "Grammar.y"
+ {
+;}
+ break;
+
+ case 155:
+#line 728 "Grammar.y"
+ {
+;}
+ break;
+
+ case 156:
+#line 731 "Grammar.y"
+ {
+;}
+ break;
+
+ case 157:
+#line 734 "Grammar.y"
+ {
+;}
+ break;
+
+ case 158:
+#line 737 "Grammar.y"
+ {
+;}
+ break;
+
+ case 159:
+#line 740 "Grammar.y"
+ {
+;}
+ break;
+
+ case 160:
+#line 743 "Grammar.y"
+ {
+;}
+ break;
+
+ case 161:
+#line 746 "Grammar.y"
+ {
+;}
+ break;
+
+ case 162:
+#line 749 "Grammar.y"
+ {
+;}
+ break;
+
+ case 163:
+#line 752 "Grammar.y"
+ {
+;}
+ break;
+
+ case 164:
+#line 755 "Grammar.y"
+ {
+;}
+ break;
+
+ case 165:
+#line 758 "Grammar.y"
+ {
+;}
+ break;
+
+ case 166:
+#line 761 "Grammar.y"
+ {
+;}
+ break;
+
+ case 167:
+#line 764 "Grammar.y"
+ {
+;}
+ break;
+
+ case 168:
+#line 767 "Grammar.y"
+ {
+;}
+ break;
+
+ case 169:
+#line 770 "Grammar.y"
+ {
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 3000 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+
diff --git a/cpp/src/IceGrid/Grammar.h b/cpp/src/IceGrid/Grammar.h
new file mode 100644
index 00000000000..2c459182ea0
--- /dev/null
+++ b/cpp/src/IceGrid/Grammar.h
@@ -0,0 +1,126 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_GRID_HELP = 258,
+ ICE_GRID_EXIT = 259,
+ ICE_GRID_APPLICATION = 260,
+ ICE_GRID_NODE = 261,
+ ICE_GRID_REGISTRY = 262,
+ ICE_GRID_SERVER = 263,
+ ICE_GRID_ADAPTER = 264,
+ ICE_GRID_PING = 265,
+ ICE_GRID_LOAD = 266,
+ ICE_GRID_ADD = 267,
+ ICE_GRID_REMOVE = 268,
+ ICE_GRID_LIST = 269,
+ ICE_GRID_SHUTDOWN = 270,
+ ICE_GRID_STRING = 271,
+ ICE_GRID_START = 272,
+ ICE_GRID_STOP = 273,
+ ICE_GRID_PATCH = 274,
+ ICE_GRID_SIGNAL = 275,
+ ICE_GRID_STDOUT = 276,
+ ICE_GRID_STDERR = 277,
+ ICE_GRID_DESCRIBE = 278,
+ ICE_GRID_PROPERTIES = 279,
+ ICE_GRID_PROPERTY = 280,
+ ICE_GRID_STATE = 281,
+ ICE_GRID_PID = 282,
+ ICE_GRID_ENDPOINTS = 283,
+ ICE_GRID_ACTIVATION = 284,
+ ICE_GRID_OBJECT = 285,
+ ICE_GRID_FIND = 286,
+ ICE_GRID_SHOW = 287,
+ ICE_GRID_COPYING = 288,
+ ICE_GRID_WARRANTY = 289,
+ ICE_GRID_DIFF = 290,
+ ICE_GRID_UPDATE = 291,
+ ICE_GRID_INSTANTIATE = 292,
+ ICE_GRID_TEMPLATE = 293,
+ ICE_GRID_SERVICE = 294,
+ ICE_GRID_ENABLE = 295,
+ ICE_GRID_DISABLE = 296
+ };
+#endif
+#define ICE_GRID_HELP 258
+#define ICE_GRID_EXIT 259
+#define ICE_GRID_APPLICATION 260
+#define ICE_GRID_NODE 261
+#define ICE_GRID_REGISTRY 262
+#define ICE_GRID_SERVER 263
+#define ICE_GRID_ADAPTER 264
+#define ICE_GRID_PING 265
+#define ICE_GRID_LOAD 266
+#define ICE_GRID_ADD 267
+#define ICE_GRID_REMOVE 268
+#define ICE_GRID_LIST 269
+#define ICE_GRID_SHUTDOWN 270
+#define ICE_GRID_STRING 271
+#define ICE_GRID_START 272
+#define ICE_GRID_STOP 273
+#define ICE_GRID_PATCH 274
+#define ICE_GRID_SIGNAL 275
+#define ICE_GRID_STDOUT 276
+#define ICE_GRID_STDERR 277
+#define ICE_GRID_DESCRIBE 278
+#define ICE_GRID_PROPERTIES 279
+#define ICE_GRID_PROPERTY 280
+#define ICE_GRID_STATE 281
+#define ICE_GRID_PID 282
+#define ICE_GRID_ENDPOINTS 283
+#define ICE_GRID_ACTIVATION 284
+#define ICE_GRID_OBJECT 285
+#define ICE_GRID_FIND 286
+#define ICE_GRID_SHOW 287
+#define ICE_GRID_COPYING 288
+#define ICE_GRID_WARRANTY 289
+#define ICE_GRID_DIFF 290
+#define ICE_GRID_UPDATE 291
+#define ICE_GRID_INSTANTIATE 292
+#define ICE_GRID_TEMPLATE 293
+#define ICE_GRID_SERVICE 294
+#define ICE_GRID_ENABLE 295
+#define ICE_GRID_DISABLE 296
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/src/IceGrid/Grammar.y b/cpp/src/IceGrid/Grammar.y
index 0d690fe920b..542f73ef5a0 100644
--- a/cpp/src/IceGrid/Grammar.y
+++ b/cpp/src/IceGrid/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/src/IceGrid/IceGridAdmin.rc b/cpp/src/IceGrid/IceGridAdmin.rc
index 385ec04524c..2e59fbb4eb9 100644
--- a/cpp/src/IceGrid/IceGridAdmin.rc
+++ b/cpp/src/IceGrid/IceGridAdmin.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceGrid Admin\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icegridadmin\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", "icegridadmin.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp
index 1cfef3fab8e..4dc9a62e978 100644
--- a/cpp/src/IceGrid/IceGridNode.cpp
+++ b/cpp/src/IceGrid/IceGridNode.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.
@@ -521,7 +521,7 @@ NodeService::start(int argc, char* argv[])
catch(const Ice::NotRegisteredException&)
{
//
- // Some plugin removed the Process facet, so we don't replace it.
+ // Some plug-in removed the Process facet, so we don't replace it.
// (unlikely error though)
//
}
@@ -718,12 +718,6 @@ NodeService::stop()
_node->getPlatformInfo().stop();
//
- // Break cylic reference counts.
- //
- _node->destroy();
- _node = 0;
-
- //
// We can now safely shutdown the communicator.
//
try
@@ -739,6 +733,12 @@ NodeService::stop()
}
//
+ // Break cylic reference counts.
+ //
+ _node->shutdown();
+ _node = 0;
+
+ //
// And shutdown the collocated registry.
//
if(_registry)
diff --git a/cpp/src/IceGrid/IceGridNode.rc b/cpp/src/IceGrid/IceGridNode.rc
index 5d320998bf8..bb5e8f6bd8a 100644
--- a/cpp/src/IceGrid/IceGridNode.rc
+++ b/cpp/src/IceGrid/IceGridNode.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceGrid Node\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icegridnode\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", "icegridnode.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceGrid/IceGridRegistry.cpp b/cpp/src/IceGrid/IceGridRegistry.cpp
index 76dd9ec8cbb..1b6f104ae3a 100644
--- a/cpp/src/IceGrid/IceGridRegistry.cpp
+++ b/cpp/src/IceGrid/IceGridRegistry.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/src/IceGrid/IceGridRegistry.rc b/cpp/src/IceGrid/IceGridRegistry.rc
index 7ee62f5d391..6c8734ee12c 100644
--- a/cpp/src/IceGrid/IceGridRegistry.rc
+++ b/cpp/src/IceGrid/IceGridRegistry.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceGrid Registry\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icegridregistry\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", "icegridregistry.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceGrid/Internal.ice b/cpp/src/IceGrid/Internal.ice
index 48419c3f531..63d2bfb8f12 100644
--- a/cpp/src/IceGrid/Internal.ice
+++ b/cpp/src/IceGrid/Internal.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/src/IceGrid/InternalRegistryI.cpp b/cpp/src/IceGrid/InternalRegistryI.cpp
index 6ec77492149..41f4d47eb1f 100644
--- a/cpp/src/IceGrid/InternalRegistryI.cpp
+++ b/cpp/src/IceGrid/InternalRegistryI.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/src/IceGrid/InternalRegistryI.h b/cpp/src/IceGrid/InternalRegistryI.h
index 721d8ccd4ee..ee087bf7044 100644
--- a/cpp/src/IceGrid/InternalRegistryI.h
+++ b/cpp/src/IceGrid/InternalRegistryI.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/src/IceGrid/LocatorI.cpp b/cpp/src/IceGrid/LocatorI.cpp
index bf910ba31d1..d038ccae641 100644
--- a/cpp/src/IceGrid/LocatorI.cpp
+++ b/cpp/src/IceGrid/LocatorI.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.
@@ -26,67 +26,51 @@ class AMI_Adapter_getDirectProxyI : public AMI_Adapter_getDirectProxy
{
public:
- AMI_Adapter_getDirectProxyI(const LocatorI::RequestPtr& request, const string& id) :
- _request(request), _id(id)
+ AMI_Adapter_getDirectProxyI(const LocatorIPtr& locator, const LocatorAdapterInfo& adapter) :
+ _locator(locator), _adapter(adapter)
{
}
virtual void ice_response(const ::Ice::ObjectPrx& obj)
{
assert(obj);
- _request->response(_id, obj);
+ _locator->getDirectProxyResponse(_adapter, obj);
}
virtual void ice_exception(const ::Ice::Exception& e)
{
- try
- {
- e.ice_throw();
- }
- catch(const AdapterNotActiveException& ex)
- {
- if(ex.activatable)
- {
- _request->activate(_id);
- return;
- }
- }
- catch(const Ice::Exception&)
- {
- }
-
- _request->exception(_id, e);
+ _locator->getDirectProxyException(_adapter, e);
}
private:
- const LocatorI::RequestPtr _request;
- const string _id;
+ const LocatorIPtr _locator;
+ const LocatorAdapterInfo _adapter;
};
class AMI_Adapter_activateI : public AMI_Adapter_activate
{
public:
- AMI_Adapter_activateI(const LocatorIPtr& locator, const string& id) :
- _locator(locator), _id(id)
+ AMI_Adapter_activateI(const LocatorIPtr& locator, const LocatorAdapterInfo& adapter) :
+ _locator(locator), _adapter(adapter)
{
}
virtual void ice_response(const ::Ice::ObjectPrx& obj)
{
- _locator->activateFinished(_id, obj);
+ _locator->getDirectProxyResponse(_adapter, obj);
}
virtual void ice_exception(const ::Ice::Exception& ex)
{
- _locator->activateException(_id, ex);
+ _locator->getDirectProxyException(_adapter, ex);
}
private:
const LocatorIPtr _locator;
- const string _id;
+ const LocatorAdapterInfo _adapter;
};
//
@@ -166,248 +150,483 @@ private:
const Ice::ObjectPrx _obj;
};
-}
-
-LocatorI::Request::Request(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB,
- const LocatorIPtr& locator,
- const string& id,
- bool replicaGroup,
- bool roundRobin,
- const LocatorAdapterInfoSeq& adapters,
- int count) :
- _amdCB(amdCB),
- _locator(locator),
- _id(id),
- _replicaGroup(replicaGroup),
- _roundRobin(roundRobin),
- _adapters(adapters),
- _traceLevels(locator->getTraceLevels()),
- _count(count),
- _lastAdapter(_adapters.begin())
+class AdapterRequest : public LocatorI::Request
{
- assert((_count == 0 && _adapters.empty()) || _count > 0);
-}
+public:
-void
-LocatorI::Request::execute()
-{
- //
- // If there's no adapters to request, we're done, send the
- // response.
- //
- if(_adapters.empty())
+ AdapterRequest(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB,
+ const LocatorIPtr& locator,
+ const LocatorAdapterInfo& adapter) :
+ _amdCB(amdCB),
+ _locator(locator),
+ _adapter(adapter),
+ _traceLevels(locator->getTraceLevels())
{
- sendResponse();
- return;
+ assert(_adapter.proxy);
}
- //
- // Otherwise, request as many adapters as required.
- //
- LocatorAdapterInfoSeq adapters;
+ virtual void
+ execute()
{
- Lock sync(*this);
- assert(_count > 0 && _lastAdapter != _adapters.end());
- for(unsigned int i = static_cast<unsigned int>(_proxies.size()); i < _count; ++i)
+ _locator->getDirectProxy(_adapter, this);
+ }
+
+ virtual void
+ activating(const string&)
+ {
+ // Nothing to do.
+ }
+
+ virtual void
+ response(const std::string&, const Ice::ObjectPrx& proxy)
+ {
+ assert(proxy);
+ _amdCB->ice_response(proxy->ice_identity(_locator->getCommunicator()->stringToIdentity("dummy")));
+ }
+
+ virtual void
+ exception(const std::string&, const Ice::Exception& ex)
+ {
+ if(_traceLevels->locator > 0)
{
- if(_lastAdapter == _adapters.end())
- {
- _count = i;
- break;
- }
- assert(_lastAdapter->proxy);
- adapters.push_back(*_lastAdapter);
+ Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
+ out << "couldn't resolve adapter`" << _adapter.id << "' endpoints:\n" << toString(ex);
+ }
+ _amdCB->ice_response(0);
+ }
+
+private:
+
+ const Ice::AMD_Locator_findAdapterByIdPtr _amdCB;
+ const LocatorIPtr _locator;
+ const LocatorAdapterInfo _adapter;
+ const TraceLevelsPtr _traceLevels;
+};
+
+class ReplicaGroupRequest : public LocatorI::Request, public IceUtil::Mutex
+{
+public:
+
+ ReplicaGroupRequest(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB,
+ const LocatorIPtr& locator,
+ const string& id,
+ const LocatorAdapterInfoSeq& adapters,
+ int count,
+ Ice::ObjectPrx firstProxy) :
+ _amdCB(amdCB),
+ _locator(locator),
+ _id(id),
+ _adapters(adapters),
+ _traceLevels(locator->getTraceLevels()),
+ _count(count),
+ _lastAdapter(_adapters.begin())
+ {
+ assert(_adapters.empty() || _count > 0);
+
+ if(_adapters.empty())
+ {
+ _count = 0;
+ }
+
+ //
+ // If the first adapter proxy is provided, store it in _proxies.
+ //
+ if(firstProxy)
+ {
+ assert(!_adapters.empty());
+ _proxies[_adapters[0].id] = firstProxy;
++_lastAdapter;
}
}
-
- for(LocatorAdapterInfoSeq::const_iterator p = adapters.begin(); p != adapters.end(); ++p)
+
+ virtual void
+ execute()
{
- p->proxy->getDirectProxy_async(new AMI_Adapter_getDirectProxyI(this, p->id));
+ //
+ // Otherwise, request as many adapters as required.
+ //
+ LocatorAdapterInfoSeq adapters;
+ {
+ Lock sync(*this);
+ for(unsigned int i = static_cast<unsigned int>(_proxies.size()); i < _count; ++i)
+ {
+ if(_lastAdapter == _adapters.end())
+ {
+ _count = i;
+ break;
+ }
+ assert(_lastAdapter->proxy);
+ adapters.push_back(*_lastAdapter);
+ ++_lastAdapter;
+ }
+
+ //
+ // If there's no adapters to request, we're done, send the
+ // response.
+ //
+ if(_proxies.size() == _count)
+ {
+ sendResponse();
+ return;
+ }
+ }
+
+
+ for(LocatorAdapterInfoSeq::const_iterator p = adapters.begin(); p != adapters.end(); ++p)
+ {
+ if(_locator->getDirectProxy(*p, this))
+ {
+ activating(p->id);
+ }
+ }
}
-}
-void
-LocatorI::Request::activate(const string& id)
-{
- //
- // Activate the adapter
- //
- // NOTE: we use a timeout large enough to ensure that the activate() call won't
- // timeout if the server hangs in deactivation and/or activation.
- //
- for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
+ virtual void
+ activating(const string&)
{
- if(p->id == id)
+ //
+ // An adapter is being activated. Don't wait for the activation to complete. Instead,
+ // we query the next adapter which might be already active.
+ //
+ LocatorAdapterInfo adapter;
+ do
{
- _locator->activate(*p, this);
- _activating.insert(id);
+ Lock sync(*this);
+ if(_lastAdapter == _adapters.end())
+ {
+ break;
+ }
+ adapter = *_lastAdapter;
+ ++_lastAdapter;
}
+ while(_locator->getDirectProxy(adapter, this));
}
-
- //
- // If this is a request for a replica group, don't wait for the activation to
- // complete. Instead, we query the next adapter which might be already active.
- //
- if(_replicaGroup)
+
+ virtual void
+ exception(const string& id, const Ice::Exception& ex)
{
LocatorAdapterInfo adapter;
{
Lock sync(*this);
- if(_lastAdapter != _adapters.end())
+ if(_proxies.size() == _count) // Nothing to do if we already sent the response.
+ {
+ return;
+ }
+
+ if(!_exception.get())
+ {
+ _exception.reset(ex.ice_clone());
+ }
+
+ if(_lastAdapter == _adapters.end())
+ {
+ --_count; // Expect one less adapter proxy if there's no more adapters to query.
+
+ //
+ // If we received all the required proxies, it's time to send the
+ // answer back to the client.
+ //
+ if(_count == _proxies.size())
+ {
+ sendResponse();
+ }
+ }
+ else
{
adapter = *_lastAdapter;
++_lastAdapter;
}
}
+
if(adapter.proxy)
{
- adapter.proxy->getDirectProxy_async(new AMI_Adapter_getDirectProxyI(this, adapter.id));
+ if(_locator->getDirectProxy(adapter, this))
+ {
+ activating(adapter.id);
+ }
}
}
-}
-void
-LocatorI::Request::exception(const string& id, const Ice::Exception& ex)
-{
- LocatorAdapterInfo adapter;
+ virtual void
+ response(const string& id, const Ice::ObjectPrx& proxy)
{
Lock sync(*this);
- if(!_exception.get())
+ assert(proxy);
+ if(_proxies.size() == _count) // Nothing to do if we already sent the response.
{
- _exception.reset(ex.ice_clone());
+ return;
}
- _activating.erase(id);
+ _proxies[id] = proxy->ice_identity(_locator->getCommunicator()->stringToIdentity("dummy"));
+
+ //
+ // If we received all the required proxies, it's time to send the
+ // answer back to the client.
+ //
+ if(_proxies.size() == _count)
+ {
+ sendResponse();
+ }
+ }
+
+private:
- if(_lastAdapter == _adapters.end())
+ void
+ sendResponse()
+ {
+ if(_proxies.size() == 1)
+ {
+ _amdCB->ice_response(_proxies.begin()->second);
+ }
+ else if(_proxies.empty())
{
- --_count; // Expect one less adapter proxy if there's no more adapters to query.
-
//
- // If we received all the required proxies, it's time to send the
- // answer back to the client.
+ // If there's no proxies, it's either because we couldn't contact the adapters or
+ // because the replica group has no members.
//
- if(_count == _proxies.size())
+ assert(_exception.get() || _adapters.empty());
+ if(_traceLevels->locator > 0)
{
- sendResponse();
+ Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
+ out << "couldn't resolve replica group `" << _id << "' endpoints:\n";
+ out << (_exception.get() ? toString(*_exception) : string("replica group is empty"));
}
+ _amdCB->ice_response(0);
}
- else
+ else if(_proxies.size() > 1)
{
- adapter = *_lastAdapter;
- ++_lastAdapter;
+ Ice::EndpointSeq endpoints;
+ endpoints.reserve(_proxies.size());
+ for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
+ {
+ map<string, Ice::ObjectPrx>::const_iterator q = _proxies.find(p->id);
+ if(q != _proxies.end())
+ {
+ Ice::EndpointSeq edpts = q->second->ice_getEndpoints();
+ endpoints.insert(endpoints.end(), edpts.begin(), edpts.end());
+ }
+ }
+
+ Ice::ObjectPrx proxy = _locator->getCommunicator()->stringToProxy("dummy:default");
+ _amdCB->ice_response(proxy->ice_endpoints(endpoints));
}
}
- if(adapter.proxy)
- {
- adapter.proxy->getDirectProxy_async(new AMI_Adapter_getDirectProxyI(this, adapter.id));
- }
-}
+ const Ice::AMD_Locator_findAdapterByIdPtr _amdCB;
+ const LocatorIPtr _locator;
+ const std::string _id;
+ LocatorAdapterInfoSeq _adapters;
+ const TraceLevelsPtr _traceLevels;
+ unsigned int _count;
+ LocatorAdapterInfoSeq::const_iterator _lastAdapter;
+ std::map<std::string, Ice::ObjectPrx> _proxies;
+ std::auto_ptr<Ice::Exception> _exception;
+};
-void
-LocatorI::Request::response(const string& id, const Ice::ObjectPrx& proxy)
+class RoundRobinRequest : public LocatorI::Request, public IceUtil::Mutex
{
- if(!proxy)
+public:
+
+ RoundRobinRequest(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB,
+ const LocatorIPtr& locator,
+ const string& id,
+ const LocatorAdapterInfoSeq& adapters,
+ int count) :
+ _amdCB(amdCB),
+ _locator(locator),
+ _id(id),
+ _adapters(adapters),
+ _traceLevels(locator->getTraceLevels()),
+ _count(count),
+ _waitForActivation(false)
{
- exception(id, AdapterNotActiveException());
- return;
+ assert(_adapters.empty() || _count > 0);
}
- Lock sync(*this);
- assert(proxy);
-
- _activating.erase(id);
-
- _proxies[id] = proxy->ice_identity(_locator->getCommunicator()->stringToIdentity("dummy"));
-
- //
- // If we received all the required proxies, it's time to send the
- // answer back to the client.
- //
- if(_proxies.size() == _count)
+ virtual void
+ execute()
{
- sendResponse();
+ if(_adapters.empty())
+ {
+ if(_traceLevels->locator > 0)
+ {
+ Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
+ out << "couldn't resolve replica group `" << _id << "' endpoints:\nreplica group is empty";
+ }
+ _amdCB->ice_response(0);
+ return;
+ }
+
+ LocatorAdapterInfo adapter = _adapters[0];
+ assert(adapter.proxy);
+ if(_locator->getDirectProxy(adapter, this))
+ {
+ activating(adapter.id);
+ }
}
-}
-void
-LocatorI::Request::sendResponse()
-{
- int roundRobinCount = 0;
- if(_proxies.size() == 1)
+ virtual void
+ activating(const string& id)
{
- if(_roundRobin)
+ LocatorAdapterInfo adapter;
+ adapter.id = id;
+ do
{
- for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
+ Lock sync(*this);
+ if(_adapters.empty() || _waitForActivation)
{
- if(_proxies.find(p->id) != _proxies.end())
- {
- break;
- }
- //
- // We count the number of object adapters which are inactive until we find
- // one active. This count will be used to update the round robin counter.
- //
- ++roundRobinCount;
+ return;
}
+ _activatingOrFailed.insert(adapter.id);
+ adapter = nextAdapter();
}
- _amdCB->ice_response(_proxies.begin()->second);
+ while(adapter.proxy && _locator->getDirectProxy(adapter, this));
}
- else if(_proxies.empty())
+
+ virtual void
+ response(const std::string& id, const Ice::ObjectPrx& proxy)
{
- //
- // If there's no proxies, it's either because we couldn't
- // contact the adapters or because the replica group has
- // no members.
- //
- assert(_exception.get() || (_replicaGroup && _adapters.empty()));
+ Lock sync(*this);
+ assert(proxy);
+ if(_adapters.empty() || id != _adapters[0].id)
+ {
+ return;
+ }
- if(_traceLevels->locator > 0)
+ if(_count > 1)
{
- Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
- out << "couldn't resolve " << (_replicaGroup ? "replica group `" : "adapter `") << _id << "' endpoints:\n";
- out << (_exception.get() ? toString(*_exception) : string("replica group is empty"));
+ Ice::ObjectPrx p = proxy->ice_identity(_locator->getCommunicator()->stringToIdentity("dummy"));
+ LocatorI::RequestPtr request = new ReplicaGroupRequest(_amdCB, _locator, _id, _adapters, _count, p);
+ request->execute();
}
- _amdCB->ice_response(0);
+ else
+ {
+ _amdCB->ice_response(proxy->ice_identity(_locator->getCommunicator()->stringToIdentity("dummy")));
+ }
+ _adapters.clear();
}
- else if(_proxies.size() > 1)
+
+ virtual void
+ exception(const std::string& id, const Ice::Exception& ex)
{
- Ice::EndpointSeq endpoints;
- endpoints.reserve(_proxies.size());
- for(LocatorAdapterInfoSeq::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
+ LocatorAdapterInfo adapter;
{
- map<string, Ice::ObjectPrx>::const_iterator q = _proxies.find(p->id);
- if(q != _proxies.end())
+ Lock sync(*this);
+ _failed.insert(id);
+ _activatingOrFailed.insert(id);
+
+ if(!_exception.get())
{
- Ice::EndpointSeq edpts = q->second->ice_getEndpoints();
- endpoints.insert(endpoints.end(), edpts.begin(), edpts.end());
+ _exception.reset(ex.ice_clone());
}
- else if(_roundRobin && endpoints.empty())
+
+ if(_adapters.empty() || id != _adapters[0].id)
{
- //
- // We count the number of object adapters which are inactive until we find
- // one active. This count will be used to update the round robin counter.
- //
- ++roundRobinCount;
+ return;
}
+
+ adapter = nextAdapter();
}
- for(set<string>::const_iterator q = _activating.begin(); q != _activating.end(); ++q)
+ if(adapter.proxy && _locator->getDirectProxy(adapter, this))
{
- _locator->cancelActivate(*q, this);
+ activating(adapter.id);
}
-
- Ice::ObjectPrx proxy = _locator->getCommunicator()->stringToProxy("dummy:default");
- _amdCB->ice_response(proxy->ice_endpoints(endpoints));
}
- if(_roundRobin)
+private:
+
+ LocatorAdapterInfo
+ nextAdapter()
{
- _locator->removePendingResolve(_id, roundRobinCount);
+ bool replicaGroup;
+ bool roundRobin;
+
+ _adapters.clear();
+
+ try
+ {
+ if(!_waitForActivation)
+ {
+ _locator->getAdapterInfo(_id, _adapters, _count, replicaGroup, roundRobin, _activatingOrFailed);
+ }
+
+ if(_waitForActivation || (_adapters.empty() && _activatingOrFailed.size() > _failed.size()))
+ {
+ //
+ // If there are no more adapters to try and some servers were being activated, we
+ // try again but this time we wait for the server activation.
+ //
+ _locator->getAdapterInfo(_id, _adapters, _count, replicaGroup, roundRobin, _failed);
+ _waitForActivation = true;
+ }
+
+ if(!roundRobin)
+ {
+ LocatorI::RequestPtr request;
+ if(replicaGroup)
+ {
+ request = new ReplicaGroupRequest(_amdCB, _locator, _id, _adapters, _count, 0);
+ }
+ else
+ {
+ assert(!_adapters.empty());
+ request = new AdapterRequest(_amdCB, _locator, _adapters[0]);
+ }
+ request->execute();
+ _adapters.clear();
+ return LocatorAdapterInfo();
+ }
+ else if(!_adapters.empty())
+ {
+ return _adapters[0];
+ }
+ else
+ {
+ assert(_adapters.empty());
+ if(_traceLevels->locator > 0)
+ {
+ Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
+ out << "couldn't resolve replica group `" << _id << "' endpoints:\n";
+ out << (_exception.get() ? toString(*_exception) : string("replica group is empty"));
+ }
+ _amdCB->ice_response(0);
+ return LocatorAdapterInfo();
+ }
+ }
+ catch(const AdapterNotExistException&)
+ {
+ assert(_adapters.empty());
+ _amdCB->ice_exception(Ice::AdapterNotFoundException());
+ return LocatorAdapterInfo();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ assert(_adapters.empty());
+ if(_traceLevels->locator > 0)
+ {
+ Ice::Trace out(_traceLevels->logger, _traceLevels->locatorCat);
+ out << "couldn't resolve replica group `" << _id << "' endpoints:\n" << toString(ex);
+ }
+ _amdCB->ice_response(0);
+ return LocatorAdapterInfo();
+ }
}
-}
+
+ const Ice::AMD_Locator_findAdapterByIdPtr _amdCB;
+ const LocatorIPtr _locator;
+ const std::string _id;
+ LocatorAdapterInfoSeq _adapters;
+ const TraceLevelsPtr _traceLevels;
+ int _count;
+ bool _waitForActivation;
+ set<string> _failed;
+ set<string> _activatingOrFailed;
+ std::auto_ptr<Ice::Exception> _exception;
+};
+
+};
+
LocatorI::LocatorI(const Ice::CommunicatorPtr& communicator,
const DatabasePtr& database,
@@ -471,20 +690,6 @@ LocatorI::findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& cb,
const Ice::Current&) const
{
LocatorIPtr self = const_cast<LocatorI*>(this);
- if(self->addPendingResolve(id, cb))
- {
- //
- // Another request is currently resolving the adapter endpoints. We'll
- // answer this request once it's done.
- //
- return;
- }
-
- //
- // If no other request is resolving the adapter endpoints, resolve
- // the endpoints now.
- //
-
bool replicaGroup = false;
try
{
@@ -497,20 +702,20 @@ LocatorI::findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& cb,
LocatorAdapterInfoSeq adapters;
bool roundRobin;
_database->getAdapter(id)->getLocatorAdapterInfo(adapters, count, replicaGroup, roundRobin);
-
- //
- // Round robin replica group requests are serialized. This is
- // required to make sure the round robin counter is accurate
- // even if some adapters are unreachable (bug 2576). For
- // adapters, and replica groups, there's no need to serialize
- // the requests.
- //
- if(!roundRobin)
+ RequestPtr request;
+ if(roundRobin)
{
- self->removePendingResolve(id, 0);
+ request = new RoundRobinRequest(cb, self, id, adapters, count);
+ }
+ else if(replicaGroup)
+ {
+ request = new ReplicaGroupRequest(cb, self, id, adapters, count, 0);
+ }
+ else
+ {
+ assert(adapters.size() == 1);
+ request = new AdapterRequest(cb, self, adapters[0]);
}
-
- RequestPtr request = new Request(cb, self, id, replicaGroup, roundRobin, adapters, count);
request->execute();
}
catch(const AdapterNotExistException&)
@@ -523,7 +728,6 @@ LocatorI::findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& cb,
{
cb->ice_exception(Ice::AdapterNotFoundException());
}
- self->removePendingResolve(id, 0);
return;
}
catch(const Ice::Exception& ex)
@@ -542,7 +746,6 @@ LocatorI::findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& cb,
}
}
cb->ice_response(0);
- self->removePendingResolve(id, 0);
return;
}
}
@@ -577,130 +780,117 @@ LocatorI::getTraceLevels() const
return _database->getTraceLevels();
}
-void
-LocatorI::activate(const LocatorAdapterInfo& adapter, const RequestPtr& request)
+bool
+LocatorI::getDirectProxy(const LocatorAdapterInfo& adapter, const RequestPtr& request)
{
{
Lock sync(*this);
-
- //
- // Check if there's already pending requests for this adapter. If that's the case,
- // we just add this one to the queue. If not, we add it to the queue and initiate
- // a call on the adapter to get its direct proxy.
- //
- PendingRequestsMap::iterator p;
- p = _pendingRequests.insert(make_pair(adapter.id, PendingRequests())).first;
- p->second.insert(request);
- if(p->second.size() != 1)
+ PendingRequestsMap::iterator p = _pendingRequests.find(adapter.id);
+ if(p != _pendingRequests.end())
{
- return;
+ p->second.push_back(request);
+ return _activating.find(adapter.id) != _activating.end();
}
+
+ PendingRequests requests;
+ requests.push_back(request);
+ _pendingRequests.insert(make_pair(adapter.id, requests));
}
- AMI_Adapter_activatePtr amiCB = new AMI_Adapter_activateI(this, adapter.id);
- int timeout = adapter.activationTimeout + adapter.deactivationTimeout;
- AdapterPrx::uncheckedCast(adapter.proxy->ice_timeout(timeout * 1000))->activate_async(amiCB);
-}
-
-void
-LocatorI::cancelActivate(const string& id, const RequestPtr& request)
-{
- Lock sync(*this);
- PendingRequestsMap::iterator p = _pendingRequests.find(id);
- if(p != _pendingRequests.end())
- {
- p->second.erase(request);
- }
+ adapter.proxy->getDirectProxy_async(new AMI_Adapter_getDirectProxyI(this, adapter));
+ return false;
}
void
-LocatorI::activateFinished(const string& id, const Ice::ObjectPrx& proxy)
+LocatorI::getDirectProxyResponse(const LocatorAdapterInfo& adapter, const Ice::ObjectPrx& proxy)
{
PendingRequests requests;
{
Lock sync(*this);
- PendingRequestsMap::iterator p = _pendingRequests.find(id);
+ PendingRequestsMap::iterator p = _pendingRequests.find(adapter.id);
assert(p != _pendingRequests.end());
requests.swap(p->second);
_pendingRequests.erase(p);
+ _activating.erase(adapter.id);
}
- for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ if(proxy)
+ {
+ for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ {
+ (*q)->response(adapter.id, proxy);
+ }
+ }
+ else
{
- (*q)->response(id, proxy);
+ for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ {
+ (*q)->exception(adapter.id, AdapterNotActiveException());
+ }
}
}
void
-LocatorI::activateException(const string& id, const Ice::Exception& ex)
+LocatorI::getDirectProxyException(const LocatorAdapterInfo& adapter, const Ice::Exception& ex)
{
- PendingRequests requests;
+ bool activate = false;
+ try
{
- Lock sync(*this);
- PendingRequestsMap::iterator p = _pendingRequests.find(id);
- assert(p != _pendingRequests.end());
- requests.swap(p->second);
- _pendingRequests.erase(p);
+ ex.ice_throw();
}
-
- for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ catch(const AdapterNotActiveException& e)
{
- (*q)->exception(id, ex);
+ activate = e.activatable;
}
-}
-
-bool
-LocatorI::addPendingResolve(const string& adapterId, const Ice::AMD_Locator_findAdapterByIdPtr& cb)
-{
- Lock sync(*this);
- map<string, deque<Ice::AMD_Locator_findAdapterByIdPtr> >::iterator p = _resolves.find(adapterId);
- if(p == _resolves.end())
- {
- p = _resolves.insert(make_pair(adapterId, deque<Ice::AMD_Locator_findAdapterByIdPtr>())).first;
- }
- else if(p->second.front().get() == cb.get())
+ catch(const Ice::Exception&)
{
- return false;
}
-
- p->second.push_back(cb);
- return p->second.size() > 1;
-}
-
-void
-LocatorI::removePendingResolve(const string& adapterId, int roundRobinCount)
-{
- Ice::AMD_Locator_findAdapterByIdPtr cb;
+
+ PendingRequests requests;
{
Lock sync(*this);
-
- //
- // Bump the round robin counter. We bump the round robin counter by
- // the number of inactive adapters. This ensures that if the first
- // adapters are inactive, if the first adapter to be inactive is the
- // Nth adapter, the next adapter to be returned will be the Nth + 1.
- //
- if(roundRobinCount > 0)
- {
- _database->getAdapter(adapterId)->increaseRoundRobinCount(roundRobinCount);
- }
-
- map<string, deque<Ice::AMD_Locator_findAdapterByIdPtr> >::iterator p = _resolves.find(adapterId);
- assert(p != _resolves.end());
-
- p->second.pop_front();
- if(p->second.empty())
+ PendingRequestsMap::iterator p = _pendingRequests.find(adapter.id);
+ assert(p != _pendingRequests.end());
+ if(activate)
{
- _resolves.erase(p);
+ _activating.insert(adapter.id);
+ requests = p->second;
}
else
{
- cb = p->second.front();
+ requests.swap(p->second);
+ _pendingRequests.erase(p);
+ _activating.erase(adapter.id);
}
}
- if(cb)
+ if(activate)
+ {
+ for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ {
+ (*q)->activating(adapter.id);
+ }
+
+ AMI_Adapter_activatePtr amiCB = new AMI_Adapter_activateI(this, adapter);
+ int timeout = adapter.activationTimeout + adapter.deactivationTimeout;
+ AdapterPrx::uncheckedCast(adapter.proxy->ice_timeout(timeout * 1000))->activate_async(amiCB);
+ }
+ else
{
- findAdapterById_async(cb, adapterId);
+ for(PendingRequests::iterator q = requests.begin(); q != requests.end(); ++q)
+ {
+ (*q)->exception(adapter.id, ex);
+ }
}
}
+
+void
+LocatorI::getAdapterInfo(const string& id,
+ LocatorAdapterInfoSeq& adapters,
+ int& count,
+ bool& replicaGroup,
+ bool& roundRobin,
+ const set<string>& excludes)
+{
+ _database->getAdapter(id)->getLocatorAdapterInfo(adapters, count, replicaGroup, roundRobin, excludes);
+}
diff --git a/cpp/src/IceGrid/LocatorI.h b/cpp/src/IceGrid/LocatorI.h
index cd7aeffe8df..124b62b7dc1 100644
--- a/cpp/src/IceGrid/LocatorI.h
+++ b/cpp/src/IceGrid/LocatorI.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.
@@ -34,41 +34,14 @@ class LocatorI : public Locator, public IceUtil::Mutex
{
public:
- class Request : public IceUtil::Mutex, public IceUtil::Shared
+ class Request : public IceUtil::Shared
{
public:
- Request(const Ice::AMD_Locator_findAdapterByIdPtr&, const LocatorIPtr&, const std::string&, bool, bool,
- const LocatorAdapterInfoSeq&, int);
-
- void execute();
- void response(const std::string&, const Ice::ObjectPrx&);
- void activate(const std::string&);
- void exception(const std::string&, const Ice::Exception&);
-
- virtual bool
- operator<(const Request& r) const
- {
- return this < &r;
- }
-
- private:
-
- void requestAdapter(const LocatorAdapterInfo&);
- void sendResponse();
-
- const Ice::AMD_Locator_findAdapterByIdPtr _amdCB;
- const LocatorIPtr _locator;
- const std::string _id;
- const bool _replicaGroup;
- const bool _roundRobin;
- LocatorAdapterInfoSeq _adapters;
- const TraceLevelsPtr _traceLevels;
- unsigned int _count;
- LocatorAdapterInfoSeq::const_iterator _lastAdapter;
- std::map<std::string, Ice::ObjectPrx> _proxies;
- std::auto_ptr<Ice::Exception> _exception;
- std::set<std::string> _activating;
+ virtual void execute() = 0;
+ virtual void activating(const std::string&) = 0;
+ virtual void response(const std::string&, const Ice::ObjectPrx&) = 0;
+ virtual void exception(const std::string&, const Ice::Exception&) = 0;
};
typedef IceUtil::Handle<Request> RequestPtr;
@@ -88,14 +61,11 @@ public:
const Ice::CommunicatorPtr& getCommunicator() const;
const TraceLevelsPtr& getTraceLevels() const;
- void activate(const LocatorAdapterInfo&, const RequestPtr&);
- void cancelActivate(const std::string&, const RequestPtr&);
+ bool getDirectProxy(const LocatorAdapterInfo&, const RequestPtr&);
+ void getDirectProxyResponse(const LocatorAdapterInfo&, const Ice::ObjectPrx&);
+ void getDirectProxyException(const LocatorAdapterInfo&, const Ice::Exception&);
- void activateFinished(const std::string&, const Ice::ObjectPrx&);
- void activateException(const std::string&, const Ice::Exception&);
-
- bool addPendingResolve(const std::string&, const Ice::AMD_Locator_findAdapterByIdPtr&);
- void removePendingResolve(const std::string&, int);
+ void getAdapterInfo(const std::string&, LocatorAdapterInfoSeq&, int&, bool&, bool&, const std::set<std::string>&);
protected:
@@ -105,12 +75,10 @@ protected:
const RegistryPrx _localRegistry;
const QueryPrx _localQuery;
- typedef std::set<RequestPtr> PendingRequests;
+ typedef std::vector<RequestPtr> PendingRequests;
typedef std::map<std::string, PendingRequests> PendingRequestsMap;
-
PendingRequestsMap _pendingRequests;
-
- std::map<std::string, std::deque<Ice::AMD_Locator_findAdapterByIdPtr> > _resolves;
+ std::set<std::string> _activating;
};
}
diff --git a/cpp/src/IceGrid/LocatorRegistryI.cpp b/cpp/src/IceGrid/LocatorRegistryI.cpp
index 963132a6583..8d24ca1dce1 100644
--- a/cpp/src/IceGrid/LocatorRegistryI.cpp
+++ b/cpp/src/IceGrid/LocatorRegistryI.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/src/IceGrid/LocatorRegistryI.h b/cpp/src/IceGrid/LocatorRegistryI.h
index 02dca1885d4..e34db30707a 100644
--- a/cpp/src/IceGrid/LocatorRegistryI.h
+++ b/cpp/src/IceGrid/LocatorRegistryI.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/src/IceGrid/Makefile b/cpp/src/IceGrid/Makefile
index dee8f1c5d9b..7fe143ef00d 100644
--- a/cpp/src/IceGrid/Makefile
+++ b/cpp/src/IceGrid/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.
@@ -148,10 +148,6 @@ clean::
# Needed for make -jn to work.
#../IceGrid/Grammar.y: Grammar.h
-clean::
- rm -f Grammar.cpp Grammar.h
- rm -f Scanner.cpp
-
install:: all
$(call installprogram,$(ADMIN),$(install_bindir))
$(call installprogram,$(NODE_SERVER),$(install_bindir))
diff --git a/cpp/src/IceGrid/Makefile.mak b/cpp/src/IceGrid/Makefile.mak
index 35411ce7c2a..a8db26b4472 100644
--- a/cpp/src/IceGrid/Makefile.mak
+++ b/cpp/src/IceGrid/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.
@@ -184,8 +184,6 @@ clean::
-del /q $(NODE_SERVER:.exe=.*)
-del /q $(REGISTRY_SERVER:.exe=.*)
-del /q IceGridAdmin.res IceGridNode.res IceGridRegistry.res
- -del /q Grammar.cpp Grammar.h
- -del /q Scanner.cpp
install:: all
copy $(ADMIN) $(install_bindir)
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index 812cb1977df..dc6eb107a11 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.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.
@@ -746,8 +746,12 @@ NodeEntry::__decRef()
void
NodeEntry::checkSession() const
{
- if(_session && !_session->isDestroyed())
+ if(_session)
{
+ if(_session->isDestroyed())
+ {
+ throw NodeUnreachableException(_name, "the node is not active");
+ }
return;
}
else if(!_proxy && !_registering)
@@ -781,10 +785,13 @@ NodeEntry::checkSession() const
while(_registering)
{
- wait();
+ if(!timedWait(IceUtil::Time::seconds(5)))
+ {
+ break; // Consider the node down if it doesn't respond promptly.
+ }
}
- if(!_session)
+ if(!_session || _session->isDestroyed())
{
throw NodeUnreachableException(_name, "the node is not active");
}
@@ -970,5 +977,25 @@ NodeEntry::getInternalServerDescriptor(const ServerInfo& info) const
//
forEachCommunicator(ToInternalServerDescriptor(server, _session->getInfo(), iceVersion))(info.descriptor);
+ //
+ // For Ice servers > 3.3.0 escape the properties.
+ //
+ if(iceVersion == 0 || iceVersion >= 30300)
+ {
+ PropertyDescriptorSeq newProps;
+ for(PropertyDescriptorSeq::const_iterator p = props.begin(); p != props.end(); ++p)
+ {
+ if(p->value.empty() && p->name.find('#') == 0)
+ {
+ newProps.push_back(createProperty(p->name));
+ }
+ else
+ {
+ newProps.push_back(createProperty(escapeProperty(p->name), escapeProperty(p->value)));
+ }
+ }
+ server->properties["config"] = newProps;
+ }
+
return server;
}
diff --git a/cpp/src/IceGrid/NodeCache.h b/cpp/src/IceGrid/NodeCache.h
index f47ede772e3..cf02fc1f7a1 100644
--- a/cpp/src/IceGrid/NodeCache.h
+++ b/cpp/src/IceGrid/NodeCache.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.
@@ -45,7 +45,6 @@ public:
void addServer(const ServerEntryPtr&);
void removeServer(const ServerEntryPtr&);
void setSession(const NodeSessionIPtr&);
- void setSavedProxy(const NodePrx&);
NodePrx getProxy() const;
InternalNodeInfoPtr getInfo() const;
diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp
index 4328a4aef85..140e2e73d81 100644
--- a/cpp/src/IceGrid/NodeI.cpp
+++ b/cpp/src/IceGrid/NodeI.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.
@@ -188,6 +188,140 @@ private:
string _dest;
};
+class NodeUp : public NodeI::Update, public AMI_NodeObserver_nodeUp
+{
+public:
+
+ NodeUp(const NodeIPtr& node, const NodeObserverPrx& observer, NodeDynamicInfo info) :
+ NodeI::Update(node, observer), _info(info)
+ {
+ }
+
+ virtual bool
+ send()
+ {
+ try
+ {
+ _observer->nodeUp_async(this, _info);
+ }
+ catch(const Ice::LocalException&)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ virtual void
+ ice_response()
+ {
+ finished(true);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception&)
+ {
+ finished(false);
+ }
+
+private:
+
+ NodeDynamicInfo _info;
+};
+
+class UpdateServer : public NodeI::Update, public AMI_NodeObserver_updateServer
+{
+public:
+
+ UpdateServer(const NodeIPtr& node, const NodeObserverPrx& observer, ServerDynamicInfo info) :
+ NodeI::Update(node, observer), _info(info)
+ {
+ }
+
+ virtual bool
+ send()
+ {
+ try
+ {
+ _observer->updateServer_async(this, _node->getName(), _info);
+ }
+ catch(const Ice::LocalException&)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ virtual void
+ ice_response()
+ {
+ finished(true);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception&)
+ {
+ finished(false);
+ }
+
+private:
+
+ ServerDynamicInfo _info;
+};
+
+class UpdateAdapter : public NodeI::Update, public AMI_NodeObserver_updateAdapter
+{
+public:
+
+ UpdateAdapter(const NodeIPtr& node, const NodeObserverPrx& observer, AdapterDynamicInfo info) :
+ NodeI::Update(node, observer), _info(info)
+ {
+ }
+
+ virtual bool
+ send()
+ {
+ try
+ {
+ _observer->updateAdapter_async(this, _node->getName(), _info);
+ }
+ catch(const Ice::LocalException&)
+ {
+ return false;
+ }
+ return true;
+ }
+
+ virtual void
+ ice_response()
+ {
+ finished(true);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception&)
+ {
+ finished(false);
+ }
+
+private:
+
+ AdapterDynamicInfo _info;
+};
+
+}
+
+NodeI::Update::Update(const NodeIPtr& node, const NodeObserverPrx& observer) : _node(node), _observer(observer)
+{
+}
+
+NodeI::Update::~Update()
+{
+}
+
+void
+NodeI::Update::finished(bool success)
+{
+ _node->dequeueUpdate(_observer, this, !success);
}
NodeI::NodeI(const Ice::ObjectAdapterPtr& adapter,
@@ -697,9 +831,17 @@ NodeI::read(const string& filename, Ice::Long pos, int size, Ice::Long& newPos,
}
void
-NodeI::destroy()
+NodeI::shutdown()
{
IceUtil::Mutex::Lock sync(_serversLock);
+ for(map<string, set<ServerIPtr> >::const_iterator p = _serversByApplication.begin();
+ p != _serversByApplication.end(); ++p)
+ {
+ for(set<ServerIPtr>::const_iterator q = p->second.begin(); q != p->second.end(); ++q)
+ {
+ (*q)->shutdown();
+ }
+ }
_serversByApplication.clear();
}
@@ -847,6 +989,8 @@ NodeI::addObserver(const NodeSessionPrx& session, const NodeObserverPrx& observe
assert(_observers.find(session) == _observers.end());
_observers.insert(make_pair(session, observer));
+ _observerUpdates.erase(observer); // Remove any updates from the previous session.
+
ServerDynamicInfoSeq serverInfos;
AdapterDynamicInfoSeq adapterInfos;
for(map<string, ServerDynamicInfo>::const_iterator p = _serversDynamicInfo.begin();
@@ -863,19 +1007,11 @@ NodeI::addObserver(const NodeSessionPrx& session, const NodeObserverPrx& observe
adapterInfos.push_back(q->second);
}
- try
- {
- NodeDynamicInfo info;
- info.info = _platform.getNodeInfo();
- info.servers = serverInfos;
- info.adapters = adapterInfos;
- observer->nodeUp(info);
- }
- catch(const Ice::LocalException& ex)
- {
- Ice::Warning out(_traceLevels->logger);
- out << "unexpected observer exception:\n" << ex;
- }
+ NodeDynamicInfo info;
+ info.info = _platform.getNodeInfo();
+ info.servers = serverInfos;
+ info.adapters = adapterInfos;
+ queueUpdate(observer, new NodeUp(this, observer, info));
}
void
@@ -910,15 +1046,7 @@ NodeI::observerUpdateServer(const ServerDynamicInfo& info)
{
if(sent.find(p->second) == sent.end())
{
- try
- {
- p->second->updateServer(_name, info);
- sent.insert(p->second);
- }
- catch(const Ice::LocalException&)
- {
- // IGNORE
- }
+ queueUpdate(p->second, new UpdateServer(this, p->second, info));
}
}
}
@@ -948,16 +1076,50 @@ NodeI::observerUpdateAdapter(const AdapterDynamicInfo& info)
{
if(sent.find(p->second) == sent.end())
{
- try
- {
- p->second->updateAdapter(_name, info);
- }
- catch(const Ice::LocalException&)
- {
- // IGNORE
- }
+ queueUpdate(p->second, new UpdateAdapter(this, p->second, info));
+ }
+ }
+}
+
+void
+NodeI::queueUpdate(const NodeObserverPrx& proxy, const UpdatePtr& update)
+{
+ //Lock sync(*this); Called within the synchronization
+ map<NodeObserverPrx, deque<UpdatePtr> >::iterator p = _observerUpdates.find(proxy);
+ if(p == _observerUpdates.end())
+ {
+ if(update->send())
+ {
+ _observerUpdates[proxy].push_back(update);
}
}
+ else
+ {
+ p->second.push_back(update);
+ }
+}
+
+void
+NodeI::dequeueUpdate(const NodeObserverPrx& proxy, const UpdatePtr& update, bool all)
+{
+ IceUtil::Mutex::Lock sync(_observerMutex);
+ map<NodeObserverPrx, deque<UpdatePtr> >::iterator p = _observerUpdates.find(proxy);
+ if(p == _observerUpdates.end() || p->second.front().get() != update.get())
+ {
+ return;
+ }
+
+ p->second.pop_front();
+
+ if(all || (!p->second.empty() && !p->second.front()->send()))
+ {
+ p->second.clear();
+ }
+
+ if(p->second.empty())
+ {
+ _observerUpdates.erase(p);
+ }
}
void
diff --git a/cpp/src/IceGrid/NodeI.h b/cpp/src/IceGrid/NodeI.h
index 36ac0019c0e..46c6470bb83 100644
--- a/cpp/src/IceGrid/NodeI.h
+++ b/cpp/src/IceGrid/NodeI.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.
@@ -35,9 +35,29 @@ typedef IceUtil::Handle<ServerCommand> ServerCommandPtr;
class NodeSessionManager;
+class NodeI;
+typedef IceUtil::Handle<NodeI> NodeIPtr;
+
class NodeI : public Node, public IceUtil::Monitor<IceUtil::Mutex>
{
public:
+ class Update : virtual public IceUtil::Shared
+ {
+ public:
+
+ Update(const NodeIPtr&, const NodeObserverPrx&);
+ virtual ~Update();
+
+ virtual bool send() = 0;
+
+ void finished(bool);
+
+ protected:
+
+ const NodeIPtr _node;
+ const NodeObserverPrx _observer;
+ };
+ typedef IceUtil::Handle<Update> UpdatePtr;
NodeI(const Ice::ObjectAdapterPtr&, NodeSessionManager&, const ActivatorPtr&, const IceUtil::TimerPtr&,
const TraceLevelsPtr&, const NodePrx&, const std::string&, const UserAccountMapperPrx&);
@@ -72,7 +92,7 @@ public:
virtual Ice::Long getOffsetFromEnd(const std::string&, int, const Ice::Current&) const;
virtual bool read(const std::string&, Ice::Long, int, Ice::Long&, Ice::StringSeq&, const Ice::Current&) const;
- void destroy();
+ void shutdown();
IceUtil::TimerPtr getTimer() const;
Ice::CommunicatorPtr getCommunicator() const;
@@ -97,6 +117,8 @@ public:
void removeObserver(const NodeSessionPrx&);
void observerUpdateServer(const ServerDynamicInfo&);
void observerUpdateAdapter(const AdapterDynamicInfo&);
+ void queueUpdate(const NodeObserverPrx&, const UpdatePtr&);
+ void dequeueUpdate(const NodeObserverPrx&, const UpdatePtr&, bool);
void addServer(const ServerIPtr&, const std::string&);
void removeServer(const ServerIPtr&, const std::string&);
@@ -143,6 +165,8 @@ private:
std::map<std::string, ServerDynamicInfo> _serversDynamicInfo;
std::map<std::string, AdapterDynamicInfo> _adaptersDynamicInfo;
+ std::map<NodeObserverPrx, std::deque<UpdatePtr> > _observerUpdates;
+
IceUtil::Mutex _serversLock;
std::map<std::string, std::set<ServerIPtr> > _serversByApplication;
std::set<std::string> _patchInProgress;
diff --git a/cpp/src/IceGrid/NodeServerAdminRouter.cpp b/cpp/src/IceGrid/NodeServerAdminRouter.cpp
index 121cee80e0e..558d517e0f9 100644
--- a/cpp/src/IceGrid/NodeServerAdminRouter.cpp
+++ b/cpp/src/IceGrid/NodeServerAdminRouter.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/src/IceGrid/NodeServerAdminRouter.h b/cpp/src/IceGrid/NodeServerAdminRouter.h
index af1d7194159..b984b396a69 100644
--- a/cpp/src/IceGrid/NodeServerAdminRouter.h
+++ b/cpp/src/IceGrid/NodeServerAdminRouter.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/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp
index 34cae9c8084..34ee3102d80 100644
--- a/cpp/src/IceGrid/NodeSessionI.cpp
+++ b/cpp/src/IceGrid/NodeSessionI.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/src/IceGrid/NodeSessionI.h b/cpp/src/IceGrid/NodeSessionI.h
index 4a29b01d9e6..b0b54a3d7d9 100644
--- a/cpp/src/IceGrid/NodeSessionI.h
+++ b/cpp/src/IceGrid/NodeSessionI.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/src/IceGrid/NodeSessionManager.cpp b/cpp/src/IceGrid/NodeSessionManager.cpp
index 06ae7828d3f..718a559f92f 100644
--- a/cpp/src/IceGrid/NodeSessionManager.cpp
+++ b/cpp/src/IceGrid/NodeSessionManager.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.
@@ -581,7 +581,7 @@ NodeSessionManager::createdSession(const NodeSessionPrx& session)
//
for(vector<NodeSessionKeepAliveThreadPtr>::const_iterator p = sessions.begin(); p != sessions.end(); ++p)
{
- (*p)->tryCreateSession(true);
+ (*p)->tryCreateSession(true, IceUtil::Time::seconds(5));
}
}
diff --git a/cpp/src/IceGrid/NodeSessionManager.h b/cpp/src/IceGrid/NodeSessionManager.h
index a877385d8fd..418654c0952 100644
--- a/cpp/src/IceGrid/NodeSessionManager.h
+++ b/cpp/src/IceGrid/NodeSessionManager.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/src/IceGrid/ObjectCache.cpp b/cpp/src/IceGrid/ObjectCache.cpp
index 69334bef8f0..790c52af2ad 100644
--- a/cpp/src/IceGrid/ObjectCache.cpp
+++ b/cpp/src/IceGrid/ObjectCache.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/src/IceGrid/ObjectCache.h b/cpp/src/IceGrid/ObjectCache.h
index 727577ecbf9..ce6b2ab279a 100644
--- a/cpp/src/IceGrid/ObjectCache.h
+++ b/cpp/src/IceGrid/ObjectCache.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/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index f7cc1383cc6..9d5c37df304 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.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.
@@ -1546,7 +1546,6 @@ Parser::listServices(const list<string>& args)
}
string server = args.front();
- string service = *(++args.begin());
try
{
ServerInfo info = _admin->getServerInfo(server);
@@ -1991,7 +1990,7 @@ Parser::showFile(const string& reader, const list<string>& origArgs)
void
Parser::showBanner()
{
- cout << "Ice " << ICE_STRING_VERSION << " Copyright 2003-2008 ZeroC, Inc." << endl;
+ cout << "Ice " << ICE_STRING_VERSION << " Copyright 2003-2009 ZeroC, Inc." << endl;
}
void
diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h
index 3f514f80171..a6c38ef8b23 100644
--- a/cpp/src/IceGrid/Parser.h
+++ b/cpp/src/IceGrid/Parser.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/src/IceGrid/PlatformInfo.cpp b/cpp/src/IceGrid/PlatformInfo.cpp
index b2550730d6e..d8c23038fc8 100644
--- a/cpp/src/IceGrid/PlatformInfo.cpp
+++ b/cpp/src/IceGrid/PlatformInfo.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/src/IceGrid/PlatformInfo.h b/cpp/src/IceGrid/PlatformInfo.h
index b916a87e8fa..904d63be8e9 100644
--- a/cpp/src/IceGrid/PlatformInfo.h
+++ b/cpp/src/IceGrid/PlatformInfo.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/src/IceGrid/QueryI.cpp b/cpp/src/IceGrid/QueryI.cpp
index 089af25fda8..9d25b484360 100644
--- a/cpp/src/IceGrid/QueryI.cpp
+++ b/cpp/src/IceGrid/QueryI.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/src/IceGrid/QueryI.h b/cpp/src/IceGrid/QueryI.h
index 1fed2f245f6..8d38c55d791 100644
--- a/cpp/src/IceGrid/QueryI.h
+++ b/cpp/src/IceGrid/QueryI.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/src/IceGrid/ReapThread.cpp b/cpp/src/IceGrid/ReapThread.cpp
index 6b61a8e6562..42483b29d2b 100644
--- a/cpp/src/IceGrid/ReapThread.cpp
+++ b/cpp/src/IceGrid/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/src/IceGrid/ReapThread.h b/cpp/src/IceGrid/ReapThread.h
index 2222404d5c2..def5c6b0ce1 100644
--- a/cpp/src/IceGrid/ReapThread.h
+++ b/cpp/src/IceGrid/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/src/IceGrid/RegistryI.cpp b/cpp/src/IceGrid/RegistryI.cpp
index 3758732fc78..b5c58b51583 100644
--- a/cpp/src/IceGrid/RegistryI.cpp
+++ b/cpp/src/IceGrid/RegistryI.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/src/IceGrid/RegistryI.h b/cpp/src/IceGrid/RegistryI.h
index 7d82c5c6afb..59102782ee6 100644
--- a/cpp/src/IceGrid/RegistryI.h
+++ b/cpp/src/IceGrid/RegistryI.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/src/IceGrid/RegistryServerAdminRouter.cpp b/cpp/src/IceGrid/RegistryServerAdminRouter.cpp
index d3183a02fcc..0294b6b032e 100644
--- a/cpp/src/IceGrid/RegistryServerAdminRouter.cpp
+++ b/cpp/src/IceGrid/RegistryServerAdminRouter.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/src/IceGrid/RegistryServerAdminRouter.h b/cpp/src/IceGrid/RegistryServerAdminRouter.h
index 5412dad749b..a65edfe4159 100644
--- a/cpp/src/IceGrid/RegistryServerAdminRouter.h
+++ b/cpp/src/IceGrid/RegistryServerAdminRouter.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/src/IceGrid/ReplicaCache.cpp b/cpp/src/IceGrid/ReplicaCache.cpp
index 2c4c0599d18..40e4e06869c 100644
--- a/cpp/src/IceGrid/ReplicaCache.cpp
+++ b/cpp/src/IceGrid/ReplicaCache.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/src/IceGrid/ReplicaCache.h b/cpp/src/IceGrid/ReplicaCache.h
index 6f2ca39dd83..81d378dc89a 100644
--- a/cpp/src/IceGrid/ReplicaCache.h
+++ b/cpp/src/IceGrid/ReplicaCache.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/src/IceGrid/ReplicaSessionI.cpp b/cpp/src/IceGrid/ReplicaSessionI.cpp
index c14855168ad..5912f8bf866 100644
--- a/cpp/src/IceGrid/ReplicaSessionI.cpp
+++ b/cpp/src/IceGrid/ReplicaSessionI.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/src/IceGrid/ReplicaSessionI.h b/cpp/src/IceGrid/ReplicaSessionI.h
index 5b39cd27f46..f71afe0df9b 100644
--- a/cpp/src/IceGrid/ReplicaSessionI.h
+++ b/cpp/src/IceGrid/ReplicaSessionI.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/src/IceGrid/ReplicaSessionManager.cpp b/cpp/src/IceGrid/ReplicaSessionManager.cpp
index a1f4e26c229..05e57c908ef 100644
--- a/cpp/src/IceGrid/ReplicaSessionManager.cpp
+++ b/cpp/src/IceGrid/ReplicaSessionManager.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/src/IceGrid/ReplicaSessionManager.h b/cpp/src/IceGrid/ReplicaSessionManager.h
index 49f052cb32f..76e6d45e604 100644
--- a/cpp/src/IceGrid/ReplicaSessionManager.h
+++ b/cpp/src/IceGrid/ReplicaSessionManager.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/src/IceGrid/Scanner.cpp b/cpp/src/IceGrid/Scanner.cpp
new file mode 100644
index 00000000000..f5379d68444
--- /dev/null
+++ b/cpp/src/IceGrid/Scanner.cpp
@@ -0,0 +1,1790 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 8
+#define YY_END_OF_BUFFER 9
+static yyconst short int yy_accept[19] =
+ { 0,
+ 3, 3, 9, 7, 3, 4, 5, 6, 7, 4,
+ 7, 3, 0, 2, 1, 0, 3, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 1,
+ 1, 6, 1, 1, 1, 1, 7, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[10] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[19] =
+ { 0,
+ 0, 0, 11, 22, 8, 22, 22, 22, 12, 22,
+ 18, 0, 0, 22, 22, 0, 22, 22
+ } ;
+
+static yyconst short int yy_def[19] =
+ { 0,
+ 18, 1, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 5, 11, 18, 18, 11, 18, 0
+ } ;
+
+static yyconst short int yy_nxt[32] =
+ { 0,
+ 4, 5, 6, 7, 8, 4, 9, 10, 11, 12,
+ 18, 18, 18, 18, 18, 18, 13, 14, 15, 16,
+ 17, 3, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18
+ } ;
+
+static yyconst short int yy_chk[32] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
+ 3, 0, 0, 0, 0, 0, 5, 9, 9, 11,
+ 11, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <IceGrid/Parser.h>
+#include <IceGrid/Grammar.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+using namespace Ice;
+using namespace IceGrid;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+namespace IceGrid
+{
+
+typedef std::map<std::string, int> StringTokenMap;
+static StringTokenMap keywordMap;
+
+void initScanner();
+
+}
+#define YY_USER_INIT initScanner();
+
+#define YY_ALWAYS_INTERACTIVE 1
+#line 416 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 50 "Scanner.l"
+
+
+#line 570 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 22 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 52 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 62 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 87 "Scanner.l"
+{
+ size_t len = strlen(yytext);
+ for(size_t i = 0; i < len; ++i)
+ {
+ if(yytext[i] == '\\')
+ {
+ parser->continueLine();
+ }
+ }
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 98 "Scanner.l"
+{
+ return ';';
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 102 "Scanner.l"
+{
+ // "..."-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ s += next;
+ break;
+ }
+
+ case 'n':
+ {
+ s += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ s += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ s += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ s += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ s += '\f';
+ break;
+ }
+
+ default:
+ {
+ s += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return ICE_GRID_STRING;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 176 "Scanner.l"
+{
+ // '...'-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '\'')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return ICE_GRID_STRING;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 201 "Scanner.l"
+{
+ // Simple strings
+ string s;
+ s += yytext[0];
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == EOF)
+ {
+ break;
+ }
+ else if(isspace(static_cast<unsigned char>(c)) || c == ';')
+ {
+ unput(c);
+ break;
+ }
+
+ s += c;
+ }
+
+ yylvalp->clear();
+ yylvalp->push_back(s);
+
+ StringTokenMap::const_iterator pos = keywordMap.find(s);
+ return pos != keywordMap.end() ? pos->second : ICE_GRID_STRING;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 228 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 855 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 18);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 228 "Scanner.l"
+
+
+namespace IceGrid {
+
+//
+// initScanner() fills the keyword map with all keyword-token pairs.
+//
+
+void
+initScanner()
+{
+ keywordMap["help"] = ICE_GRID_HELP;
+ keywordMap["quit"] = ICE_GRID_EXIT;
+ keywordMap["exit"] = ICE_GRID_EXIT;
+ keywordMap["application"] = ICE_GRID_APPLICATION;
+ keywordMap["server"] = ICE_GRID_SERVER;
+ keywordMap["adapter"] = ICE_GRID_ADAPTER;
+ keywordMap["add"] = ICE_GRID_ADD;
+ keywordMap["remove"] = ICE_GRID_REMOVE;
+ keywordMap["list"] = ICE_GRID_LIST;
+ keywordMap["shutdown"] = ICE_GRID_SHUTDOWN;
+ keywordMap["describe"] = ICE_GRID_DESCRIBE;
+ keywordMap["properties"] = ICE_GRID_PROPERTIES;
+ keywordMap["property"] = ICE_GRID_PROPERTY;
+ keywordMap["state"] = ICE_GRID_STATE;
+ keywordMap["pid"] = ICE_GRID_PID;
+ keywordMap["endpoints"] = ICE_GRID_ENDPOINTS;
+ keywordMap["start"] = ICE_GRID_START;
+ keywordMap["patch"] = ICE_GRID_PATCH;
+ keywordMap["stop"] = ICE_GRID_STOP;
+ keywordMap["signal"] = ICE_GRID_SIGNAL;
+ keywordMap["stdout"] = ICE_GRID_STDOUT;
+ keywordMap["stderr"] = ICE_GRID_STDERR;
+ keywordMap["node"] = ICE_GRID_NODE;
+ keywordMap["registry"] = ICE_GRID_REGISTRY;
+ keywordMap["ping"] = ICE_GRID_PING;
+ keywordMap["load"] = ICE_GRID_LOAD;
+ keywordMap["activation"] = ICE_GRID_ACTIVATION;
+ keywordMap["object"] = ICE_GRID_OBJECT;
+ keywordMap["find"] = ICE_GRID_FIND;
+ keywordMap["show"] = ICE_GRID_SHOW;
+ keywordMap["copying"] = ICE_GRID_COPYING;
+ keywordMap["warranty"] = ICE_GRID_WARRANTY;
+ keywordMap["diff"] = ICE_GRID_DIFF;
+ keywordMap["update"] = ICE_GRID_UPDATE;
+ keywordMap["instantiate"] = ICE_GRID_INSTANTIATE;
+ keywordMap["template"] = ICE_GRID_TEMPLATE;
+ keywordMap["service"] = ICE_GRID_SERVICE;
+ keywordMap["enable"] = ICE_GRID_ENABLE;
+ keywordMap["disable"] = ICE_GRID_DISABLE;
+}
+
+}
diff --git a/cpp/src/IceGrid/Scanner.l b/cpp/src/IceGrid/Scanner.l
index cfb70a50aa5..92470c2c88b 100644
--- a/cpp/src/IceGrid/Scanner.l
+++ b/cpp/src/IceGrid/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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.
@@ -209,7 +209,7 @@ keyword [[:alpha:]]*
{
break;
}
- else if(isspace(c) || c == ';')
+ else if(isspace(static_cast<unsigned char>(c)) || c == ';')
{
unput(c);
break;
diff --git a/cpp/src/IceGrid/ServerAdapterI.cpp b/cpp/src/IceGrid/ServerAdapterI.cpp
index ba904bdf199..1f9e2fef819 100644
--- a/cpp/src/IceGrid/ServerAdapterI.cpp
+++ b/cpp/src/IceGrid/ServerAdapterI.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.
@@ -96,6 +96,12 @@ ServerAdapterI::activate_async(const AMD_Adapter_activatePtr& cb, const Ice::Cur
destroy();
activationFailed("server destroyed");
}
+ catch(const Ice::Exception& ex)
+ {
+ ostringstream os;
+ os << "unexpected exception: " << ex;
+ activationFailed(os.str());
+ }
}
Ice::ObjectPrx
@@ -188,7 +194,14 @@ ServerAdapterI::setDirectProxy(const Ice::ObjectPrx& prx, const Ice::Current&)
void
ServerAdapterI::destroy()
{
- _node->getAdapter()->remove(_this->ice_getIdentity());
+ try
+ {
+ _node->getAdapter()->remove(_this->ice_getIdentity());
+ }
+ catch(const Ice::LocalException&)
+ {
+ // Ignore.
+ }
}
void
diff --git a/cpp/src/IceGrid/ServerAdapterI.h b/cpp/src/IceGrid/ServerAdapterI.h
index cebbdee23c5..f2db60ae1fc 100644
--- a/cpp/src/IceGrid/ServerAdapterI.h
+++ b/cpp/src/IceGrid/ServerAdapterI.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/src/IceGrid/ServerCache.cpp b/cpp/src/IceGrid/ServerCache.cpp
index 2b23d511c86..c90a07f3832 100644
--- a/cpp/src/IceGrid/ServerCache.cpp
+++ b/cpp/src/IceGrid/ServerCache.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/src/IceGrid/ServerCache.h b/cpp/src/IceGrid/ServerCache.h
index 5e70790592c..ac5863db7ba 100644
--- a/cpp/src/IceGrid/ServerCache.h
+++ b/cpp/src/IceGrid/ServerCache.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/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index c033ff18817..b01219c4e46 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.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.
@@ -320,7 +320,7 @@ struct EnvironmentEval : std::unary_function<string, string>
else
{
end = beg + 1;
- while((isalnum(v[end]) || v[end] == '_') && end < v.size())
+ while((isalnum(static_cast<unsigned char>(v[end])) || v[end] == '_') && end < v.size())
{
++end;
}
@@ -357,7 +357,14 @@ void
TimedServerCommand::startTimer()
{
_timerTask = new CommandTimeoutTimerTask(this);
- _timer->schedule(_timerTask, IceUtil::Time::seconds(_timeout));
+ try
+ {
+ _timer->schedule(_timerTask, IceUtil::Time::seconds(_timeout));
+ }
+ catch(const IceUtil::Exception&)
+ {
+ // Ignore, timer is destroyed because node is shutting down.
+ }
}
void
@@ -907,7 +914,8 @@ ServerI::isAdapterActivatable(const string& id) const
}
else if(_state < Destroying)
{
- return true; // The server is being deactivated.
+ return _node->getActivator()->isActive(); // The server is being deactivated and the
+ // node isn't shutting down yet.
}
else
{
@@ -1686,6 +1694,14 @@ ServerI::terminated(const string& msg, int status)
}
void
+ServerI::shutdown()
+{
+ Lock sync(*this);
+ assert(_state == ServerI::Inactive);
+ _timerTask = 0;
+}
+
+void
ServerI::update()
{
ServerCommandPtr command;
@@ -2119,6 +2135,10 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor)
// Create the configuration files, remove the old ones.
//
{
+ //
+ // We do not want to esapce the properties if the Ice version is
+ // previous to Ice 3.3.
+ //
Ice::StringSeq knownFiles;
for(PropertyDescriptorSeqDict::const_iterator p = properties.begin(); p != properties.end(); ++p)
{
@@ -2139,7 +2159,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor)
}
else
{
- configfile << escapeProperty(r->name) << "=" << escapeProperty(r->value) << endl;
+ configfile << r->name << "=" << r->value << endl;
}
}
configfile.close();
@@ -2514,7 +2534,14 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason)
if(_activation == Always)
{
_timerTask = new DelayedStart(this, _node->getTraceLevels());
- _node->getTimer()->schedule(_timerTask, IceUtil::Time::milliSeconds(500));
+ try
+ {
+ _node->getTimer()->schedule(_timerTask, IceUtil::Time::milliSeconds(500));
+ }
+ catch(const IceUtil::Exception&)
+ {
+ // Ignore, timer is destroyed because node is shutting down.
+ }
}
else if(_activation == Disabled && _disableOnFailure > 0 && _failureTime != IceUtil::Time())
{
@@ -2526,8 +2553,16 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason)
// callback is executed.
//
_timerTask = new DelayedStart(this, _node->getTraceLevels());
- _node->getTimer()->schedule(_timerTask,
- IceUtil::Time::seconds(_disableOnFailure) + IceUtil::Time::milliSeconds(500));
+ try
+ {
+ _node->getTimer()->schedule(_timerTask,
+ IceUtil::Time::seconds(_disableOnFailure) +
+ IceUtil::Time::milliSeconds(500));
+ }
+ catch(const IceUtil::Exception&)
+ {
+ // Ignore, timer is destroyed because node is shutting down.
+ }
}
}
diff --git a/cpp/src/IceGrid/ServerI.h b/cpp/src/IceGrid/ServerI.h
index 3cd6441447e..9d04b017b7f 100644
--- a/cpp/src/IceGrid/ServerI.h
+++ b/cpp/src/IceGrid/ServerI.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.
@@ -109,6 +109,7 @@ public:
void update();
void destroy();
void terminated(const std::string&, int);
+ void shutdown();
//
// A proxy to the Process facet of the real Admin object; called by the AdminFacade servant implementation
diff --git a/cpp/src/IceGrid/SessionI.cpp b/cpp/src/IceGrid/SessionI.cpp
index 79bbda120e1..15433e06013 100644
--- a/cpp/src/IceGrid/SessionI.cpp
+++ b/cpp/src/IceGrid/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/src/IceGrid/SessionI.h b/cpp/src/IceGrid/SessionI.h
index 7e9bf4f1d93..406ebf31a75 100644
--- a/cpp/src/IceGrid/SessionI.h
+++ b/cpp/src/IceGrid/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/src/IceGrid/SessionManager.h b/cpp/src/IceGrid/SessionManager.h
index 7760241e865..232bad71300 100644
--- a/cpp/src/IceGrid/SessionManager.h
+++ b/cpp/src/IceGrid/SessionManager.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.
@@ -189,7 +189,7 @@ public:
}
virtual void
- tryCreateSession(bool waitForTry = true)
+ tryCreateSession(bool waitForTry = true, const IceUtil::Time& timeout = IceUtil::Time())
{
{
Lock sync(*this);
@@ -215,7 +215,17 @@ public:
// Wait until the action is executed and the state changes.
while(_nextAction == Connect || _nextAction == KeepAlive || _state == InProgress)
{
- wait();
+ if(timeout == IceUtil::Time())
+ {
+ wait();
+ }
+ else
+ {
+ if(!timedWait(timeout))
+ {
+ break;
+ }
+ }
}
}
}
diff --git a/cpp/src/IceGrid/SessionServantManager.cpp b/cpp/src/IceGrid/SessionServantManager.cpp
index 868e86ec320..71dd2cd4f67 100644
--- a/cpp/src/IceGrid/SessionServantManager.cpp
+++ b/cpp/src/IceGrid/SessionServantManager.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/src/IceGrid/SessionServantManager.h b/cpp/src/IceGrid/SessionServantManager.h
index 52fc0b23816..6b6e66abfbb 100644
--- a/cpp/src/IceGrid/SessionServantManager.h
+++ b/cpp/src/IceGrid/SessionServantManager.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/src/IceGrid/Topics.cpp b/cpp/src/IceGrid/Topics.cpp
index fd25b90e269..1825d7d5e49 100644
--- a/cpp/src/IceGrid/Topics.cpp
+++ b/cpp/src/IceGrid/Topics.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/src/IceGrid/Topics.h b/cpp/src/IceGrid/Topics.h
index 8ccbf9a5b71..b2f8ef86024 100644
--- a/cpp/src/IceGrid/Topics.h
+++ b/cpp/src/IceGrid/Topics.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/src/IceGrid/TraceLevels.cpp b/cpp/src/IceGrid/TraceLevels.cpp
index 872d7dc28f7..daa65ebcadb 100644
--- a/cpp/src/IceGrid/TraceLevels.cpp
+++ b/cpp/src/IceGrid/TraceLevels.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/src/IceGrid/TraceLevels.h b/cpp/src/IceGrid/TraceLevels.h
index f4a416e59e1..15e7ee40438 100644
--- a/cpp/src/IceGrid/TraceLevels.h
+++ b/cpp/src/IceGrid/TraceLevels.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/src/IceGrid/Util.cpp b/cpp/src/IceGrid/Util.cpp
index d3b6b998738..cf6d248c1a4 100644
--- a/cpp/src/IceGrid/Util.cpp
+++ b/cpp/src/IceGrid/Util.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.
@@ -100,14 +100,23 @@ IceGrid::createProperty(const string& name, const string& value)
string
IceGrid::escapeProperty(const string& s)
{
+ size_t firstChar = s.find_first_not_of(' ');
+ size_t lastChar = s.find_last_not_of(' ');
string result;
for(unsigned int i = 0; i < s.size(); ++i)
{
char c = s[i];
switch(c)
{
- case '\\':
case ' ':
+ if(i < firstChar || i > lastChar)
+ {
+ result.push_back('\\');
+ }
+ result.push_back(c);
+ break;
+
+ case '\\':
case '#':
case '=':
result.push_back('\\');
diff --git a/cpp/src/IceGrid/Util.h b/cpp/src/IceGrid/Util.h
index 8b7df2f0d03..b5ba994849d 100644
--- a/cpp/src/IceGrid/Util.h
+++ b/cpp/src/IceGrid/Util.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/src/IceGrid/WaitQueue.cpp b/cpp/src/IceGrid/WaitQueue.cpp
index 3eda6f789ae..7c4b74ea854 100644
--- a/cpp/src/IceGrid/WaitQueue.cpp
+++ b/cpp/src/IceGrid/WaitQueue.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/src/IceGrid/WaitQueue.h b/cpp/src/IceGrid/WaitQueue.h
index b30872d7c77..6e4a14e1211 100644
--- a/cpp/src/IceGrid/WaitQueue.h
+++ b/cpp/src/IceGrid/WaitQueue.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/src/IceGrid/WellKnownObjectsManager.cpp b/cpp/src/IceGrid/WellKnownObjectsManager.cpp
index 6278d03597f..ed499233184 100644
--- a/cpp/src/IceGrid/WellKnownObjectsManager.cpp
+++ b/cpp/src/IceGrid/WellKnownObjectsManager.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/src/IceGrid/WellKnownObjectsManager.h b/cpp/src/IceGrid/WellKnownObjectsManager.h
index 587aea5c8bc..c63d7477d14 100644
--- a/cpp/src/IceGrid/WellKnownObjectsManager.h
+++ b/cpp/src/IceGrid/WellKnownObjectsManager.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/src/IceGridLib/IceGrid.rc b/cpp/src/IceGridLib/IceGrid.rc
index c0b6601b9df..da7d0050c1b 100644
--- a/cpp/src/IceGridLib/IceGrid.rc
+++ b/cpp/src/IceGridLib/IceGrid.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceGrid DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceGridLib/Makefile b/cpp/src/IceGridLib/Makefile
index 3226383a7b3..19f8ac49b3e 100644
--- a/cpp/src/IceGridLib/Makefile
+++ b/cpp/src/IceGridLib/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/src/IceGridLib/Makefile.mak b/cpp/src/IceGridLib/Makefile.mak
index 4f155009f65..eb0d57cb251 100644
--- a/cpp/src/IceGridLib/Makefile.mak
+++ b/cpp/src/IceGridLib/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/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp
index 9ed422548da..0adb2a2394a 100644
--- a/cpp/src/IcePatch2/Calc.cpp
+++ b/cpp/src/IcePatch2/Calc.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.
@@ -43,7 +43,7 @@ struct IFileInfoPathEqual: public binary_function<const FileInfo&, const FileInf
for(string::size_type i = 0; i < lhs.path.size(); ++i)
{
- if(::tolower(lhs.path[i]) != ::tolower(rhs.path[i]))
+ if(::tolower(static_cast<unsigned char>(lhs.path[i])) != ::tolower(static_cast<unsigned char>(rhs.path[i])))
{
return false;
}
@@ -60,11 +60,12 @@ struct IFileInfoPathLess: public binary_function<const FileInfo&, const FileInfo
{
for(string::size_type i = 0; i < lhs.path.size() && i < rhs.path.size(); ++i)
{
- if(::tolower(lhs.path[i]) < ::tolower(rhs.path[i]))
+ if(::tolower(static_cast<unsigned char>(lhs.path[i])) < ::tolower(static_cast<unsigned char>(rhs.path[i])))
{
return true;
}
- else if(::tolower(lhs.path[i]) > ::tolower(rhs.path[i]))
+ else if(::tolower(static_cast<unsigned char>(lhs.path[i])) >
+ ::tolower(static_cast<unsigned char>(rhs.path[i])))
{
return false;
}
diff --git a/cpp/src/IcePatch2/Client.cpp b/cpp/src/IcePatch2/Client.cpp
index 3040c22d66b..76436d94eb8 100644
--- a/cpp/src/IcePatch2/Client.cpp
+++ b/cpp/src/IcePatch2/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.
@@ -8,6 +8,7 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/StringUtil.h>
#include <Ice/Application.h>
#include <IcePatch2/Util.h>
#include <IcePatch2/ClientUtil.h>
@@ -54,7 +55,7 @@ public:
{
cout << "Do a thorough patch? (yes/no)" << endl;
cin >> answer;
- transform(answer.begin(), answer.end(), answer.begin(), ::tolower);
+ answer = IceUtilInternal::toLower(answer);
if(answer == "no")
{
return false;
diff --git a/cpp/src/IcePatch2/ClientUtil.cpp b/cpp/src/IcePatch2/ClientUtil.cpp
index 072e35e0ed2..d2198c5d5ba 100644
--- a/cpp/src/IcePatch2/ClientUtil.cpp
+++ b/cpp/src/IcePatch2/ClientUtil.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/src/IcePatch2/FileServerI.cpp b/cpp/src/IcePatch2/FileServerI.cpp
index ac46286e001..46c22513ded 100644
--- a/cpp/src/IcePatch2/FileServerI.cpp
+++ b/cpp/src/IcePatch2/FileServerI.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/src/IcePatch2/FileServerI.h b/cpp/src/IcePatch2/FileServerI.h
index 7528925071b..e3147e4e281 100644
--- a/cpp/src/IcePatch2/FileServerI.h
+++ b/cpp/src/IcePatch2/FileServerI.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/src/IcePatch2/IcePatch2.rc b/cpp/src/IcePatch2/IcePatch2.rc
index 5e6ed31c0af..ddea01a5a08 100644
--- a/cpp/src/IcePatch2/IcePatch2.rc
+++ b/cpp/src/IcePatch2/IcePatch2.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IcePatch2 DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IcePatch2/IcePatch2Calc.rc b/cpp/src/IcePatch2/IcePatch2Calc.rc
index 05b0104ee35..dc2cad85ee1 100644
--- a/cpp/src/IcePatch2/IcePatch2Calc.rc
+++ b/cpp/src/IcePatch2/IcePatch2Calc.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IcePatch2 Calc\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icepatch2calc\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", "icepatch2calc.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IcePatch2/IcePatch2Client.rc b/cpp/src/IcePatch2/IcePatch2Client.rc
index e59d322cd70..3bc39547149 100644
--- a/cpp/src/IcePatch2/IcePatch2Client.rc
+++ b/cpp/src/IcePatch2/IcePatch2Client.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IcePatch2 Client\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icepatch2client\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", "icepatch2client.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IcePatch2/IcePatch2Server.rc b/cpp/src/IcePatch2/IcePatch2Server.rc
index e6ad19e01eb..c5c2de68feb 100644
--- a/cpp/src/IcePatch2/IcePatch2Server.rc
+++ b/cpp/src/IcePatch2/IcePatch2Server.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IcePatch2 Server\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icepatch2server\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", "icepatch2server.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IcePatch2/Makefile b/cpp/src/IcePatch2/Makefile
index bf8f87f8201..9c982caaae7 100644
--- a/cpp/src/IcePatch2/Makefile
+++ b/cpp/src/IcePatch2/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/src/IcePatch2/Makefile.mak b/cpp/src/IcePatch2/Makefile.mak
index 5885ec96e95..1ea9843bb5c 100644
--- a/cpp/src/IcePatch2/Makefile.mak
+++ b/cpp/src/IcePatch2/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/src/IcePatch2/OS.cpp b/cpp/src/IcePatch2/OS.cpp
index 42b78a4362b..61decba5332 100644
--- a/cpp/src/IcePatch2/OS.cpp
+++ b/cpp/src/IcePatch2/OS.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/src/IcePatch2/OS.h b/cpp/src/IcePatch2/OS.h
index 12cc63a5bc5..09352685c51 100644
--- a/cpp/src/IcePatch2/OS.h
+++ b/cpp/src/IcePatch2/OS.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/src/IcePatch2/Server.cpp b/cpp/src/IcePatch2/Server.cpp
index c7aeeb9c3cc..62b35de8004 100644
--- a/cpp/src/IcePatch2/Server.cpp
+++ b/cpp/src/IcePatch2/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/src/IcePatch2/Util.cpp b/cpp/src/IcePatch2/Util.cpp
index 2b572c27e57..ad06e7ebda5 100644
--- a/cpp/src/IcePatch2/Util.cpp
+++ b/cpp/src/IcePatch2/Util.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.
@@ -280,7 +280,8 @@ IcePatch2::simplify(const string& path)
}
if(result == "/." ||
- (result.size() == 4 && isalpha(result[0]) && result[1] == ':' && result[2] == '/' && result[3] == '.'))
+ (result.size() == 4 && isalpha(static_cast<unsigned char>(result[0])) && result[1] == ':' &&
+ result[2] == '/' && result[3] == '.'))
{
return result.substr(0, result.size() - 1);
}
@@ -290,7 +291,8 @@ IcePatch2::simplify(const string& path)
result.erase(result.size() - 2, 2);
}
- if(result == "/" || (result.size() == 3 && isalpha(result[0]) && result[1] == ':' && result[2] == '/'))
+ if(result == "/" || (result.size() == 3 && isalpha(static_cast<unsigned char>(result[0])) && result[1] == ':' &&
+ result[2] == '/'))
{
return result;
}
@@ -313,7 +315,8 @@ IcePatch2::isRoot(const string& pa)
{
string path = simplify(pa);
#ifdef _WIN32
- return path == "/" || path.size() == 3 && isalpha(path[0]) && path[1] == ':' && path[2] == '/';
+ return path == "/" || path.size() == 3 && isalpha(static_cast<unsigned char>(path[0])) && path[1] == ':' &&
+ path[2] == '/';
#else
return path == "/";
#endif
diff --git a/cpp/src/IcePatch2/Util.h b/cpp/src/IcePatch2/Util.h
index a703aedfb44..ff744ba9003 100644
--- a/cpp/src/IcePatch2/Util.h
+++ b/cpp/src/IcePatch2/Util.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/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp
index d354532f5d7..441e2fb8399 100644
--- a/cpp/src/IceSSL/AcceptorI.cpp
+++ b/cpp/src/IceSSL/AcceptorI.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.
@@ -67,12 +67,12 @@ IceInternal::TransceiverPtr
IceSSL::AcceptorI::accept()
{
//
- // The plugin may not be initialized.
+ // The plug-in may not be initialized.
//
if(!_instance->context())
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
@@ -109,7 +109,7 @@ IceSSL::AcceptorI::accept()
// SSL handshaking is performed in TransceiverI::initialize, since
// accept must not block.
//
- return new TransceiverI(_instance, ssl, fd, true, true, _adapterName);
+ return new TransceiverI(_instance, ssl, fd, "", true, true, _adapterName);
}
string
diff --git a/cpp/src/IceSSL/AcceptorI.h b/cpp/src/IceSSL/AcceptorI.h
index afcb6b6abbe..7117131395a 100644
--- a/cpp/src/IceSSL/AcceptorI.h
+++ b/cpp/src/IceSSL/AcceptorI.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/src/IceSSL/Certificate.cpp b/cpp/src/IceSSL/Certificate.cpp
index 4225c07a651..57a7f9b45b3 100644
--- a/cpp/src/IceSSL/Certificate.cpp
+++ b/cpp/src/IceSSL/Certificate.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/src/IceSSL/ConnectorI.cpp b/cpp/src/IceSSL/ConnectorI.cpp
index 0e63104669b..aa034e66a18 100644
--- a/cpp/src/IceSSL/ConnectorI.cpp
+++ b/cpp/src/IceSSL/ConnectorI.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.
@@ -25,12 +25,12 @@ IceInternal::TransceiverPtr
IceSSL::ConnectorI::connect()
{
//
- // The plugin may not be initialized.
+ // The plug-in may not be initialized.
//
if(!_instance->context())
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
@@ -71,7 +71,7 @@ IceSSL::ConnectorI::connect()
// SSL handshaking is performed in TransceiverI::initialize, since
// connect must not block.
//
- return new TransceiverI(_instance, ssl, fd, connected, false);
+ return new TransceiverI(_instance, ssl, fd, _host, connected, false);
}
catch(const Ice::LocalException& ex)
{
@@ -159,10 +159,11 @@ IceSSL::ConnectorI::operator<(const IceInternal::Connector& r) const
return IceInternal::compareAddress(_addr, p->_addr) == -1;
}
-IceSSL::ConnectorI::ConnectorI(const InstancePtr& instance, const struct sockaddr_storage& addr, Ice::Int timeout,
- const string& connectionId) :
+IceSSL::ConnectorI::ConnectorI(const InstancePtr& instance, const string& host, const struct sockaddr_storage& addr,
+ Ice::Int timeout, const string& connectionId) :
_instance(instance),
_logger(instance->communicator()->getLogger()),
+ _host(host),
_addr(addr),
_timeout(timeout),
_connectionId(connectionId)
diff --git a/cpp/src/IceSSL/ConnectorI.h b/cpp/src/IceSSL/ConnectorI.h
index 75e52566b24..e659421fc5f 100644
--- a/cpp/src/IceSSL/ConnectorI.h
+++ b/cpp/src/IceSSL/ConnectorI.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.
@@ -41,12 +41,13 @@ public:
private:
- ConnectorI(const InstancePtr&, const struct sockaddr_storage&, Ice::Int, const std::string&);
+ ConnectorI(const InstancePtr&, const std::string&, const struct sockaddr_storage&, Ice::Int, const std::string&);
virtual ~ConnectorI();
friend class EndpointI;
const InstancePtr _instance;
const Ice::LoggerPtr _logger;
+ const std::string _host;
struct sockaddr_storage _addr;
const Ice::Int _timeout;
const std::string _connectionId;
diff --git a/cpp/src/IceSSL/EndpointI.cpp b/cpp/src/IceSSL/EndpointI.cpp
index a65f75e868c..fcf37b58515 100644
--- a/cpp/src/IceSSL/EndpointI.cpp
+++ b/cpp/src/IceSSL/EndpointI.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.
@@ -474,7 +474,7 @@ IceSSL::EndpointI::connectors(const vector<struct sockaddr_storage>& addresses)
vector<IceInternal::ConnectorPtr> connectors;
for(unsigned int i = 0; i < addresses.size(); ++i)
{
- connectors.push_back(new ConnectorI(_instance, addresses[i], _timeout, _connectionId));
+ connectors.push_back(new ConnectorI(_instance, _host, addresses[i], _timeout, _connectionId));
}
return connectors;
}
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h
index 67c1938be5b..bc5c04d8df1 100644
--- a/cpp/src/IceSSL/EndpointI.h
+++ b/cpp/src/IceSSL/EndpointI.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/src/IceSSL/IceSSL.rc b/cpp/src/IceSSL/IceSSL.rc
index c6f70e0c438..8e5ce643742 100644
--- a/cpp/src/IceSSL/IceSSL.rc
+++ b/cpp/src/IceSSL/IceSSL.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceSSL DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceSSL/Instance.cpp b/cpp/src/IceSSL/Instance.cpp
index a40dc5275cd..47f40cf1e64 100644
--- a/cpp/src/IceSSL/Instance.cpp
+++ b/cpp/src/IceSSL/Instance.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.
@@ -128,6 +128,7 @@ passwordError()
IceSSL::Instance::Instance(const CommunicatorPtr& communicator) :
_logger(communicator->getLogger()),
+ _initialized(false),
_ctx(0)
{
__setNoDelete(true);
@@ -233,7 +234,7 @@ IceSSL::Instance::Instance(const CommunicatorPtr& communicator) :
//
// Register the endpoint factory. We have to do this now, rather than
// in initialize, because the communicator may need to interpret
- // proxies before the plugin is fully initialized.
+ // proxies before the plug-in is fully initialized.
//
_facade->addEndpointFactory(new EndpointFactoryI(this));
@@ -264,218 +265,96 @@ IceSSL::Instance::~Instance()
void
IceSSL::Instance::initialize()
{
- if(_ctx)
+ if(_initialized)
{
return;
}
- _ctx = SSL_CTX_new(SSLv23_method());
- if(!_ctx)
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: unable to create SSL context:\n" + sslErrors();
- throw ex;
- }
-
try
{
- //
- // Store a pointer to ourself for use in OpenSSL callbacks.
- //
- SSL_CTX_set_ex_data(_ctx, 0, this);
-
- //
- // This is necessary for successful interop with Java. Without it, a Java
- // client would fail to reestablish a connection: the server gets the
- // error "session id context uninitialized" and the client receives
- // "SSLHandshakeException: Remote host closed connection during handshake".
- //
- SSL_CTX_set_session_cache_mode(_ctx, SSL_SESS_CACHE_OFF);
-
- PropertiesPtr properties = communicator()->getProperties();
const string propPrefix = "IceSSL.";
-
- //
- // Check for a default directory. We look in this directory for
- // files mentioned in the configuration.
- //
- {
- _defaultDir = properties->getProperty(propPrefix + "DefaultDir");
- }
-
- //
- // Select protocols.
- //
- {
- StringSeq protocols = properties->getPropertyAsList(propPrefix + "Protocols");
- if(!protocols.empty())
- {
- parseProtocols(protocols);
- }
- }
+ PropertiesPtr properties = communicator()->getProperties();
//
// CheckCertName determines whether we compare the name in a peer's
// certificate against its hostname.
//
- {
- _checkCertName = properties->getPropertyAsIntWithDefault(propPrefix + "CheckCertName", 0) > 0;
- }
+ _checkCertName = properties->getPropertyAsIntWithDefault(propPrefix + "CheckCertName", 0) > 0;
//
// VerifyDepthMax establishes the maximum length of a peer's certificate
// chain, including the peer's certificate. A value of 0 means there is
// no maximum.
//
- {
- _verifyDepthMax = properties->getPropertyAsIntWithDefault(propPrefix + "VerifyDepthMax", 2);
- }
+ _verifyDepthMax = properties->getPropertyAsIntWithDefault(propPrefix + "VerifyDepthMax", 2);
//
- // Determine whether a certificate is required from the peer.
+ // Create an SSL context if the application hasn't supplied one.
//
+ if(!_ctx)
{
- int verifyPeer = properties->getPropertyAsIntWithDefault(propPrefix + "VerifyPeer", 2);
- int sslVerifyMode;
- switch(verifyPeer)
- {
- case 0:
- sslVerifyMode = SSL_VERIFY_NONE;
- break;
- case 1:
- sslVerifyMode = SSL_VERIFY_PEER;
- break;
- case 2:
- sslVerifyMode = SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
- break;
- default:
+ _ctx = SSL_CTX_new(SSLv23_method());
+ if(!_ctx)
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: invalid value for " + propPrefix + "VerifyPeer";
+ ex.reason = "IceSSL: unable to create SSL context:\n" + sslErrors();
throw ex;
}
- }
- SSL_CTX_set_verify(_ctx, sslVerifyMode, IceSSL_opensslVerifyCallback);
- }
- //
- // If the configuration defines a password, or the application has supplied
- // a password prompt object, then register a password callback. Otherwise,
- // let OpenSSL use its default behavior.
- //
- {
- // TODO: Support quoted value?
- string password = properties->getProperty(propPrefix + "Password");
- if(!password.empty() || _prompt)
- {
- SSL_CTX_set_default_passwd_cb(_ctx, IceSSL_opensslPasswordCallback);
- SSL_CTX_set_default_passwd_cb_userdata(_ctx, this);
- _password = password;
- }
- }
-
- int passwordRetryMax = properties->getPropertyAsIntWithDefault(propPrefix + "PasswordRetryMax", 3);
+ //
+ // Check for a default directory. We look in this directory for
+ // files mentioned in the configuration.
+ //
+ string defaultDir = properties->getProperty(propPrefix + "DefaultDir");
- //
- // Establish the location of CA certificates.
- //
- {
- string caFile = properties->getProperty(propPrefix + "CertAuthFile");
- string caDir = properties->getPropertyWithDefault(propPrefix + "CertAuthDir", _defaultDir);
- const char* file = 0;
- const char* dir = 0;
- if(!caFile.empty())
- {
- if(!checkPath(caFile, _defaultDir, false))
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: CA certificate file not found:\n" + caFile;
- throw ex;
- }
- file = caFile.c_str();
- }
- if(!caDir.empty())
+ //
+ // If the configuration defines a password, or the application has supplied
+ // a password prompt object, then register a password callback. Otherwise,
+ // let OpenSSL use its default behavior.
+ //
{
- if(!checkPath(caDir, _defaultDir, true))
+ // TODO: Support quoted value?
+ string password = properties->getProperty(propPrefix + "Password");
+ if(!password.empty() || _prompt)
{
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: CA certificate directory not found:\n" + caDir;
- throw ex;
+ SSL_CTX_set_default_passwd_cb(_ctx, IceSSL_opensslPasswordCallback);
+ SSL_CTX_set_default_passwd_cb_userdata(_ctx, this);
+ _password = password;
}
- dir = caDir.c_str();
}
- if(file || dir)
+
+ int passwordRetryMax = properties->getPropertyAsIntWithDefault(propPrefix + "PasswordRetryMax", 3);
+
+ //
+ // Establish the location of CA certificates.
+ //
{
- //
- // The certificate may be stored in an encrypted file, so handle
- // password retries.
- //
- int count = 0;
- int err = 0;
- while(count < passwordRetryMax)
+ string caFile = properties->getProperty(propPrefix + "CertAuthFile");
+ string caDir = properties->getPropertyWithDefault(propPrefix + "CertAuthDir", defaultDir);
+ const char* file = 0;
+ const char* dir = 0;
+ if(!caFile.empty())
{
- ERR_clear_error();
- err = SSL_CTX_load_verify_locations(_ctx, file, dir);
- if(err || !passwordError())
+ if(!checkPath(caFile, defaultDir, false))
{
- break;
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: CA certificate file not found:\n" + caFile;
+ throw ex;
}
- ++count;
+ file = caFile.c_str();
}
- if(err == 0)
+ if(!caDir.empty())
{
- string msg = "IceSSL: unable to establish CA certificates";
- if(passwordError())
- {
- msg += ":\ninvalid password";
- }
- else
- {
- string err = sslErrors();
- if(!err.empty())
- {
- msg += ":\n" + err;
- }
- }
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = msg;
- throw ex;
- }
- }
- }
-
- //
- // Establish the certificate chains and private keys. One RSA certificate and
- // one DSA certificate are allowed.
- //
- {
-#ifdef _WIN32
- const string sep = ";";
-#else
- const string sep = ":";
-#endif
- string certFile = properties->getProperty(propPrefix + "CertFile");
- string keyFile = properties->getProperty(propPrefix + "KeyFile");
- vector<string>::size_type numCerts = 0;
- if(!certFile.empty())
- {
- vector<string> files;
- if(!IceUtilInternal::splitString(certFile, sep, files) || files.size() > 2)
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: invalid value for " + propPrefix + "CertFile:\n" + certFile;
- throw ex;
- }
- numCerts = files.size();
- for(vector<string>::iterator p = files.begin(); p != files.end(); ++p)
- {
- string file = *p;
- if(!checkPath(file, _defaultDir, false))
+ if(!checkPath(caDir, defaultDir, true))
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: certificate file not found:\n" + file;
+ ex.reason = "IceSSL: CA certificate directory not found:\n" + caDir;
throw ex;
}
+ dir = caDir.c_str();
+ }
+ if(file || dir)
+ {
//
// The certificate may be stored in an encrypted file, so handle
// password retries.
@@ -485,7 +364,7 @@ IceSSL::Instance::initialize()
while(count < passwordRetryMax)
{
ERR_clear_error();
- err = SSL_CTX_use_certificate_chain_file(_ctx, file.c_str());
+ err = SSL_CTX_load_verify_locations(_ctx, file, dir);
if(err || !passwordError())
{
break;
@@ -494,7 +373,7 @@ IceSSL::Instance::initialize()
}
if(err == 0)
{
- string msg = "IceSSL: unable to load certificate chain from file " + file;
+ string msg = "IceSSL: unable to establish CA certificates";
if(passwordError())
{
msg += ":\ninvalid password";
@@ -513,159 +392,284 @@ IceSSL::Instance::initialize()
}
}
}
- if(keyFile.empty())
- {
- keyFile = certFile; // Assume the certificate file also contains the private key.
- }
- if(!keyFile.empty())
+
+ //
+ // Establish the certificate chains and private keys. One RSA certificate and
+ // one DSA certificate are allowed.
+ //
{
- vector<string> files;
- if(!IceUtilInternal::splitString(keyFile, sep, files) || files.size() > 2)
+#ifdef _WIN32
+ const string sep = ";";
+#else
+ const string sep = ":";
+#endif
+ string certFile = properties->getProperty(propPrefix + "CertFile");
+ string keyFile = properties->getProperty(propPrefix + "KeyFile");
+ vector<string>::size_type numCerts = 0;
+ if(!certFile.empty())
{
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: invalid value for " + propPrefix + "KeyFile:\n" + keyFile;
- throw ex;
+ vector<string> files;
+ if(!IceUtilInternal::splitString(certFile, sep, files) || files.size() > 2)
+ {
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: invalid value for " + propPrefix + "CertFile:\n" + certFile;
+ throw ex;
+ }
+ numCerts = files.size();
+ for(vector<string>::iterator p = files.begin(); p != files.end(); ++p)
+ {
+ string file = *p;
+ if(!checkPath(file, defaultDir, false))
+ {
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: certificate file not found:\n" + file;
+ throw ex;
+ }
+ //
+ // The certificate may be stored in an encrypted file, so handle
+ // password retries.
+ //
+ int count = 0;
+ int err = 0;
+ while(count < passwordRetryMax)
+ {
+ ERR_clear_error();
+ err = SSL_CTX_use_certificate_chain_file(_ctx, file.c_str());
+ if(err || !passwordError())
+ {
+ break;
+ }
+ ++count;
+ }
+ if(err == 0)
+ {
+ string msg = "IceSSL: unable to load certificate chain from file " + file;
+ if(passwordError())
+ {
+ msg += ":\ninvalid password";
+ }
+ else
+ {
+ string err = sslErrors();
+ if(!err.empty())
+ {
+ msg += ":\n" + err;
+ }
+ }
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = msg;
+ throw ex;
+ }
+ }
}
- if(files.size() != numCerts)
+ if(keyFile.empty())
{
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: " + propPrefix + "KeyFile does not agree with " + propPrefix + "CertFile";
- throw ex;
+ keyFile = certFile; // Assume the certificate file also contains the private key.
}
- for(vector<string>::iterator p = files.begin(); p != files.end(); ++p)
+ if(!keyFile.empty())
{
- string file = *p;
- if(!checkPath(file, _defaultDir, false))
+ vector<string> files;
+ if(!IceUtilInternal::splitString(keyFile, sep, files) || files.size() > 2)
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: key file not found:\n" + file;
+ ex.reason = "IceSSL: invalid value for " + propPrefix + "KeyFile:\n" + keyFile;
throw ex;
}
- //
- // The private key may be stored in an encrypted file, so handle
- // password retries.
- //
- int count = 0;
- int err = 0;
- while(count < passwordRetryMax)
+ if(files.size() != numCerts)
{
- ERR_clear_error();
- err = SSL_CTX_use_PrivateKey_file(_ctx, file.c_str(), SSL_FILETYPE_PEM);
- if(err || !passwordError())
- {
- break;
- }
- ++count;
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: " + propPrefix + "KeyFile does not agree with " + propPrefix + "CertFile";
+ throw ex;
}
- if(err == 0)
+ for(vector<string>::iterator p = files.begin(); p != files.end(); ++p)
{
- string msg = "IceSSL: unable to load private key from file " + file;
- if(passwordError())
+ string file = *p;
+ if(!checkPath(file, defaultDir, false))
{
- msg += ":\ninvalid password";
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: key file not found:\n" + file;
+ throw ex;
}
- else
+ //
+ // The private key may be stored in an encrypted file, so handle
+ // password retries.
+ //
+ int count = 0;
+ int err = 0;
+ while(count < passwordRetryMax)
{
- string err = sslErrors();
- if(!err.empty())
+ ERR_clear_error();
+ err = SSL_CTX_use_PrivateKey_file(_ctx, file.c_str(), SSL_FILETYPE_PEM);
+ if(err || !passwordError())
{
- msg += ":\n" + err;
+ break;
}
+ ++count;
}
+ if(err == 0)
+ {
+ string msg = "IceSSL: unable to load private key from file " + file;
+ if(passwordError())
+ {
+ msg += ":\ninvalid password";
+ }
+ else
+ {
+ string err = sslErrors();
+ if(!err.empty())
+ {
+ msg += ":\n" + err;
+ }
+ }
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = msg;
+ throw ex;
+ }
+ }
+ if(!SSL_CTX_check_private_key(_ctx))
+ {
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = msg;
+ ex.reason = "IceSSL: unable to validate private key(s):\n" + sslErrors();
throw ex;
}
}
- if(!SSL_CTX_check_private_key(_ctx))
+ }
+
+ //
+ // Diffie Hellman configuration.
+ //
+ {
+#ifndef OPENSSL_NO_DH
+ _dhParams = new DHParams;
+ SSL_CTX_set_options(_ctx, SSL_OP_SINGLE_DH_USE);
+ SSL_CTX_set_tmp_dh_callback(_ctx, IceSSL_opensslDHCallback);
+#endif
+ //
+ // Properties have the following form:
+ //
+ // ...DH.<keyLength>=file
+ //
+ const string dhPrefix = propPrefix + "DH.";
+ PropertyDict d = properties->getPropertiesForPrefix(dhPrefix);
+ if(!d.empty())
{
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: unable to validate private key(s):\n" + sslErrors();
- throw ex;
+#ifdef OPENSSL_NO_DH
+ _logger->warning("IceSSL: OpenSSL is not configured for Diffie Hellman");
+#else
+ for(PropertyDict::iterator p = d.begin(); p != d.end(); ++p)
+ {
+ string s = p->first.substr(dhPrefix.size());
+ int keyLength = atoi(s.c_str());
+ if(keyLength > 0)
+ {
+ string file = p->second;
+ if(!checkPath(file, defaultDir, false))
+ {
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: DH parameter file not found:\n" + file;
+ throw ex;
+ }
+ if(!_dhParams->add(keyLength, file))
+ {
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: unable to read DH parameter file " + file;
+ throw ex;
+ }
+ }
+ }
+#endif
}
}
}
//
+ // Store a pointer to ourself for use in OpenSSL callbacks.
+ //
+ SSL_CTX_set_ex_data(_ctx, 0, this);
+
+ //
+ // This is necessary for successful interop with Java. Without it, a Java
+ // client would fail to reestablish a connection: the server gets the
+ // error "session id context uninitialized" and the client receives
+ // "SSLHandshakeException: Remote host closed connection during handshake".
+ //
+ SSL_CTX_set_session_cache_mode(_ctx, SSL_SESS_CACHE_OFF);
+
+ //
+ // Select protocols.
+ //
+ StringSeq protocols = properties->getPropertyAsList(propPrefix + "Protocols");
+ if(!protocols.empty())
+ {
+ parseProtocols(protocols);
+ }
+
+ //
// Establish the cipher list.
//
+ string ciphers = properties->getProperty(propPrefix + "Ciphers");
+ if(!ciphers.empty())
{
- string ciphers = properties->getProperty(propPrefix + "Ciphers");
- if(!ciphers.empty())
+ if(!SSL_CTX_set_cipher_list(_ctx, ciphers.c_str()))
{
- if(!SSL_CTX_set_cipher_list(_ctx, ciphers.c_str()))
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: unable to set ciphers using `" + ciphers + "':\n" + sslErrors();
- throw ex;
- }
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: unable to set ciphers using `" + ciphers + "':\n" + sslErrors();
+ throw ex;
}
}
//
- // Diffie Hellman configuration.
+ // Determine whether a certificate is required from the peer.
//
{
-#ifndef OPENSSL_NO_DH
- _dhParams = new DHParams;
- SSL_CTX_set_options(_ctx, SSL_OP_SINGLE_DH_USE);
- SSL_CTX_set_tmp_dh_callback(_ctx, IceSSL_opensslDHCallback);
-#endif
- //
- // Properties have the following form:
- //
- // ...DH.<keyLength>=file
- //
- const string dhPrefix = propPrefix + "DH.";
- PropertyDict d = properties->getPropertiesForPrefix(dhPrefix);
- if(!d.empty())
+ int verifyPeer = properties->getPropertyAsIntWithDefault(propPrefix + "VerifyPeer", 2);
+ int sslVerifyMode;
+ switch(verifyPeer)
{
-#ifdef OPENSSL_NO_DH
- _logger->warning("IceSSL: OpenSSL is not configured for Diffie Hellman");
-#else
- for(PropertyDict::iterator p = d.begin(); p != d.end(); ++p)
- {
- string s = p->first.substr(dhPrefix.size());
- int keyLength = atoi(s.c_str());
- if(keyLength > 0)
- {
- string file = p->second;
- if(!checkPath(file, _defaultDir, false))
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: DH parameter file not found:\n" + file;
- throw ex;
- }
- if(!_dhParams->add(keyLength, file))
- {
- PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: unable to read DH parameter file " + file;
- throw ex;
- }
- }
- }
-#endif
+ case 0:
+ sslVerifyMode = SSL_VERIFY_NONE;
+ break;
+ case 1:
+ sslVerifyMode = SSL_VERIFY_PEER;
+ break;
+ case 2:
+ sslVerifyMode = SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
+ break;
+ default:
+ {
+ PluginInitializationException ex(__FILE__, __LINE__);
+ ex.reason = "IceSSL: invalid value for " + propPrefix + "VerifyPeer";
+ throw ex;
}
+ }
+ SSL_CTX_set_verify(_ctx, sslVerifyMode, IceSSL_opensslVerifyCallback);
}
}
catch(...)
{
+ //
+ // We free the SSL context regardless of whether the plugin created it
+ // or the application supplied it.
+ //
SSL_CTX_free(_ctx);
_ctx = 0;
throw;
}
+
+ _initialized = true;
}
void
IceSSL::Instance::context(SSL_CTX* context)
{
- if(_ctx)
+ if(_initialized)
{
PluginInitializationException ex(__FILE__, __LINE__);
- ex.reason = "IceSSL: plugin is already initialized";
+ ex.reason = "IceSSL: plug-in is already initialized";
throw ex;
}
+ assert(!_ctx);
_ctx = context;
}
@@ -800,12 +804,10 @@ IceSSL::Instance::verifyPeer(SSL* ssl, SOCKET fd, const string& address, const s
if(!certNameOK && !dnsNames.empty())
{
- string host = address;
- transform(host.begin(), host.end(), host.begin(), ::tolower);
+ string host = IceUtilInternal::toLower(address);
for(vector<string>::const_iterator p = dnsNames.begin(); p != dnsNames.end() && !certNameOK; ++p)
{
- string s = *p;
- transform(s.begin(), s.end(), s.begin(), ::tolower);
+ string s = IceUtilInternal::toLower(*p);
if(host == s)
{
certNameOK = true;
diff --git a/cpp/src/IceSSL/Instance.h b/cpp/src/IceSSL/Instance.h
index ba9eda28bbd..2f89f82a6b1 100644
--- a/cpp/src/IceSSL/Instance.h
+++ b/cpp/src/IceSSL/Instance.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.
@@ -70,6 +70,7 @@ private:
IceInternal::ProtocolPluginFacadePtr _facade;
int _securityTraceLevel;
std::string _securityTraceCategory;
+ bool _initialized;
SSL_CTX* _ctx;
std::string _defaultDir;
bool _checkCertName;
diff --git a/cpp/src/IceSSL/InstanceF.h b/cpp/src/IceSSL/InstanceF.h
index 5b1cf0730ec..47b29b3d401 100644
--- a/cpp/src/IceSSL/InstanceF.h
+++ b/cpp/src/IceSSL/InstanceF.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/src/IceSSL/Makefile b/cpp/src/IceSSL/Makefile
index 05ac9547371..8ff69e6ac2b 100644
--- a/cpp/src/IceSSL/Makefile
+++ b/cpp/src/IceSSL/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/src/IceSSL/Makefile.mak b/cpp/src/IceSSL/Makefile.mak
index 67c1f78c381..fa1b15a9def 100644
--- a/cpp/src/IceSSL/Makefile.mak
+++ b/cpp/src/IceSSL/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/src/IceSSL/PluginI.cpp b/cpp/src/IceSSL/PluginI.cpp
index 005862c605e..e06cdb2eec9 100644
--- a/cpp/src/IceSSL/PluginI.cpp
+++ b/cpp/src/IceSSL/PluginI.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.
@@ -19,7 +19,7 @@ using namespace Ice;
using namespace IceSSL;
//
-// Plugin factory function.
+// Plug-in factory function.
//
extern "C"
{
diff --git a/cpp/src/IceSSL/PluginI.h b/cpp/src/IceSSL/PluginI.h
index a80446d6f65..2ff84ca6089 100644
--- a/cpp/src/IceSSL/PluginI.h
+++ b/cpp/src/IceSSL/PluginI.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/src/IceSSL/RFC2253.cpp b/cpp/src/IceSSL/RFC2253.cpp
index ec547ce6c49..04a78c87bb4 100644
--- a/cpp/src/IceSSL/RFC2253.cpp
+++ b/cpp/src/IceSSL/RFC2253.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.
@@ -253,10 +253,10 @@ parseAttributeType(const string& data, size_t& pos)
//
// First the OID case.
//
- if(isdigit(data[pos]) ||
+ if(isdigit(static_cast<unsigned char>(data[pos])) ||
(data.size() - pos >= 4 && (data.substr(pos, 4) == "oid." || data.substr(pos, 4) == "OID.")))
{
- if(!isdigit(data[pos]))
+ if(!isdigit(static_cast<unsigned char>(data[pos])))
{
result += data.substr(pos, 4);
pos += 4;
@@ -265,7 +265,7 @@ parseAttributeType(const string& data, size_t& pos)
while(true)
{
// 1*DIGIT
- while(pos < data.size() && isdigit(data[pos]))
+ while(pos < data.size() && isdigit(static_cast<unsigned char>(data[pos])))
{
result += data[pos];
++pos;
@@ -276,7 +276,7 @@ parseAttributeType(const string& data, size_t& pos)
result += data[pos];
++pos;
// 1*DIGIT must follow "."
- if(pos < data.size() && !isdigit(data[pos]))
+ if(pos < data.size() && !isdigit(static_cast<unsigned char>(data[pos])))
{
throw ParseException(__FILE__, __LINE__, "invalid attribute type (expected end of data)");
}
@@ -287,7 +287,7 @@ parseAttributeType(const string& data, size_t& pos)
}
}
}
- else if(isalpha(data[pos]))
+ else if(isalpha(static_cast<unsigned char>(data[pos])))
{
//
// The grammar is wrong in this case. It should be ALPHA
@@ -297,7 +297,8 @@ parseAttributeType(const string& data, size_t& pos)
result += data[pos];
++pos;
// 1* KEYCHAR
- while(pos < data.size() && (isalpha(data[pos]) || isdigit(data[pos]) || data[pos] == '-'))
+ while(pos < data.size() && (isalpha(static_cast<unsigned char>(data[pos])) ||
+ isdigit(static_cast<unsigned char>(data[pos])) || data[pos] == '-'))
{
result += data[pos];
++pos;
diff --git a/cpp/src/IceSSL/RFC2253.h b/cpp/src/IceSSL/RFC2253.h
index d273cae0fa3..f3da3156dca 100644
--- a/cpp/src/IceSSL/RFC2253.h
+++ b/cpp/src/IceSSL/RFC2253.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/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp
index 77ac7089e53..9cbde9975b4 100644
--- a/cpp/src/IceSSL/TransceiverI.cpp
+++ b/cpp/src/IceSSL/TransceiverI.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.
@@ -461,7 +461,7 @@ IceSSL::TransceiverI::initialize()
}
while(!SSL_is_init_finished(_ssl));
- _instance->verifyPeer(_ssl, _fd, "", _adapterName, _incoming);
+ _instance->verifyPeer(_ssl, _fd, _host, _adapterName, _incoming);
}
catch(const Ice::LocalException& ex)
{
@@ -513,15 +513,16 @@ IceSSL::TransceiverI::getConnectionInfo() const
return populateConnectionInfo(_ssl, _fd, _adapterName, _incoming);
}
-IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SSL* ssl, SOCKET fd, bool connected,
+IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SSL* ssl, SOCKET fd, const string& host, bool connected,
bool incoming, const string& adapterName) :
_instance(instance),
_logger(instance->communicator()->getLogger()),
_stats(instance->communicator()->getStats()),
_ssl(ssl),
_fd(fd),
- _adapterName(adapterName),
+ _host(host),
_incoming(incoming),
+ _adapterName(adapterName),
_state(connected ? StateConnected : StateNeedConnect),
_desc(IceInternal::fdToString(fd))
{
diff --git a/cpp/src/IceSSL/TransceiverI.h b/cpp/src/IceSSL/TransceiverI.h
index c91d367ef34..cb982fca9b3 100644
--- a/cpp/src/IceSSL/TransceiverI.h
+++ b/cpp/src/IceSSL/TransceiverI.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.
@@ -51,7 +51,7 @@ public:
private:
- TransceiverI(const InstancePtr&, SSL*, SOCKET, bool, bool, const std::string& = "");
+ TransceiverI(const InstancePtr&, SSL*, SOCKET, const std::string&, bool, bool, const std::string& = "");
virtual ~TransceiverI();
friend class ConnectorI;
friend class AcceptorI;
@@ -65,8 +65,10 @@ private:
SOCKET _fd;
- const std::string _adapterName;
+ const std::string _host;
+
const bool _incoming;
+ const std::string _adapterName;
State _state;
std::string _desc;
diff --git a/cpp/src/IceSSL/TrustManager.cpp b/cpp/src/IceSSL/TrustManager.cpp
index 5fd75f6c4fa..dbafb0a2aac 100644
--- a/cpp/src/IceSSL/TrustManager.cpp
+++ b/cpp/src/IceSSL/TrustManager.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/src/IceSSL/TrustManager.h b/cpp/src/IceSSL/TrustManager.h
index 80d564bce66..a98802d0db7 100644
--- a/cpp/src/IceSSL/TrustManager.h
+++ b/cpp/src/IceSSL/TrustManager.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/src/IceSSL/TrustManagerF.h b/cpp/src/IceSSL/TrustManagerF.h
index 5e59784363c..46dac9c94d7 100644
--- a/cpp/src/IceSSL/TrustManagerF.h
+++ b/cpp/src/IceSSL/TrustManagerF.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/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp
index 2cd122e1752..ca11f1ced17 100644
--- a/cpp/src/IceSSL/Util.cpp
+++ b/cpp/src/IceSSL/Util.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/src/IceSSL/Util.h b/cpp/src/IceSSL/Util.h
index aa8a8f775b4..7696f6de547 100644
--- a/cpp/src/IceSSL/Util.h
+++ b/cpp/src/IceSSL/Util.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/src/IceSSL/UtilF.h b/cpp/src/IceSSL/UtilF.h
index de3e8b8e4ec..053aa969a03 100644
--- a/cpp/src/IceSSL/UtilF.h
+++ b/cpp/src/IceSSL/UtilF.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/src/IceStorm/.gitignore b/cpp/src/IceStorm/.gitignore
index 4b4d093745b..b64cca51538 100644
--- a/cpp/src/IceStorm/.gitignore
+++ b/cpp/src/IceStorm/.gitignore
@@ -25,6 +25,3 @@ V31FormatDB.h
V31FormatDB.cpp
LLUMap.h
LLUMap.cpp
-Grammar.cpp
-Grammar.h
-Scanner.cpp
diff --git a/cpp/src/IceStorm/Admin.cpp b/cpp/src/IceStorm/Admin.cpp
index c2604257a8b..5d642e4d288 100644
--- a/cpp/src/IceStorm/Admin.cpp
+++ b/cpp/src/IceStorm/Admin.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/src/IceStorm/Election.ice b/cpp/src/IceStorm/Election.ice
index d9520b6bd52..2ba02e1035c 100644
--- a/cpp/src/IceStorm/Election.ice
+++ b/cpp/src/IceStorm/Election.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/src/IceStorm/Grammar.cpp b/cpp/src/IceStorm/Grammar.cpp
new file mode 100644
index 00000000000..05a4dcdb6fa
--- /dev/null
+++ b/cpp/src/IceStorm/Grammar.cpp
@@ -0,0 +1,1484 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_STORM_HELP = 258,
+ ICE_STORM_EXIT = 259,
+ ICE_STORM_CURRENT = 260,
+ ICE_STORM_CREATE = 261,
+ ICE_STORM_DESTROY = 262,
+ ICE_STORM_LINK = 263,
+ ICE_STORM_UNLINK = 264,
+ ICE_STORM_LINKS = 265,
+ ICE_STORM_TOPICS = 266,
+ ICE_STORM_REPLICA = 267,
+ ICE_STORM_STRING = 268
+ };
+#endif
+#define ICE_STORM_HELP 258
+#define ICE_STORM_EXIT 259
+#define ICE_STORM_CURRENT 260
+#define ICE_STORM_CREATE 261
+#define ICE_STORM_DESTROY 262
+#define ICE_STORM_LINK 263
+#define ICE_STORM_UNLINK 264
+#define ICE_STORM_LINKS 265
+#define ICE_STORM_TOPICS 266
+#define ICE_STORM_REPLICA 267
+#define ICE_STORM_STRING 268
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <IceStorm/Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace Ice;
+using namespace IceStorm;
+
+void
+yyerror(const char* s)
+{
+ parser->error(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 147 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 40
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 62
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 15
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 6
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 30
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 53
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 268
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 14,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 6, 9, 11, 14, 17, 21,
+ 25, 29, 33, 37, 41, 45, 49, 53, 56, 58,
+ 61, 64, 65, 67, 69, 71, 73, 75, 77, 79,
+ 81
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 16, 0, -1, 17, -1, -1, 17, 18, -1, 18,
+ -1, 3, 14, -1, 4, 14, -1, 6, 19, 14,
+ -1, 5, 19, 14, -1, 7, 19, 14, -1, 8,
+ 19, 14, -1, 9, 19, 14, -1, 10, 19, 14,
+ -1, 11, 19, 14, -1, 12, 19, 14, -1, 13,
+ 1, 14, -1, 1, 14, -1, 14, -1, 13, 19,
+ -1, 20, 19, -1, -1, 3, -1, 4, -1, 5,
+ -1, 6, -1, 7, -1, 8, -1, 9, -1, 10,
+ -1, 11, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 59, 59, 63, 70, 73, 81, 85, 89, 93,
+ 97, 101, 105, 109, 113, 117, 121, 125, 129, 137,
+ 142, 148, 156, 159, 162, 165, 168, 171, 174, 177,
+ 180
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "ICE_STORM_HELP", "ICE_STORM_EXIT",
+ "ICE_STORM_CURRENT", "ICE_STORM_CREATE", "ICE_STORM_DESTROY",
+ "ICE_STORM_LINK", "ICE_STORM_UNLINK", "ICE_STORM_LINKS",
+ "ICE_STORM_TOPICS", "ICE_STORM_REPLICA", "ICE_STORM_STRING", "';'",
+ "$accept", "start", "commands", "command", "strings", "keyword", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 59
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 15, 16, 16, 17, 17, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,
+ 19, 19, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 0, 2, 1, 2, 2, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 2, 1, 2,
+ 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 21, 21, 21, 21, 21, 21,
+ 21, 21, 0, 18, 0, 0, 5, 17, 6, 7,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 21,
+ 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 4, 19, 9, 20, 8, 10, 11, 12, 13,
+ 14, 15, 16
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 14, 15, 16, 30, 31
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -7
+static const yysigned_char yypact[] =
+{
+ 7, 8, 9, 11, 39, 39, 39, 39, 39, 39,
+ 39, 39, 28, -7, 51, 27, -7, -7, -7, -7,
+ -7, -7, -7, -7, -7, -7, -7, -7, -7, 39,
+ 40, 39, 41, 42, 43, 44, 45, 46, 47, 48,
+ -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
+ -7, -7, -7
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -7, -7, -7, -6, -5, -7
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -4
+static const yysigned_char yytable[] =
+{
+ 32, 33, 34, 35, 36, 37, 38, -3, 1, 41,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 17, 18, 42, 19, 44, -2, 1, 39,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 40, 29, 0, 43, 45, 46, 47, 48, 49,
+ 50, 51, 52
+};
+
+static const yysigned_char yycheck[] =
+{
+ 5, 6, 7, 8, 9, 10, 11, 0, 1, 15,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 14, 14, 29, 14, 31, 0, 1, 1,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 0, 13, -1, 14, 14, 14, 14, 14, 14,
+ 14, 14, 14
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 16, 17, 18, 14, 14, 14,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
+ 19, 20, 19, 19, 19, 19, 19, 19, 19, 1,
+ 0, 18, 19, 14, 19, 14, 14, 14, 14, 14,
+ 14, 14, 14
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 60 "Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 63 "Grammar.y"
+ {
+;}
+ break;
+
+ case 4:
+#line 71 "Grammar.y"
+ {
+;}
+ break;
+
+ case 5:
+#line 74 "Grammar.y"
+ {
+;}
+ break;
+
+ case 6:
+#line 82 "Grammar.y"
+ {
+ parser->usage();
+;}
+ break;
+
+ case 7:
+#line 86 "Grammar.y"
+ {
+ return 0;
+;}
+ break;
+
+ case 8:
+#line 90 "Grammar.y"
+ {
+ parser->create(yyvsp[-1]);
+;}
+ break;
+
+ case 9:
+#line 94 "Grammar.y"
+ {
+ parser->current(yyvsp[-1]);
+;}
+ break;
+
+ case 10:
+#line 98 "Grammar.y"
+ {
+ parser->destroy(yyvsp[-1]);
+;}
+ break;
+
+ case 11:
+#line 102 "Grammar.y"
+ {
+ parser->link(yyvsp[-1]);
+;}
+ break;
+
+ case 12:
+#line 106 "Grammar.y"
+ {
+ parser->unlink(yyvsp[-1]);
+;}
+ break;
+
+ case 13:
+#line 110 "Grammar.y"
+ {
+ parser->links(yyvsp[-1]);
+;}
+ break;
+
+ case 14:
+#line 114 "Grammar.y"
+ {
+ parser->topics(yyvsp[-1]);
+;}
+ break;
+
+ case 15:
+#line 118 "Grammar.y"
+ {
+ parser->replica(yyvsp[-1]);
+;}
+ break;
+
+ case 16:
+#line 122 "Grammar.y"
+ {
+ parser->invalidCommand("unknown command `" + yyvsp[-2].front() + "' (type `help' for more info)");
+;}
+ break;
+
+ case 17:
+#line 126 "Grammar.y"
+ {
+ yyerrok;
+;}
+ break;
+
+ case 18:
+#line 130 "Grammar.y"
+ {
+;}
+ break;
+
+ case 19:
+#line 138 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 20:
+#line 143 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+ yyval.push_front(yyvsp[-1].front());
+;}
+ break;
+
+ case 21:
+#line 148 "Grammar.y"
+ {
+ yyval = YYSTYPE();
+;}
+ break;
+
+ case 22:
+#line 157 "Grammar.y"
+ {
+;}
+ break;
+
+ case 23:
+#line 160 "Grammar.y"
+ {
+;}
+ break;
+
+ case 24:
+#line 163 "Grammar.y"
+ {
+;}
+ break;
+
+ case 25:
+#line 166 "Grammar.y"
+ {
+;}
+ break;
+
+ case 26:
+#line 169 "Grammar.y"
+ {
+;}
+ break;
+
+ case 27:
+#line 172 "Grammar.y"
+ {
+;}
+ break;
+
+ case 28:
+#line 175 "Grammar.y"
+ {
+;}
+ break;
+
+ case 29:
+#line 178 "Grammar.y"
+ {
+;}
+ break;
+
+ case 30:
+#line 181 "Grammar.y"
+ {
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1258 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 184 "Grammar.y"
+
+
diff --git a/cpp/src/IceStorm/Grammar.h b/cpp/src/IceStorm/Grammar.h
new file mode 100644
index 00000000000..e685dcc41c1
--- /dev/null
+++ b/cpp/src/IceStorm/Grammar.h
@@ -0,0 +1,70 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_STORM_HELP = 258,
+ ICE_STORM_EXIT = 259,
+ ICE_STORM_CURRENT = 260,
+ ICE_STORM_CREATE = 261,
+ ICE_STORM_DESTROY = 262,
+ ICE_STORM_LINK = 263,
+ ICE_STORM_UNLINK = 264,
+ ICE_STORM_LINKS = 265,
+ ICE_STORM_TOPICS = 266,
+ ICE_STORM_REPLICA = 267,
+ ICE_STORM_STRING = 268
+ };
+#endif
+#define ICE_STORM_HELP 258
+#define ICE_STORM_EXIT 259
+#define ICE_STORM_CURRENT 260
+#define ICE_STORM_CREATE 261
+#define ICE_STORM_DESTROY 262
+#define ICE_STORM_LINK 263
+#define ICE_STORM_UNLINK 264
+#define ICE_STORM_LINKS 265
+#define ICE_STORM_TOPICS 266
+#define ICE_STORM_REPLICA 267
+#define ICE_STORM_STRING 268
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/src/IceStorm/Grammar.y b/cpp/src/IceStorm/Grammar.y
index a2edb7a8a93..8052b4e11fc 100644
--- a/cpp/src/IceStorm/Grammar.y
+++ b/cpp/src/IceStorm/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/src/IceStorm/IceStorm.rc b/cpp/src/IceStorm/IceStorm.rc
index 5ab7e2692c1..e5cfd561100 100644
--- a/cpp/src/IceStorm/IceStorm.rc
+++ b/cpp/src/IceStorm/IceStorm.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceStorm DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceStorm/IceStormAdmin.rc b/cpp/src/IceStorm/IceStormAdmin.rc
index 21dd31c6f8e..33065629bae 100644
--- a/cpp/src/IceStorm/IceStormAdmin.rc
+++ b/cpp/src/IceStorm/IceStormAdmin.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceStorm Admin\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icestormadmin\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", "icestormadmin.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceStorm/IceStormInternal.ice b/cpp/src/IceStorm/IceStormInternal.ice
index e9952e05139..744a5339eab 100644
--- a/cpp/src/IceStorm/IceStormInternal.ice
+++ b/cpp/src/IceStorm/IceStormInternal.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/src/IceStorm/IceStormMigrate.rc b/cpp/src/IceStorm/IceStormMigrate.rc
index ef2112a2fd5..f3f24994f66 100644
--- a/cpp/src/IceStorm/IceStormMigrate.rc
+++ b/cpp/src/IceStorm/IceStormMigrate.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceStorm Migrate\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "icestormmigrate\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", "icestormmigrate.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceStorm/IceStormService.rc b/cpp/src/IceStorm/IceStormService.rc
index dbe62617afd..84fc9950959 100644
--- a/cpp/src/IceStorm/IceStormService.rc
+++ b/cpp/src/IceStorm/IceStormService.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceStorm Service DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceStorm/Instance.cpp b/cpp/src/IceStorm/Instance.cpp
index 7cfa35a2609..12338c6c2b5 100644
--- a/cpp/src/IceStorm/Instance.cpp
+++ b/cpp/src/IceStorm/Instance.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/src/IceStorm/Instance.h b/cpp/src/IceStorm/Instance.h
index 81487cd2d12..1c6515a9990 100644
--- a/cpp/src/IceStorm/Instance.h
+++ b/cpp/src/IceStorm/Instance.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/src/IceStorm/LinkRecord.ice b/cpp/src/IceStorm/LinkRecord.ice
index 7e7ac2db279..6d30eb428c7 100644
--- a/cpp/src/IceStorm/LinkRecord.ice
+++ b/cpp/src/IceStorm/LinkRecord.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/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
index 91302e95176..4d8f0a16e28 100644
--- a/cpp/src/IceStorm/Makefile
+++ b/cpp/src/IceStorm/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.
@@ -157,8 +157,6 @@ clean::
-rm -f V32FormatDB.h V32FormatDB.cpp
-rm -f V31FormatDB.h V31FormatDB.cpp
-rm -f LLUMap.h LLUMap.cpp
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
install:: all
$(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/IceStorm/Makefile.mak b/cpp/src/IceStorm/Makefile.mak
index 5d6680b0249..abd7abe4ef8 100644
--- a/cpp/src/IceStorm/Makefile.mak
+++ b/cpp/src/IceStorm/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.
@@ -18,13 +18,8 @@ SVCDLLNAME_D = $(top_srcdir)\bin\icestormservice$(SOVERSION)d.dll
SVCLIBNAME_R = $(top_srcdir)\lib\icestormservice.lib
SVCDLLNAME_R = $(top_srcdir)\bin\icestormservice$(SOVERSION).dll
-!if "$(OPTIMIZE)" != "yes"
-SVCLIBNAME = $(SVCLIBNAME_D)
-SVCDLLNAME = $(SVCDLLNAME_D)
-!else
-SVCLIBNAME = $(SVCLIBNAME_R)
-SVCDLLNAME = $(SVCDLLNAME_R)
-!endif
+SVCLIBNAME = $(top_srcdir)\lib\icestormservice$(LIBSUFFIX).lib
+SVCDLLNAME = $(top_srcdir)\bin\icestormservice$(SOVERSION)$(LIBSUFFIX).dll
ADMIN = $(top_srcdir)\bin\icestormadmin.exe
MIGRATE = $(top_srcdir)\bin\icestormmigrate.exe
@@ -199,10 +194,6 @@ clean::
-del /q $(MIGRATE:.exe=.*)
-del /q IceStormAdmin.res IceStormMigrate.res IceStorm.res IceStormService.res
-clean::
- del /q Grammar.cpp Grammar.h
- del /q Scanner.cpp
-
install:: all
copy $(LIBNAME) $(install_libdir)
copy $(DLLNAME) $(install_bindir)
diff --git a/cpp/src/IceStorm/Migrate.cpp b/cpp/src/IceStorm/Migrate.cpp
index 31ea8c4fae3..406e85be881 100644
--- a/cpp/src/IceStorm/Migrate.cpp
+++ b/cpp/src/IceStorm/Migrate.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/src/IceStorm/NodeI.cpp b/cpp/src/IceStorm/NodeI.cpp
index 0fe874a8ddd..ea3e2780de2 100644
--- a/cpp/src/IceStorm/NodeI.cpp
+++ b/cpp/src/IceStorm/NodeI.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/src/IceStorm/NodeI.h b/cpp/src/IceStorm/NodeI.h
index a3c52958306..ae1e2055d52 100644
--- a/cpp/src/IceStorm/NodeI.h
+++ b/cpp/src/IceStorm/NodeI.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/src/IceStorm/Observers.cpp b/cpp/src/IceStorm/Observers.cpp
index 4ff2fb10e63..4aa42a8c9e9 100644
--- a/cpp/src/IceStorm/Observers.cpp
+++ b/cpp/src/IceStorm/Observers.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/src/IceStorm/Observers.h b/cpp/src/IceStorm/Observers.h
index b26d1b52505..d5390ed0488 100644
--- a/cpp/src/IceStorm/Observers.h
+++ b/cpp/src/IceStorm/Observers.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/src/IceStorm/Parser.cpp b/cpp/src/IceStorm/Parser.cpp
index 74cb847255b..41f4a300877 100644
--- a/cpp/src/IceStorm/Parser.cpp
+++ b/cpp/src/IceStorm/Parser.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.
@@ -372,7 +372,7 @@ Parser::current(const list<string>& args)
void
Parser::showBanner()
{
- cout << "Ice " << ICE_STRING_VERSION << " Copyright 2003-2008 ZeroC, Inc." << endl;
+ cout << "Ice " << ICE_STRING_VERSION << " Copyright 2003-2009 ZeroC, Inc." << endl;
}
void
diff --git a/cpp/src/IceStorm/Parser.h b/cpp/src/IceStorm/Parser.h
index 45df2a95659..91019efdb7b 100644
--- a/cpp/src/IceStorm/Parser.h
+++ b/cpp/src/IceStorm/Parser.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/src/IceStorm/Replica.h b/cpp/src/IceStorm/Replica.h
index 551a9e9de91..75b5d726ea6 100644
--- a/cpp/src/IceStorm/Replica.h
+++ b/cpp/src/IceStorm/Replica.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/src/IceStorm/Scanner.cpp b/cpp/src/IceStorm/Scanner.cpp
new file mode 100644
index 00000000000..e4938c279da
--- /dev/null
+++ b/cpp/src/IceStorm/Scanner.cpp
@@ -0,0 +1,1762 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 8
+#define YY_END_OF_BUFFER 9
+static yyconst short int yy_accept[19] =
+ { 0,
+ 3, 3, 9, 7, 3, 4, 5, 6, 7, 4,
+ 7, 3, 0, 2, 1, 0, 3, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 4, 1, 1, 1, 1, 5, 1,
+ 1, 6, 1, 1, 1, 1, 7, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 9, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[10] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[19] =
+ { 0,
+ 0, 0, 11, 22, 8, 22, 22, 22, 12, 22,
+ 18, 0, 0, 22, 22, 0, 22, 22
+ } ;
+
+static yyconst short int yy_def[19] =
+ { 0,
+ 18, 1, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 5, 11, 18, 18, 11, 18, 0
+ } ;
+
+static yyconst short int yy_nxt[32] =
+ { 0,
+ 4, 5, 6, 7, 8, 4, 9, 10, 11, 12,
+ 18, 18, 18, 18, 18, 18, 13, 14, 15, 16,
+ 17, 3, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18
+ } ;
+
+static yyconst short int yy_chk[32] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
+ 3, 0, 0, 0, 0, 0, 5, 9, 9, 11,
+ 11, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <IceStorm/Parser.h>
+#include <IceStorm/Grammar.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+using namespace Ice;
+using namespace IceStorm;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+namespace IceStorm
+{
+
+typedef std::map<std::string, int> StringTokenMap;
+static StringTokenMap keywordMap;
+
+void initScanner();
+
+}
+#define YY_USER_INIT initScanner();
+
+#define YY_ALWAYS_INTERACTIVE 1
+#line 416 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 50 "Scanner.l"
+
+
+#line 570 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 22 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 52 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 62 "Scanner.l"
+{
+ // C-style comment
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in comment");
+ break;
+ }
+ }
+}
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 87 "Scanner.l"
+{
+ size_t len = strlen(yytext);
+ for(size_t i = 0; i < len; ++i)
+ {
+ if(yytext[i] == '\\')
+ {
+ parser->continueLine();
+ }
+ }
+}
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 98 "Scanner.l"
+{
+ return ';';
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 102 "Scanner.l"
+{
+ // "..."-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ s += next;
+ break;
+ }
+
+ case 'n':
+ {
+ s += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ s += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ s += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ s += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ s += '\f';
+ break;
+ }
+
+ default:
+ {
+ s += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return ICE_STORM_STRING;
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 176 "Scanner.l"
+{
+ // '...'-type strings
+ string s;
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == '\'')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ parser->warning("EOF in string");
+ break;
+ }
+ else
+ {
+ s += c;
+ }
+ }
+ yylvalp->clear();
+ yylvalp->push_back(s);
+ return ICE_STORM_STRING;
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 201 "Scanner.l"
+{
+ // Simple strings
+ string s;
+ s += yytext[0];
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ if(c == EOF)
+ {
+ break;
+ }
+ else if(isspace(static_cast<unsigned char>(c)) || c == ';')
+ {
+ unput(c);
+ break;
+ }
+
+ s += c;
+ }
+
+ yylvalp->clear();
+ yylvalp->push_back(s);
+
+ StringTokenMap::const_iterator pos = keywordMap.find(s);
+ return pos != keywordMap.end() ? pos->second : ICE_STORM_STRING;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 228 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 855 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 19 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 18);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 228 "Scanner.l"
+
+
+namespace IceStorm {
+
+//
+// initScanner() fills the keyword map with all keyword-token pairs.
+//
+
+void
+initScanner()
+{
+ keywordMap["help"] = ICE_STORM_HELP;
+ keywordMap["quit"] = ICE_STORM_EXIT;
+ keywordMap["exit"] = ICE_STORM_EXIT;
+ keywordMap["current"] = ICE_STORM_CURRENT;
+ keywordMap["create"] = ICE_STORM_CREATE;
+ keywordMap["destroy"] = ICE_STORM_DESTROY;
+ keywordMap["link"] = ICE_STORM_LINK;
+ keywordMap["unlink"] = ICE_STORM_UNLINK;
+ keywordMap["links"] = ICE_STORM_LINKS;
+ keywordMap["topics"] = ICE_STORM_TOPICS;
+ keywordMap["replica"] = ICE_STORM_REPLICA;
+}
+
+}
diff --git a/cpp/src/IceStorm/Scanner.l b/cpp/src/IceStorm/Scanner.l
index 3b922de2332..46f00ae8d62 100644
--- a/cpp/src/IceStorm/Scanner.l
+++ b/cpp/src/IceStorm/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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.
@@ -209,7 +209,7 @@ keyword [[:alpha:]]*
{
break;
}
- else if(isspace(c) || c == ';')
+ else if(isspace(static_cast<unsigned char>(c)) || c == ';')
{
unput(c);
break;
diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp
index 4049b6b1017..b6b1305d538 100644
--- a/cpp/src/IceStorm/Service.cpp
+++ b/cpp/src/IceStorm/Service.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.
@@ -246,12 +246,12 @@ ServiceI::start(
// start of the node id, and then the end of the
// digits).
string::size_type start = instanceName.size();
- while(start < adapterid.size() && !isdigit(adapterid[start]))
+ while(start < adapterid.size() && !isdigit(static_cast<unsigned char>(adapterid[start])))
{
++start;
}
string::size_type end = start;
- while(end < adapterid.size() && isdigit(adapterid[end]))
+ while(end < adapterid.size() && isdigit(static_cast<unsigned char>(adapterid[end])))
{
++end;
}
diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h
index 4f61eda8562..4f5b4a4d617 100644
--- a/cpp/src/IceStorm/Service.h
+++ b/cpp/src/IceStorm/Service.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/src/IceStorm/Subscriber.cpp b/cpp/src/IceStorm/Subscriber.cpp
index f5e40eb76a6..dc76ca5629b 100644
--- a/cpp/src/IceStorm/Subscriber.cpp
+++ b/cpp/src/IceStorm/Subscriber.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/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h
index 14e4a8efd4d..1a4bd95999e 100644
--- a/cpp/src/IceStorm/Subscriber.h
+++ b/cpp/src/IceStorm/Subscriber.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/src/IceStorm/SubscriberRecord.ice b/cpp/src/IceStorm/SubscriberRecord.ice
index 78ca1d05a38..6a8c4133189 100644
--- a/cpp/src/IceStorm/SubscriberRecord.ice
+++ b/cpp/src/IceStorm/SubscriberRecord.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/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index a2ac604b93a..16d596fd02d 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.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/src/IceStorm/TopicI.h b/cpp/src/IceStorm/TopicI.h
index 471b5613fcd..8ea1fbc3528 100644
--- a/cpp/src/IceStorm/TopicI.h
+++ b/cpp/src/IceStorm/TopicI.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/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp
index 06b29b61c78..56d33b07a15 100644
--- a/cpp/src/IceStorm/TopicManagerI.cpp
+++ b/cpp/src/IceStorm/TopicManagerI.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/src/IceStorm/TopicManagerI.h b/cpp/src/IceStorm/TopicManagerI.h
index 4e1619284ff..c465de938f9 100644
--- a/cpp/src/IceStorm/TopicManagerI.h
+++ b/cpp/src/IceStorm/TopicManagerI.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/src/IceStorm/TraceLevels.cpp b/cpp/src/IceStorm/TraceLevels.cpp
index 6f244504349..f00313d6c47 100644
--- a/cpp/src/IceStorm/TraceLevels.cpp
+++ b/cpp/src/IceStorm/TraceLevels.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/src/IceStorm/TraceLevels.h b/cpp/src/IceStorm/TraceLevels.h
index 541b4e43e7c..2381c699c04 100644
--- a/cpp/src/IceStorm/TraceLevels.h
+++ b/cpp/src/IceStorm/TraceLevels.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/src/IceStorm/TransientTopicI.cpp b/cpp/src/IceStorm/TransientTopicI.cpp
index c98f485f8b6..50e8dbefb80 100644
--- a/cpp/src/IceStorm/TransientTopicI.cpp
+++ b/cpp/src/IceStorm/TransientTopicI.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/src/IceStorm/TransientTopicI.h b/cpp/src/IceStorm/TransientTopicI.h
index 98df099c7a8..7c73e5843af 100644
--- a/cpp/src/IceStorm/TransientTopicI.h
+++ b/cpp/src/IceStorm/TransientTopicI.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/src/IceStorm/TransientTopicManagerI.cpp b/cpp/src/IceStorm/TransientTopicManagerI.cpp
index c2a433e5605..6154a3f0b10 100644
--- a/cpp/src/IceStorm/TransientTopicManagerI.cpp
+++ b/cpp/src/IceStorm/TransientTopicManagerI.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/src/IceStorm/TransientTopicManagerI.h b/cpp/src/IceStorm/TransientTopicManagerI.h
index d34f952f484..34746e21350 100644
--- a/cpp/src/IceStorm/TransientTopicManagerI.h
+++ b/cpp/src/IceStorm/TransientTopicManagerI.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/src/IceStorm/V31Format.ice b/cpp/src/IceStorm/V31Format.ice
index 9cd19aa5b35..ca45b0a7f0c 100644
--- a/cpp/src/IceStorm/V31Format.ice
+++ b/cpp/src/IceStorm/V31Format.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/src/IceStorm/V32Format.ice b/cpp/src/IceStorm/V32Format.ice
index a344eb12514..248de06da41 100644
--- a/cpp/src/IceStorm/V32Format.ice
+++ b/cpp/src/IceStorm/V32Format.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/src/IceUtil/.depend b/cpp/src/IceUtil/.depend
index ba9221735a5..40fa096fe53 100644
--- a/cpp/src/IceUtil/.depend
+++ b/cpp/src/IceUtil/.depend
@@ -4,7 +4,7 @@ ConvertUTF$(OBJEXT): ConvertUTF.cpp ../IceUtil/ConvertUTF.h $(includedir)/IceUti
CountDownLatch$(OBJEXT): CountDownLatch.cpp $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h
CtrlCHandler$(OBJEXT): CtrlCHandler.cpp $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h
Exception$(OBJEXT): Exception.cpp $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/StringUtil.h
-Shared$(OBJEXT): Shared.cpp $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h
+FileUtil$(OBJEXT): FileUtil.cpp $(includedir)/IceUtil/FileUtil.h $(includedir)/IceUtil/Config.h
InputUtil$(OBJEXT): InputUtil.cpp $(includedir)/IceUtil/InputUtil.h $(includedir)/IceUtil/Config.h
Options$(OBJEXT): Options.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h
OutputUtil$(OBJEXT): OutputUtil.cpp $(includedir)/IceUtil/OutputUtil.h $(includedir)/IceUtil/Config.h
@@ -12,6 +12,7 @@ Random$(OBJEXT): Random.cpp $(includedir)/IceUtil/Random.h $(includedir)/IceUtil
RWRecMutex$(OBJEXT): RWRecMutex.cpp $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h
RecMutex$(OBJEXT): RecMutex.cpp $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h
StaticMutex$(OBJEXT): StaticMutex.cpp $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h
+Shared$(OBJEXT): Shared.cpp $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h
StringUtil$(OBJEXT): StringUtil.cpp $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/Exception.h
Thread$(OBJEXT): Thread.cpp $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h
ThreadException$(OBJEXT): ThreadException.cpp $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Time.h
diff --git a/cpp/src/IceUtil/ArgVector.cpp b/cpp/src/IceUtil/ArgVector.cpp
index 1bdefcda492..23a67e76372 100644
--- a/cpp/src/IceUtil/ArgVector.cpp
+++ b/cpp/src/IceUtil/ArgVector.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/src/IceUtil/Cond.cpp b/cpp/src/IceUtil/Cond.cpp
index 9f6a047c1a7..0b623a01507 100644
--- a/cpp/src/IceUtil/Cond.cpp
+++ b/cpp/src/IceUtil/Cond.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/src/IceUtil/ConvertUTF.cpp b/cpp/src/IceUtil/ConvertUTF.cpp
index 331fa50cfa7..a38214514d9 100644
--- a/cpp/src/IceUtil/ConvertUTF.cpp
+++ b/cpp/src/IceUtil/ConvertUTF.cpp
@@ -22,7 +22,7 @@
// **********************************************************************
//
-// 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/src/IceUtil/ConvertUTF.h b/cpp/src/IceUtil/ConvertUTF.h
index 89c047b84ee..38eaf07ba57 100644
--- a/cpp/src/IceUtil/ConvertUTF.h
+++ b/cpp/src/IceUtil/ConvertUTF.h
@@ -22,7 +22,7 @@
// **********************************************************************
//
-// 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/src/IceUtil/CountDownLatch.cpp b/cpp/src/IceUtil/CountDownLatch.cpp
index 49453ba7dcd..fe3eac8e905 100644
--- a/cpp/src/IceUtil/CountDownLatch.cpp
+++ b/cpp/src/IceUtil/CountDownLatch.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/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp
index 251ddd885d5..5901722d4e8 100644
--- a/cpp/src/IceUtil/CtrlCHandler.cpp
+++ b/cpp/src/IceUtil/CtrlCHandler.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/src/IceUtil/Exception.cpp b/cpp/src/IceUtil/Exception.cpp
index 9546f769cfb..55a32df57c2 100644
--- a/cpp/src/IceUtil/Exception.cpp
+++ b/cpp/src/IceUtil/Exception.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/src/IceUtil/FileUtil.cpp b/cpp/src/IceUtil/FileUtil.cpp
index c387115fee1..ac830069b52 100644
--- a/cpp/src/IceUtil/FileUtil.cpp
+++ b/cpp/src/IceUtil/FileUtil.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.
@@ -21,7 +21,7 @@ IceUtilInternal::isAbsolutePath(const string& path)
size_t size = path.size();
// Skip whitespace
- while(i < size && isspace(path[i]))
+ while(i < size && isspace(static_cast<unsigned char>(path[i])))
{
++i;
}
diff --git a/cpp/src/IceUtil/IceUtil.rc b/cpp/src/IceUtil/IceUtil.rc
index d00746bddc2..956c6589bc1 100644
--- a/cpp/src/IceUtil/IceUtil.rc
+++ b/cpp/src/IceUtil/IceUtil.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Ice Utilities DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceUtil/InputUtil.cpp b/cpp/src/IceUtil/InputUtil.cpp
index d4d6253b589..0bf936448f8 100644
--- a/cpp/src/IceUtil/InputUtil.cpp
+++ b/cpp/src/IceUtil/InputUtil.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.
@@ -58,7 +58,7 @@ strToInt64Impl(const char* s, char** endptr, int base)
//
// Skip leading whitespace
//
- while(*s && isspace(*s))
+ while(*s && isspace(static_cast<unsigned char>(*s)))
{
++s;
}
@@ -127,12 +127,12 @@ strToInt64Impl(const char* s, char** endptr, int base)
bool overflow = false;
bool digitFound = false;
const string validDigits(allDigits.begin(), allDigits.begin() + base);
- while(*s && validDigits.find_first_of(toupper(*s)) != validDigits.npos)
+ while(*s && validDigits.find_first_of(toupper(static_cast<unsigned char>(*s))) != validDigits.npos)
{
digitFound = true;
if(!overflow)
{
- int digit = digitVal[toupper(*s) - '0'];
+ int digit = digitVal[toupper(static_cast<unsigned char>(*s)) - '0'];
assert(digit != 100);
if(result < _I64_MAX / base)
{
diff --git a/cpp/src/IceUtil/Makefile b/cpp/src/IceUtil/Makefile
index 1224452b529..a41e2feaa5f 100644
--- a/cpp/src/IceUtil/Makefile
+++ b/cpp/src/IceUtil/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/src/IceUtil/Makefile.mak b/cpp/src/IceUtil/Makefile.mak
index 745a9163d9b..3a8cb2dffae 100644
--- a/cpp/src/IceUtil/Makefile.mak
+++ b/cpp/src/IceUtil/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/src/IceUtil/Options.cpp b/cpp/src/IceUtil/Options.cpp
index 444c71d96cc..cd4efe0d166 100644
--- a/cpp/src/IceUtil/Options.cpp
+++ b/cpp/src/IceUtil/Options.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.
@@ -455,7 +455,7 @@ IceUtilInternal::Options::split(const string& line)
//
case 'x':
{
- if(i < l.size() - 1 && !isxdigit(l[i + 1]))
+ if(i < l.size() - 1 && !isxdigit(static_cast<unsigned char>(l[i + 1])))
{
arg.push_back('\\');
arg.push_back('x');
@@ -464,14 +464,15 @@ IceUtilInternal::Options::split(const string& line)
Int64 ull = 0;
string::size_type j;
- for(j = i + 1; j < i + 3 && j < l.size() && isxdigit(c = l[j]); ++j)
+ for(j = i + 1; j < i + 3 && j < l.size() &&
+ isxdigit(static_cast<unsigned char>(c = l[j])); ++j)
{
ull *= 16;
- if(isdigit(c))
+ if(isdigit(static_cast<unsigned char>(c)))
{
ull += c - '0';
}
- else if(islower(c))
+ else if(islower(static_cast<unsigned char>(c)))
{
ull += c - 'a' + 10;
}
@@ -491,9 +492,9 @@ IceUtilInternal::Options::split(const string& line)
case 'c':
{
c = l[++i];
- if(isalpha(c) || c == '@' || (c >= '[' && c <= '_'))
+ if(isalpha(static_cast<unsigned char>(c)) || c == '@' || (c >= '[' && c <= '_'))
{
- arg.push_back(static_cast<char>(toupper(c) - '@'));
+ arg.push_back(static_cast<char>(toupper(static_cast<unsigned char>(c)) - '@'));
}
else
{
diff --git a/cpp/src/IceUtil/OutputUtil.cpp b/cpp/src/IceUtil/OutputUtil.cpp
index 89e1f349952..9b8612c4d7b 100644
--- a/cpp/src/IceUtil/OutputUtil.cpp
+++ b/cpp/src/IceUtil/OutputUtil.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/src/IceUtil/RWRecMutex.cpp b/cpp/src/IceUtil/RWRecMutex.cpp
index c8b3bddab75..6cede10a3f9 100644
--- a/cpp/src/IceUtil/RWRecMutex.cpp
+++ b/cpp/src/IceUtil/RWRecMutex.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/src/IceUtil/Random.cpp b/cpp/src/IceUtil/Random.cpp
index 799d4fad3d8..47ec280ece9 100644
--- a/cpp/src/IceUtil/Random.cpp
+++ b/cpp/src/IceUtil/Random.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/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp
index 2e185ff99a6..666f2edc624 100644
--- a/cpp/src/IceUtil/RecMutex.cpp
+++ b/cpp/src/IceUtil/RecMutex.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/src/IceUtil/Shared.cpp b/cpp/src/IceUtil/Shared.cpp
index 1121ab3c823..2c0205a4265 100644
--- a/cpp/src/IceUtil/Shared.cpp
+++ b/cpp/src/IceUtil/Shared.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/src/IceUtil/StaticMutex.cpp b/cpp/src/IceUtil/StaticMutex.cpp
index 6206e245445..92792c07f69 100644
--- a/cpp/src/IceUtil/StaticMutex.cpp
+++ b/cpp/src/IceUtil/StaticMutex.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/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp
index 99c4d759724..8965020fab8 100644
--- a/cpp/src/IceUtil/StringUtil.cpp
+++ b/cpp/src/IceUtil/StringUtil.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.
@@ -324,7 +324,6 @@ IceUtilInternal::splitString(const string& str, const string& delim, vector<stri
quoteChar = str[pos];
++pos;
}
- bool trim = true;
while(pos < length)
{
if(quoteChar != '\0' && str[pos] == '\\' && pos + 1 < length && str[pos + 1] == quoteChar)
@@ -333,7 +332,6 @@ IceUtilInternal::splitString(const string& str, const string& delim, vector<stri
}
else if(quoteChar != '\0' && str[pos] == quoteChar)
{
- trim = false;
++pos;
quoteChar = '\0';
break;
@@ -688,3 +686,39 @@ IceUtilInternal::lastErrorToString()
}
#endif
+
+string
+IceUtilInternal::toLower(const std::string& s)
+{
+ string result;
+ for(unsigned int i = 0; i < s.length(); ++ i)
+ {
+ result += tolower(static_cast<unsigned char>(s[i]));
+ }
+ return result;
+}
+
+string
+IceUtilInternal::toUpper(const std::string& s)
+{
+ string result;
+ for(unsigned int i = 0; i < s.length(); ++ i)
+ {
+ result += toupper(static_cast<unsigned char>(s[i]));
+ }
+ return result;
+}
+
+string
+IceUtilInternal::removeWhitespace(const std::string& s)
+{
+ string result;
+ for(unsigned int i = 0; i < s.length(); ++ i)
+ {
+ if(!isspace(static_cast<unsigned char>(s[i])))
+ {
+ result += s[i];
+ }
+ }
+ return result;
+}
diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp
index bb9521b72bc..d39014ae653 100644
--- a/cpp/src/IceUtil/Thread.cpp
+++ b/cpp/src/IceUtil/Thread.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/src/IceUtil/ThreadException.cpp b/cpp/src/IceUtil/ThreadException.cpp
index 81ab1502917..bfd5c2df3d0 100644
--- a/cpp/src/IceUtil/ThreadException.cpp
+++ b/cpp/src/IceUtil/ThreadException.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/src/IceUtil/Time.cpp b/cpp/src/IceUtil/Time.cpp
index 0ffda7002a7..a1023a87934 100644
--- a/cpp/src/IceUtil/Time.cpp
+++ b/cpp/src/IceUtil/Time.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/src/IceUtil/Timer.cpp b/cpp/src/IceUtil/Timer.cpp
index a5b2175c425..7416895b050 100644
--- a/cpp/src/IceUtil/Timer.cpp
+++ b/cpp/src/IceUtil/Timer.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,7 +15,9 @@ using namespace IceUtil;
Timer::Timer() : _destroyed(false)
{
+ __setNoDelete(true);
start();
+ __setNoDelete(false);
}
void
diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp
index 6b9a0cc615b..da3ab47a04a 100644
--- a/cpp/src/IceUtil/UUID.cpp
+++ b/cpp/src/IceUtil/UUID.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/src/IceUtil/Unicode.cpp b/cpp/src/IceUtil/Unicode.cpp
index 5a8304df18e..71679dd1e86 100644
--- a/cpp/src/IceUtil/Unicode.cpp
+++ b/cpp/src/IceUtil/Unicode.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/src/IceXML/IceXML.rc b/cpp/src/IceXML/IceXML.rc
index fd6dd29e1cc..da67d911da0 100644
--- a/cpp/src/IceXML/IceXML.rc
+++ b/cpp/src/IceXML/IceXML.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "IceXML DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/IceXML/Makefile b/cpp/src/IceXML/Makefile
index 1301457250b..e52b5af4b16 100644
--- a/cpp/src/IceXML/Makefile
+++ b/cpp/src/IceXML/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/src/IceXML/Makefile.mak b/cpp/src/IceXML/Makefile.mak
index 89d8ed0df21..42499e663a8 100644
--- a/cpp/src/IceXML/Makefile.mak
+++ b/cpp/src/IceXML/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/src/IceXML/Parser.cpp b/cpp/src/IceXML/Parser.cpp
index 5d195c85fe9..5538074bd78 100644
--- a/cpp/src/IceXML/Parser.cpp
+++ b/cpp/src/IceXML/Parser.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/src/Makefile b/cpp/src/Makefile
index 8f47de1df39..bacd29aa623 100644
--- a/cpp/src/Makefile
+++ b/cpp/src/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/src/Makefile.mak b/cpp/src/Makefile.mak
index 79962cc9369..4014fa2c454 100644
--- a/cpp/src/Makefile.mak
+++ b/cpp/src/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/src/Slice/.depend b/cpp/src/Slice/.depend
index 39c2278df2d..ee89ffd647f 100644
--- a/cpp/src/Slice/.depend
+++ b/cpp/src/Slice/.depend
@@ -3,13 +3,12 @@ Grammar$(OBJEXT): ../Slice/Grammar.cpp ../Slice/GrammarUtil.h $(includedir)/Slic
Parser$(OBJEXT): Parser.cpp $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/InputUtil.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/Unicode.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h ../Slice/GrammarUtil.h $(includedir)/Slice/Util.h
CPlusPlusUtil$(OBJEXT): CPlusPlusUtil.cpp $(includedir)/Slice/CPlusPlusUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Util.h
CsUtil$(OBJEXT): CsUtil.cpp $(includedir)/Slice/CsUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/DotNetNames.h $(includedir)/IceUtil/Functional.h
-JavaUtil$(OBJEXT): JavaUtil.cpp $(includedir)/Slice/JavaUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/SignalHandler.h $(includedir)/IceUtil/Functional.h
-Preprocessor$(OBJEXT): Preprocessor.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/Slice/Preprocessor.h $(includedir)/IceUtil/Config.h $(includedir)/Slice/Util.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Slice/SignalHandler.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h
+JavaUtil$(OBJEXT): JavaUtil.cpp $(includedir)/Slice/JavaUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/IceUtil/Functional.h
+Preprocessor$(OBJEXT): Preprocessor.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/Slice/Preprocessor.h $(includedir)/IceUtil/Config.h $(includedir)/Slice/Util.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/FileUtil.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h
Checksum$(OBJEXT): Checksum.cpp $(includedir)/Slice/Checksum.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h ../Slice/MD5.h
PythonUtil$(OBJEXT): PythonUtil.cpp $(includedir)/Slice/PythonUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Checksum.h $(includedir)/Slice/Util.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/StringUtil.h $(includedir)/IceUtil/InputUtil.h
DotNetNames$(OBJEXT): DotNetNames.cpp $(includedir)/Slice/DotNetNames.h
RubyUtil$(OBJEXT): RubyUtil.cpp $(includedir)/Slice/RubyUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Checksum.h $(includedir)/Slice/Util.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/InputUtil.h
-Util$(OBJEXT): Util.cpp $(includedir)/Slice/Util.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Unicode.h
+Util$(OBJEXT): Util.cpp $(includedir)/Slice/Util.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/FileUtil.h
MD5$(OBJEXT): MD5.cpp ../Slice/MD5.h $(includedir)/IceUtil/Config.h ../Slice/MD5I.h
MD5I$(OBJEXT): MD5I.cpp ../Slice/MD5I.h
-SignalHandler$(OBJEXT): SignalHandler.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/Slice/SignalHandler.h $(includedir)/IceUtil/Config.h
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp
index bb6e5db83b4..6997b9b436c 100644
--- a/cpp/src/Slice/CPlusPlusUtil.cpp
+++ b/cpp/src/Slice/CPlusPlusUtil.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.
@@ -25,7 +25,7 @@ Slice::FeatureProfile Slice::featureProfile = Slice::Ice;
char
Slice::ToIfdef::operator()(char c)
{
- if(!isalnum(c))
+ if(!isalnum(static_cast<unsigned char>(c)))
{
return '_';
}
@@ -42,7 +42,7 @@ Slice::printHeader(Output& out)
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/Slice/Checksum.cpp b/cpp/src/Slice/Checksum.cpp
index 023bbd2ace0..33c3facfae4 100644
--- a/cpp/src/Slice/Checksum.cpp
+++ b/cpp/src/Slice/Checksum.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/src/Slice/CsUtil.cpp b/cpp/src/Slice/CsUtil.cpp
index f329eb84606..ae8c6e667cc 100644
--- a/cpp/src/Slice/CsUtil.cpp
+++ b/cpp/src/Slice/CsUtil.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.
@@ -887,7 +887,7 @@ Slice::CsGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
}
default:
{
- typeS[0] = toupper(typeS[0]);
+ typeS[0] = toupper(static_cast<unsigned char>(typeS[0]));
if(marshal)
{
out << nl << stream << ".write" << typeS << "Seq(";
@@ -1119,7 +1119,7 @@ Slice::CsGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
{
call += "_tmp";
}
- call += " == null ? new " + typeS + "() : " + param;
+ call += "[ix__] == null ? new " + typeS + "() : " + param;
if(isStack)
{
call += "_tmp";
@@ -1528,7 +1528,7 @@ Slice::CsGenerator::MetaDataVisitor::visitModuleStart(const ModulePtr& p)
static const string attributePrefix = "cs:attribute:";
if(s.find(attributePrefix) != 0 || s.size() == attributePrefix.size())
{
- cout << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
+ cerr << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
}
}
_history.insert(s);
@@ -1595,7 +1595,7 @@ Slice::CsGenerator::MetaDataVisitor::visitOperation(const OperationPtr& p)
ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container());
if(!cl->isLocal())
{
- cout << p->definitionContext()->filename() << ":" << p->line()
+ cerr << p->definitionContext()->filename() << ":" << p->line()
<< ": warning: metdata directive `UserException' applies only to local operations "
<< "but enclosing " << (cl->isInterface() ? "interface" : "class") << "`" << cl->name()
<< "' is not local" << endl;
@@ -1720,7 +1720,7 @@ Slice::CsGenerator::MetaDataVisitor::validate(const ContainedPtr& cont)
}
}
}
- cout << file << ":" << cont->line() << ": warning: " << msg << " `" << s << "'" << endl;
+ cerr << file << ":" << cont->line() << ": warning: " << msg << " `" << s << "'" << endl;
}
_history.insert(s);
}
@@ -1734,7 +1734,7 @@ Slice::CsGenerator::MetaDataVisitor::validate(const ContainedPtr& cont)
{
continue;
}
- cout << file << ":" << cont->line() << ": warning: " << msg << " `" << s << "'" << endl;
+ cerr << file << ":" << cont->line() << ": warning: " << msg << " `" << s << "'" << endl;
}
_history.insert(s);
}
diff --git a/cpp/src/Slice/DotNetNames.cpp b/cpp/src/Slice/DotNetNames.cpp
index cd3b3187f47..198bf1ca750 100644
--- a/cpp/src/Slice/DotNetNames.cpp
+++ b/cpp/src/Slice/DotNetNames.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.
@@ -84,7 +84,7 @@ ciEquals(const string& s, const char* p)
string::const_iterator i = s.begin();
while(i != s.end())
{
- if(tolower(*i++) != tolower(*p++))
+ if(tolower(static_cast<unsigned char>(*i++)) != tolower(static_cast<unsigned char>(*p++)))
{
return false;
}
diff --git a/cpp/src/Slice/FileTracker.cpp b/cpp/src/Slice/FileTracker.cpp
new file mode 100644
index 00000000000..438670cf2f8
--- /dev/null
+++ b/cpp/src/Slice/FileTracker.cpp
@@ -0,0 +1,117 @@
+// **********************************************************************
+//
+// 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 <Slice/FileTracker.h>
+
+#ifdef _WIN32
+# include <direct.h>
+#endif
+
+using namespace std;
+
+Slice::FileException::FileException(const char* file, int line, const string& r) :
+ Exception(file, line),
+ _reason(r)
+{
+}
+
+Slice::FileException::~FileException() throw()
+{
+}
+
+const char* Slice::FileException::_name = "Slice::FileException";
+
+string
+Slice::FileException::ice_name() const
+{
+ return _name;
+}
+
+void
+Slice::FileException::ice_print(ostream& out) const
+{
+ Exception::ice_print(out);
+ out << ": " << _reason;
+}
+
+IceUtil::Exception*
+Slice::FileException::ice_clone() const
+{
+ return new FileException(*this);
+}
+
+void
+Slice::FileException::ice_throw() const
+{
+ throw *this;
+}
+
+string
+Slice::FileException::reason() const
+{
+ return _reason;
+}
+
+
+static Slice::FileTrackerPtr Instance;
+
+Slice::FileTracker::FileTracker()
+{
+}
+
+Slice::FileTracker::~FileTracker()
+{
+}
+
+// The file tracker is not supposed to be thread safe.
+Slice::FileTrackerPtr
+Slice::FileTracker::instance()
+{
+ if(!Instance)
+ {
+ Instance = new FileTracker();
+ }
+ return Instance;
+}
+
+void
+Slice::FileTracker::addFile(const string& file)
+{
+ _files.push_front(make_pair(file, false));
+}
+
+void
+Slice::FileTracker::addDirectory(const string& dir)
+{
+ _files.push_front(make_pair(dir, true));
+}
+
+void
+Slice::FileTracker::cleanup()
+{
+ for(list<pair<string, bool> >::const_iterator p = _files.begin(); p != _files.end(); ++p)
+ {
+ if(!p->second)
+ {
+#ifdef _WIN32
+ _unlink(p->first.c_str());
+#else
+ unlink(p->first.c_str());
+#endif
+ }
+ else
+ {
+#ifdef _WIN32
+ _rmdir(p->first.c_str());
+#else
+ rmdir(p->first.c_str());
+#endif
+ }
+ }
+}
diff --git a/cpp/src/Slice/Grammar.cpp b/cpp/src/Slice/Grammar.cpp
new file mode 100644
index 00000000000..9d94b2eae25
--- /dev/null
+++ b/cpp/src/Slice/Grammar.cpp
@@ -0,0 +1,3655 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+/* If NAME_PREFIX is specified substitute the variables and functions
+ names. */
+#define yyparse slice_parse
+#define yylex slice_lex
+#define yyerror slice_error
+#define yylval slice_lval
+#define yychar slice_char
+#define yydebug slice_debug
+#define yynerrs slice_nerrs
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_MODULE = 258,
+ ICE_CLASS = 259,
+ ICE_INTERFACE = 260,
+ ICE_EXCEPTION = 261,
+ ICE_STRUCT = 262,
+ ICE_SEQUENCE = 263,
+ ICE_DICTIONARY = 264,
+ ICE_ENUM = 265,
+ ICE_OUT = 266,
+ ICE_EXTENDS = 267,
+ ICE_IMPLEMENTS = 268,
+ ICE_THROWS = 269,
+ ICE_VOID = 270,
+ ICE_BYTE = 271,
+ ICE_BOOL = 272,
+ ICE_SHORT = 273,
+ ICE_INT = 274,
+ ICE_LONG = 275,
+ ICE_FLOAT = 276,
+ ICE_DOUBLE = 277,
+ ICE_STRING = 278,
+ ICE_OBJECT = 279,
+ ICE_LOCAL_OBJECT = 280,
+ ICE_LOCAL = 281,
+ ICE_CONST = 282,
+ ICE_FALSE = 283,
+ ICE_TRUE = 284,
+ ICE_NONMUTATING = 285,
+ ICE_IDEMPOTENT = 286,
+ ICE_SCOPE_DELIMITER = 287,
+ ICE_IDENTIFIER = 288,
+ ICE_STRING_LITERAL = 289,
+ ICE_INTEGER_LITERAL = 290,
+ ICE_FLOATING_POINT_LITERAL = 291,
+ ICE_IDENT_OP = 292,
+ ICE_KEYWORD_OP = 293,
+ ICE_METADATA_OPEN = 294,
+ ICE_METADATA_CLOSE = 295,
+ ICE_GLOBAL_METADATA_OPEN = 296,
+ ICE_GLOBAL_METADATA_CLOSE = 297,
+ BAD_CHAR = 298
+ };
+#endif
+#define ICE_MODULE 258
+#define ICE_CLASS 259
+#define ICE_INTERFACE 260
+#define ICE_EXCEPTION 261
+#define ICE_STRUCT 262
+#define ICE_SEQUENCE 263
+#define ICE_DICTIONARY 264
+#define ICE_ENUM 265
+#define ICE_OUT 266
+#define ICE_EXTENDS 267
+#define ICE_IMPLEMENTS 268
+#define ICE_THROWS 269
+#define ICE_VOID 270
+#define ICE_BYTE 271
+#define ICE_BOOL 272
+#define ICE_SHORT 273
+#define ICE_INT 274
+#define ICE_LONG 275
+#define ICE_FLOAT 276
+#define ICE_DOUBLE 277
+#define ICE_STRING 278
+#define ICE_OBJECT 279
+#define ICE_LOCAL_OBJECT 280
+#define ICE_LOCAL 281
+#define ICE_CONST 282
+#define ICE_FALSE 283
+#define ICE_TRUE 284
+#define ICE_NONMUTATING 285
+#define ICE_IDEMPOTENT 286
+#define ICE_SCOPE_DELIMITER 287
+#define ICE_IDENTIFIER 288
+#define ICE_STRING_LITERAL 289
+#define ICE_INTEGER_LITERAL 290
+#define ICE_FLOATING_POINT_LITERAL 291
+#define ICE_IDENT_OP 292
+#define ICE_KEYWORD_OP 293
+#define ICE_METADATA_OPEN 294
+#define ICE_METADATA_CLOSE 295
+#define ICE_GLOBAL_METADATA_OPEN 296
+#define ICE_GLOBAL_METADATA_CLOSE 297
+#define BAD_CHAR 298
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "../Slice/Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <Slice/GrammarUtil.h>
+#include <IceUtil/UUID.h>
+#include <cstring>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace Slice;
+
+void
+slice_error(const char* s)
+{
+ // yacc and recent versions of Bison use "syntax error" instead
+ // of "parse error".
+
+ if (strcmp(s, "parse error") == 0)
+ {
+ unit->error("syntax error");
+ }
+ else
+ {
+ unit->error(s);
+ }
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 226 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 13
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 775
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 53
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 67
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 184
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 269
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 298
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 47, 51, 2, 48, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 44,
+ 49, 52, 50, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 45, 2, 46, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned short yyprhs[] =
+{
+ 0, 0, 3, 5, 9, 13, 14, 15, 19, 20,
+ 26, 27, 32, 35, 36, 38, 40, 42, 44, 46,
+ 48, 50, 52, 54, 56, 58, 60, 62, 63, 70,
+ 73, 76, 79, 80, 88, 91, 92, 97, 101, 104,
+ 105, 108, 110, 113, 116, 119, 120, 127, 132, 136,
+ 139, 140, 142, 145, 148, 151, 152, 161, 164, 165,
+ 168, 169, 174, 178, 181, 182, 184, 187, 189, 191,
+ 193, 196, 200, 204, 207, 211, 215, 216, 222, 223,
+ 229, 231, 233, 236, 239, 242, 243, 251, 255, 257,
+ 259, 262, 263, 268, 272, 275, 276, 278, 282, 284,
+ 286, 288, 296, 304, 315, 326, 329, 332, 333, 340,
+ 346, 350, 352, 354, 356, 357, 359, 360, 361, 365,
+ 371, 376, 383, 387, 393, 396, 397, 399, 402, 406,
+ 408, 410, 412, 414, 416, 418, 420, 422, 424, 427,
+ 429, 431, 434, 437, 439, 443, 445, 447, 448, 450,
+ 452, 454, 456, 458, 460, 467, 473, 475, 477, 479,
+ 481, 483, 485, 487, 489, 491, 493, 495, 497, 499,
+ 501, 503, 505, 507, 509, 511, 513, 515, 517, 519,
+ 521, 523, 525, 527, 529
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 54, 0, -1, 57, -1, 41, 115, 42, -1, 39,
+ 115, 40, -1, -1, -1, 55, 58, 57, -1, -1,
+ 56, 61, 59, 44, 57, -1, -1, 1, 44, 60,
+ 57, -1, 56, 61, -1, -1, 62, -1, 79, -1,
+ 80, -1, 93, -1, 94, -1, 65, -1, 66, -1,
+ 73, -1, 74, -1, 102, -1, 103, -1, 105, -1,
+ 118, -1, -1, 3, 33, 63, 45, 57, 46, -1,
+ 6, 33, -1, 6, 119, -1, 116, 64, -1, -1,
+ 116, 64, 68, 67, 45, 69, 46, -1, 12, 112,
+ -1, -1, 56, 71, 44, 69, -1, 1, 44, 69,
+ -1, 56, 71, -1, -1, 113, 33, -1, 85, -1,
+ 7, 33, -1, 7, 119, -1, 116, 72, -1, -1,
+ 116, 72, 75, 45, 76, 46, -1, 56, 77, 44,
+ 76, -1, 1, 44, 76, -1, 56, 77, -1, -1,
+ 85, -1, 4, 33, -1, 4, 119, -1, 116, 78,
+ -1, -1, 116, 78, 82, 83, 81, 45, 84, 46,
+ -1, 12, 112, -1, -1, 13, 96, -1, -1, 56,
+ 91, 44, 84, -1, 1, 44, 84, -1, 56, 91,
+ -1, -1, 70, -1, 113, 119, -1, 113, -1, 113,
+ -1, 15, -1, 86, 37, -1, 30, 86, 37, -1,
+ 31, 86, 37, -1, 86, 38, -1, 30, 86, 38,
+ -1, 31, 86, 38, -1, -1, 87, 110, 47, 89,
+ 111, -1, -1, 87, 1, 47, 90, 111, -1, 85,
+ -1, 88, -1, 5, 33, -1, 5, 119, -1, 116,
+ 92, -1, -1, 116, 92, 97, 95, 45, 98, 46,
+ -1, 112, 48, 96, -1, 112, -1, 24, -1, 12,
+ 96, -1, -1, 56, 99, 44, 98, -1, 1, 44,
+ 98, -1, 56, 99, -1, -1, 88, -1, 101, 48,
+ 100, -1, 101, -1, 112, -1, 119, -1, 116, 8,
+ 49, 56, 113, 50, 33, -1, 116, 8, 49, 56,
+ 113, 50, 119, -1, 116, 9, 49, 56, 113, 48,
+ 56, 113, 50, 33, -1, 116, 9, 49, 56, 113,
+ 48, 56, 113, 50, 119, -1, 10, 33, -1, 10,
+ 119, -1, -1, 116, 104, 106, 45, 107, 46, -1,
+ 116, 10, 45, 107, 46, -1, 108, 48, 107, -1,
+ 108, -1, 33, -1, 119, -1, -1, 11, -1, -1,
+ -1, 109, 56, 70, -1, 110, 48, 109, 56, 70,
+ -1, 109, 56, 113, 119, -1, 110, 48, 109, 56,
+ 113, 119, -1, 109, 56, 113, -1, 110, 48, 109,
+ 56, 113, -1, 14, 100, -1, -1, 33, -1, 32,
+ 33, -1, 112, 32, 33, -1, 16, -1, 17, -1,
+ 18, -1, 19, -1, 20, -1, 21, -1, 22, -1,
+ 23, -1, 24, -1, 24, 51, -1, 25, -1, 112,
+ -1, 112, 51, -1, 34, 114, -1, 34, -1, 115,
+ 48, 114, -1, 114, -1, 26, -1, -1, 35, -1,
+ 36, -1, 112, -1, 34, -1, 28, -1, 29, -1,
+ 27, 56, 113, 33, 52, 117, -1, 27, 56, 113,
+ 52, 117, -1, 3, -1, 4, -1, 5, -1, 6,
+ -1, 7, -1, 8, -1, 9, -1, 10, -1, 11,
+ -1, 12, -1, 13, -1, 14, -1, 15, -1, 16,
+ -1, 17, -1, 18, -1, 19, -1, 20, -1, 21,
+ -1, 22, -1, 23, -1, 24, -1, 25, -1, 26,
+ -1, 27, -1, 28, -1, 29, -1, 30, -1, 31,
+ -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short yyrline[] =
+{
+ 0, 105, 105, 113, 122, 127, 136, 135, 145, 144,
+ 156, 155, 160, 165, 172, 176, 180, 184, 188, 192,
+ 196, 200, 204, 208, 212, 216, 220, 230, 229, 262,
+ 266, 277, 288, 287, 314, 323, 331, 340, 343, 348,
+ 355, 368, 374, 378, 389, 400, 399, 435, 444, 447,
+ 452, 459, 465, 469, 480, 494, 493, 533, 568, 576,
+ 581, 589, 598, 601, 606, 613, 636, 658, 684, 685,
+ 694, 718, 759, 783, 807, 831, 861, 860, 883, 882,
+ 905, 906, 912, 916, 927, 942, 941, 976, 1011, 1046,
+ 1056, 1061, 1069, 1078, 1081, 1086, 1093, 1099, 1106, 1118,
+ 1130, 1141, 1150, 1165, 1176, 1193, 1197, 1209, 1208, 1232,
+ 1247, 1253, 1261, 1273, 1281, 1290, 1297, 1308, 1310, 1328,
+ 1346, 1358, 1370, 1381, 1397, 1402, 1410, 1413, 1419, 1432,
+ 1436, 1440, 1444, 1448, 1452, 1456, 1460, 1464, 1468, 1472,
+ 1476, 1495, 1536, 1542, 1550, 1557, 1569, 1576, 1586, 1599,
+ 1612, 1647, 1658, 1669, 1685, 1694, 1709, 1712, 1715, 1718,
+ 1721, 1724, 1727, 1730, 1733, 1736, 1739, 1742, 1745, 1748,
+ 1751, 1754, 1757, 1760, 1763, 1766, 1769, 1772, 1775, 1778,
+ 1781, 1784, 1787, 1790, 1793
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "ICE_MODULE", "ICE_CLASS",
+ "ICE_INTERFACE", "ICE_EXCEPTION", "ICE_STRUCT", "ICE_SEQUENCE",
+ "ICE_DICTIONARY", "ICE_ENUM", "ICE_OUT", "ICE_EXTENDS", "ICE_IMPLEMENTS",
+ "ICE_THROWS", "ICE_VOID", "ICE_BYTE", "ICE_BOOL", "ICE_SHORT", "ICE_INT",
+ "ICE_LONG", "ICE_FLOAT", "ICE_DOUBLE", "ICE_STRING", "ICE_OBJECT",
+ "ICE_LOCAL_OBJECT", "ICE_LOCAL", "ICE_CONST", "ICE_FALSE", "ICE_TRUE",
+ "ICE_NONMUTATING", "ICE_IDEMPOTENT", "ICE_SCOPE_DELIMITER",
+ "ICE_IDENTIFIER", "ICE_STRING_LITERAL", "ICE_INTEGER_LITERAL",
+ "ICE_FLOATING_POINT_LITERAL", "ICE_IDENT_OP", "ICE_KEYWORD_OP",
+ "ICE_METADATA_OPEN", "ICE_METADATA_CLOSE", "ICE_GLOBAL_METADATA_OPEN",
+ "ICE_GLOBAL_METADATA_CLOSE", "BAD_CHAR", "';'", "'{'", "'}'", "')'",
+ "','", "'<'", "'>'", "'*'", "'='", "$accept", "start",
+ "global_meta_data", "meta_data", "definitions", "@1", "@2", "@3",
+ "definition", "module_def", "@4", "exception_id", "exception_decl",
+ "exception_def", "@5", "exception_extends", "exception_exports",
+ "type_id", "exception_export", "struct_id", "struct_decl", "struct_def",
+ "@6", "struct_exports", "struct_export", "class_id", "class_decl",
+ "class_def", "@7", "class_extends", "implements", "class_exports",
+ "data_member", "return_type", "operation_preamble", "operation", "@8",
+ "@9", "class_export", "interface_id", "interface_decl", "interface_def",
+ "@10", "interface_list", "interface_extends", "interface_exports",
+ "interface_export", "exception_list", "exception", "sequence_def",
+ "dictionary_def", "enum_id", "enum_def", "@11", "enumerator_list",
+ "enumerator", "out_qualifier", "parameters", "throws", "scoped_name",
+ "type", "string_literal", "string_list", "local_qualifier",
+ "const_initializer", "const_def", "keyword", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 59, 123, 125, 41, 44, 60,
+ 62, 42, 61
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 53, 54, 55, 56, 56, 58, 57, 59, 57,
+ 60, 57, 57, 57, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 63, 62, 64,
+ 64, 65, 67, 66, 68, 68, 69, 69, 69, 69,
+ 70, 71, 72, 72, 73, 75, 74, 76, 76, 76,
+ 76, 77, 78, 78, 79, 81, 80, 82, 82, 83,
+ 83, 84, 84, 84, 84, 85, 85, 85, 86, 86,
+ 87, 87, 87, 87, 87, 87, 89, 88, 90, 88,
+ 91, 91, 92, 92, 93, 95, 94, 96, 96, 96,
+ 97, 97, 98, 98, 98, 98, 99, 100, 100, 101,
+ 101, 102, 102, 103, 103, 104, 104, 106, 105, 105,
+ 107, 107, 108, 108, 108, 109, 109, 110, 110, 110,
+ 110, 110, 110, 110, 111, 111, 112, 112, 112, 113,
+ 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
+ 113, 113, 114, 114, 115, 115, 116, 116, 117, 117,
+ 117, 117, 117, 117, 118, 118, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 3, 3, 0, 0, 3, 0, 5,
+ 0, 4, 2, 0, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 0, 6, 2,
+ 2, 2, 0, 7, 2, 0, 4, 3, 2, 0,
+ 2, 1, 2, 2, 2, 0, 6, 4, 3, 2,
+ 0, 1, 2, 2, 2, 0, 8, 2, 0, 2,
+ 0, 4, 3, 2, 0, 1, 2, 1, 1, 1,
+ 2, 3, 3, 2, 3, 3, 0, 5, 0, 5,
+ 1, 1, 2, 2, 2, 0, 7, 3, 1, 1,
+ 2, 0, 4, 3, 2, 0, 1, 3, 1, 1,
+ 1, 7, 7, 10, 10, 2, 2, 0, 6, 5,
+ 3, 1, 1, 1, 0, 1, 0, 0, 3, 5,
+ 4, 6, 3, 5, 2, 0, 1, 2, 3, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+ 1, 2, 2, 1, 3, 1, 1, 0, 1, 1,
+ 1, 1, 1, 1, 6, 5, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 0, 0, 0, 0, 6, 147, 2, 10, 143,
+ 145, 0, 0, 1, 0, 0, 146, 5, 12, 14,
+ 19, 20, 21, 22, 15, 16, 17, 18, 23, 24,
+ 25, 0, 26, 0, 142, 4, 0, 3, 7, 27,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
+ 44, 54, 84, 107, 11, 144, 0, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 139, 0, 126, 140,
+ 0, 0, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 52, 53, 82, 83, 29, 30, 42, 43, 5,
+ 5, 105, 114, 106, 0, 32, 0, 0, 60, 0,
+ 85, 0, 0, 138, 127, 0, 141, 0, 0, 9,
+ 0, 0, 112, 0, 111, 113, 34, 0, 0, 57,
+ 0, 55, 89, 90, 88, 0, 114, 0, 128, 0,
+ 152, 153, 151, 148, 149, 150, 155, 0, 0, 109,
+ 114, 0, 0, 0, 0, 59, 0, 0, 0, 0,
+ 28, 154, 0, 5, 110, 0, 0, 0, 0, 65,
+ 49, 51, 67, 46, 0, 87, 0, 0, 0, 108,
+ 101, 102, 0, 0, 38, 41, 33, 48, 0, 40,
+ 66, 0, 0, 0, 0, 69, 0, 0, 0, 0,
+ 96, 94, 68, 86, 0, 37, 0, 47, 0, 80,
+ 81, 63, 67, 56, 93, 0, 0, 70, 73, 0,
+ 115, 5, 0, 0, 0, 36, 62, 0, 71, 74,
+ 72, 75, 78, 0, 76, 116, 92, 103, 104, 61,
+ 125, 118, 122, 125, 5, 0, 79, 120, 77, 0,
+ 124, 98, 99, 100, 119, 123, 0, 121, 97
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short yydefgoto[] =
+{
+ -1, 4, 5, 6, 7, 14, 41, 33, 18, 19,
+ 56, 49, 20, 21, 137, 115, 177, 179, 194, 50,
+ 22, 23, 116, 164, 180, 51, 24, 25, 166, 118,
+ 141, 203, 181, 208, 209, 210, 253, 250, 221, 52,
+ 26, 27, 145, 143, 120, 188, 211, 260, 261, 28,
+ 29, 53, 30, 121, 133, 134, 231, 232, 256, 69,
+ 212, 10, 11, 31, 156, 32, 135
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -192
+static const short yypact[] =
+{
+ 400, -26, -9, -9, 27, -192, 62, -192, -192, -9,
+ -192, 18, 20, -192, 77, 30, -192, 35, 58, -192,
+ -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+ -192, 130, -192, 77, -192, -192, -9, -192, -192, -192,
+ 186, 78, 506, 537, 568, 599, 75, 79, 366, -11,
+ 34, 9, 11, -192, -192, -192, 61, -192, -192, -192,
+ -192, -192, -192, -192, -192, 76, -192, 96, -192, -15,
+ 38, 77, -192, -192, -192, -192, -192, -192, -192, -192,
+ -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+ -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
+ -192, -192, -192, -192, -192, -192, -192, -192, -192, 35,
+ 35, -192, 630, -192, -2, -192, 103, -2, 128, 93,
+ -192, 107, 104, -192, -192, 116, -192, 101, 156, -192,
+ 186, 186, -192, 108, 109, -192, 123, 114, 289, 123,
+ 93, -192, -192, -192, -8, 115, 630, 117, -192, 156,
+ -192, -192, -192, -192, -192, 123, -192, 118, 121, -192,
+ 630, 322, 120, 186, 119, -192, 125, 93, 223, 127,
+ -192, -192, 661, 35, -192, 122, 186, 129, 289, -192,
+ 133, -192, 692, -192, 256, -192, 134, 398, 137, -192,
+ -192, -192, 186, 322, 135, -192, -192, -192, 289, -192,
+ -192, 136, 398, 140, 223, -192, 742, 742, 32, 28,
+ -192, 149, -192, -192, 124, -192, 322, -192, 256, -192,
+ -192, 151, 439, -192, -192, 57, 59, -192, -192, 150,
+ -192, 35, 51, 223, 723, -192, -192, 256, -192, -192,
+ -192, -192, -192, 186, -192, 160, -192, -192, -192, -192,
+ 182, -192, 692, 182, 35, 475, -192, -192, -192, 186,
+ -192, 152, 123, -192, -192, 692, 475, -192, -192
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const short yypgoto[] =
+{
+ -192, -192, -192, -17, -7, -192, -192, -192, -192, -192,
+ -192, -192, -192, -192, -192, -192, -179, -186, -192, -192,
+ -192, -192, -192, -163, -192, -192, -192, -192, -192, -192,
+ -192, -146, -164, -87, -192, -4, -192, -192, -192, -192,
+ -192, -192, -192, -124, -192, -191, -192, -49, -192, -192,
+ -192, -192, -192, -192, -127, -192, -24, -192, -31, -108,
+ -30, 19, 220, -192, 81, -192, -40
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -118
+static const short yytable[] =
+{
+ 40, 114, 102, 104, 106, 108, 136, 38, 113, 139,
+ 70, 144, 195, 224, 215, 197, 165, 125, 8, 169,
+ 155, 117, -58, 119, 125, 9, 54, 13, 34, 229,
+ 67, 68, 144, 174, -35, 217, 126, 235, 219, 230,
+ 167, 155, 246, 185, -116, -116, -116, -116, -116, -116,
+ -116, -116, -116, -116, -58, 55, -91, 251, 35, 144,
+ -116, -116, 37, 39, 129, 15, 36, -116, 36, 227,
+ 228, 127, 236, 264, 2, -117, -117, -13, 1, -45,
+ -5, -5, -5, -5, -5, -5, -5, -5, 16, 17,
+ 128, 249, 130, 131, 238, 239, 240, 241, 244, 245,
+ 157, 158, -8, -5, -5, 1, 122, -5, -5, -5,
+ -5, -5, -5, -5, -5, 147, 2, 142, 3, 225,
+ 226, 163, 71, -13, 109, 67, 68, 123, 110, 124,
+ -5, -5, 191, 182, 42, 43, 44, 45, 46, 47,
+ 48, 140, 200, 2, 176, 3, 182, 262, 138, 148,
+ -13, 187, 146, 149, 159, 125, 192, 160, 262, 161,
+ 168, 163, 214, 170, 178, 183, 193, 202, 172, 173,
+ 184, 230, 222, 189, 234, 196, 176, 198, 204, 216,
+ 218, 163, 200, 213, 150, 151, 223, 187, 67, 68,
+ 152, 153, 154, 233, 248, 237, 255, 242, 220, 176,
+ 266, 202, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 257, 252, 243, 263, 187, 268, 67, 68,
+ 202, 254, 258, 12, 186, 267, 263, 0, 0, 265,
+ 171, 0, 0, 0, 0, 0, 0, 259, -5, -5,
+ -5, -5, -5, -5, -5, -5, -5, -5, -5, 0,
+ 0, 0, 0, -5, -5, -5, -5, 201, 0, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0, 0, -95,
+ 0, -5, -5, -5, -5, -5, -5, -5, -5, -5,
+ -5, -5, 0, 0, 0, 0, -5, -5, -5, -5,
+ 162, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, -64, 0, 0, -5, -5, -5, -5, -5,
+ -5, -5, -5, -5, -5, 0, 0, 0, 0, 0,
+ 0, -5, -5, 175, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, -50, 0, 0, -5, -5,
+ -5, -5, -5, -5, -5, -5, -5, -5, 0, 0,
+ 0, 0, 0, 0, -5, -5, 0, 0, 0, 0,
+ 0, 2, 0, 0, 0, 0, 0, 0, -39, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 0, 111,
+ -13, 1, 0, -5, -5, -5, -5, -5, -5, -5,
+ -5, 112, 0, 205, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 0, 0, -5, -5, 206, 207,
+ 67, 68, 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 3, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 0, 199, 0, 0, 0, -68, -68, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 67, 68, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 0, 101,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 0,
+ 103, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 0, 105, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 0, 107, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 0, 132, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 0, 190, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 0, 199, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 0, 247, 205, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 0, 0,
+ 0, 0, 0, 0, 67, 68
+};
+
+static const short yycheck[] =
+{
+ 17, 12, 42, 43, 44, 45, 114, 14, 48, 117,
+ 40, 119, 176, 204, 193, 178, 140, 32, 44, 146,
+ 128, 12, 13, 12, 32, 34, 33, 0, 9, 1,
+ 32, 33, 140, 160, 45, 198, 51, 216, 202, 11,
+ 48, 149, 233, 167, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 45, 36, 45, 243, 40, 167,
+ 32, 33, 42, 33, 71, 3, 48, 39, 48, 37,
+ 38, 33, 218, 259, 39, 47, 48, 0, 1, 45,
+ 3, 4, 5, 6, 7, 8, 9, 10, 26, 27,
+ 52, 237, 109, 110, 37, 38, 37, 38, 47, 48,
+ 130, 131, 44, 26, 27, 1, 45, 3, 4, 5,
+ 6, 7, 8, 9, 10, 122, 39, 24, 41, 206,
+ 207, 138, 44, 46, 49, 32, 33, 51, 49, 33,
+ 26, 27, 172, 163, 4, 5, 6, 7, 8, 9,
+ 10, 13, 182, 39, 161, 41, 176, 255, 45, 33,
+ 46, 168, 45, 52, 46, 32, 173, 48, 266, 45,
+ 45, 178, 192, 46, 44, 46, 44, 184, 50, 48,
+ 45, 11, 202, 46, 50, 46, 193, 44, 44, 44,
+ 44, 198, 222, 46, 28, 29, 46, 204, 32, 33,
+ 34, 35, 36, 44, 234, 44, 14, 47, 202, 216,
+ 48, 218, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 252, 243, 231, 255, 233, 266, 32, 33,
+ 237, 245, 253, 3, 1, 265, 266, -1, -1, 259,
+ 149, -1, -1, -1, -1, -1, -1, 254, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
+ -1, -1, -1, 30, 31, 32, 33, 1, -1, -1,
+ -1, -1, 39, -1, -1, -1, -1, -1, -1, 46,
+ -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, -1, -1, -1, -1, 30, 31, 32, 33,
+ 1, -1, -1, -1, -1, 39, -1, -1, -1, -1,
+ -1, -1, 46, -1, -1, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+ -1, 32, 33, 1, -1, -1, -1, -1, 39, -1,
+ -1, -1, -1, -1, -1, 46, -1, -1, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, 32, 33, -1, -1, -1, -1,
+ -1, 39, -1, -1, -1, -1, -1, -1, 46, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
+ 0, 1, -1, 3, 4, 5, 6, 7, 8, 9,
+ 10, 45, -1, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, -1, -1, 26, 27, 30, 31,
+ 32, 33, -1, -1, -1, -1, -1, -1, -1, 39,
+ -1, 41, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, -1, 33, -1, -1, -1, 37, 38, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
+ 33, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ -1, 33, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, -1, 33, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, -1, 33, 3, 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, -1, 33, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, -1, 33, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, -1, 33, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
+ -1, -1, -1, -1, 32, 33
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 1, 39, 41, 54, 55, 56, 57, 44, 34,
+ 114, 115, 115, 0, 58, 3, 26, 27, 61, 62,
+ 65, 66, 73, 74, 79, 80, 93, 94, 102, 103,
+ 105, 116, 118, 60, 114, 40, 48, 42, 57, 33,
+ 56, 59, 4, 5, 6, 7, 8, 9, 10, 64,
+ 72, 78, 92, 104, 57, 114, 63, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 32, 33, 112,
+ 113, 44, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 33, 119, 33, 119, 33, 119, 33, 119, 49,
+ 49, 33, 45, 119, 12, 68, 75, 12, 82, 12,
+ 97, 106, 45, 51, 33, 32, 51, 33, 52, 57,
+ 56, 56, 33, 107, 108, 119, 112, 67, 45, 112,
+ 13, 83, 24, 96, 112, 95, 45, 57, 33, 52,
+ 28, 29, 34, 35, 36, 112, 117, 113, 113, 46,
+ 48, 45, 1, 56, 76, 96, 81, 48, 45, 107,
+ 46, 117, 50, 48, 107, 1, 56, 69, 44, 70,
+ 77, 85, 113, 46, 45, 96, 1, 56, 98, 46,
+ 33, 119, 56, 44, 71, 85, 46, 76, 44, 33,
+ 119, 1, 56, 84, 44, 15, 30, 31, 86, 87,
+ 88, 99, 113, 46, 113, 69, 44, 76, 44, 85,
+ 88, 91, 113, 46, 98, 86, 86, 37, 38, 1,
+ 11, 109, 110, 44, 50, 69, 84, 44, 37, 38,
+ 37, 38, 47, 56, 47, 48, 98, 33, 119, 84,
+ 90, 70, 113, 89, 109, 14, 111, 119, 111, 56,
+ 100, 101, 112, 119, 70, 113, 48, 119, 100
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 106 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 3:
+#line 114 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[-1];
+;}
+ break;
+
+ case 4:
+#line 123 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[-1];
+;}
+ break;
+
+ case 5:
+#line 127 "../Slice/Grammar.y"
+ {
+ yyval = new StringListTok;
+;}
+ break;
+
+ case 6:
+#line 136 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[0]);
+ if(!metaData->v.empty())
+ {
+ unit->addGlobalMetaData(metaData->v);
+ }
+;}
+ break;
+
+ case 8:
+#line 145 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-1]);
+ ContainedPtr contained = ContainedPtr::dynamicCast(yyvsp[0]);
+ if(contained && !metaData->v.empty())
+ {
+ contained->setMetaData(metaData->v);
+ }
+ unit->setSeenDefinition();
+;}
+ break;
+
+ case 10:
+#line 156 "../Slice/Grammar.y"
+ {
+ yyerrok;
+;}
+ break;
+
+ case 12:
+#line 161 "../Slice/Grammar.y"
+ {
+ unit->error("`;' missing after definition");
+;}
+ break;
+
+ case 13:
+#line 165 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 14:
+#line 173 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ModulePtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 15:
+#line 177 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ClassDeclPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 16:
+#line 181 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ClassDefPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 17:
+#line 185 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ClassDeclPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 18:
+#line 189 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ClassDefPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 19:
+#line 193 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0);
+;}
+ break;
+
+ case 20:
+#line 197 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ExceptionPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 21:
+#line 201 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0);
+;}
+ break;
+
+ case 22:
+#line 205 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || StructPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 23:
+#line 209 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || SequencePtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 24:
+#line 213 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || DictionaryPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 25:
+#line 217 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || EnumPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 26:
+#line 221 "../Slice/Grammar.y"
+ {
+ assert(yyvsp[0] == 0 || ConstPtr::dynamicCast(yyvsp[0]));
+;}
+ break;
+
+ case 27:
+#line 230 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ModulePtr module = cont->createModule(ident->v);
+ if(module)
+ {
+ cont->checkIntroduced(ident->v, module);
+ unit->pushContainer(module);
+ yyval = module;
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 28:
+#line 246 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-3])
+ {
+ unit->popContainer();
+ yyval = yyvsp[-3];
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 29:
+#line 263 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 30:
+#line 267 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as exception name");
+ yyval = yyvsp[0]; // Dummy
+;}
+ break;
+
+ case 31:
+#line 278 "../Slice/Grammar.y"
+ {
+ unit->error("exceptions cannot be forward declared");
+ yyval = 0;
+;}
+ break;
+
+ case 32:
+#line 288 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[-1]);
+ ExceptionPtr base = ExceptionPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ExceptionPtr ex = cont->createException(ident->v, base, local->v);
+ if(ex)
+ {
+ cont->checkIntroduced(ident->v, ex);
+ unit->pushContainer(ex);
+ }
+ yyval = ex;
+;}
+ break;
+
+ case 33:
+#line 302 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-3])
+ {
+ unit->popContainer();
+ }
+ yyval = yyvsp[-3];
+;}
+ break;
+
+ case 34:
+#line 315 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ContainedPtr contained = cont->lookupException(scoped->v);
+ cont->checkIntroduced(scoped->v);
+ yyval = contained;
+;}
+ break;
+
+ case 35:
+#line 323 "../Slice/Grammar.y"
+ {
+ yyval = 0;
+;}
+ break;
+
+ case 36:
+#line 332 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ ContainedPtr contained = ContainedPtr::dynamicCast(yyvsp[-2]);
+ if(contained && !metaData->v.empty())
+ {
+ contained->setMetaData(metaData->v);
+ }
+;}
+ break;
+
+ case 37:
+#line 341 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 38:
+#line 344 "../Slice/Grammar.y"
+ {
+ unit->error("`;' missing after definition");
+;}
+ break;
+
+ case 39:
+#line 348 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 40:
+#line 356 "../Slice/Grammar.y"
+ {
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ TypeStringTokPtr typestring = new TypeStringTok;
+ typestring->v = make_pair(type, ident->v);
+ yyval = typestring;
+;}
+ break;
+
+ case 42:
+#line 375 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 43:
+#line 379 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as struct name");
+ yyval = yyvsp[0]; // Dummy
+;}
+ break;
+
+ case 44:
+#line 390 "../Slice/Grammar.y"
+ {
+ unit->error("structs cannot be forward declared");
+ yyval = 0; // Dummy
+;}
+ break;
+
+ case 45:
+#line 400 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ StructPtr st = cont->createStruct(ident->v, local->v);
+ if(st)
+ {
+ cont->checkIntroduced(ident->v, st);
+ unit->pushContainer(st);
+ }
+ yyval = st;
+;}
+ break;
+
+ case 46:
+#line 413 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-3])
+ {
+ unit->popContainer();
+ }
+ yyval = yyvsp[-3];
+
+ //
+ // Empty structures are not allowed
+ //
+ StructPtr st = StructPtr::dynamicCast(yyval);
+ assert(st);
+ if(st->dataMembers().empty())
+ {
+ unit->error("struct `" + st->name() + "' must have at least one member"); // $$ is a dummy
+ }
+;}
+ break;
+
+ case 47:
+#line 436 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ ContainedPtr contained = ContainedPtr::dynamicCast(yyvsp[-2]);
+ if(contained && !metaData->v.empty())
+ {
+ contained->setMetaData(metaData->v);
+ }
+;}
+ break;
+
+ case 48:
+#line 445 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 49:
+#line 448 "../Slice/Grammar.y"
+ {
+ unit->error("`;' missing after definition");
+;}
+ break;
+
+ case 50:
+#line 452 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 52:
+#line 466 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 53:
+#line 470 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as class name");
+ yyval = yyvsp[0]; // Dummy
+;}
+ break;
+
+ case 54:
+#line 481 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ClassDeclPtr cl = cont->createClassDecl(ident->v, false, local->v);
+ yyval = cl;
+;}
+ break;
+
+ case 55:
+#line 494 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-3]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ ClassDefPtr base = ClassDefPtr::dynamicCast(yyvsp[-1]);
+ ClassListTokPtr bases = ClassListTokPtr::dynamicCast(yyvsp[0]);
+ if(base)
+ {
+ bases->v.push_front(base);
+ }
+ ClassDefPtr cl = cont->createClassDef(ident->v, false, bases->v, local->v);
+ if(cl)
+ {
+ cont->checkIntroduced(ident->v, cl);
+ unit->pushContainer(cl);
+ yyval = cl;
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 56:
+#line 517 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-3])
+ {
+ unit->popContainer();
+ yyval = yyvsp[-3];
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 57:
+#line 534 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ TypeList types = cont->lookupType(scoped->v);
+ yyval = 0;
+ if(!types.empty())
+ {
+ ClassDeclPtr cl = ClassDeclPtr::dynamicCast(types.front());
+ if(!cl || cl->isInterface())
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' is not a class";
+ unit->error(msg);
+ }
+ else
+ {
+ ClassDefPtr def = cl->definition();
+ if(!def)
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' has been declared but not defined";
+ unit->error(msg);
+ }
+ else
+ {
+ cont->checkIntroduced(scoped->v);
+ yyval = def;
+ }
+ }
+ }
+;}
+ break;
+
+ case 58:
+#line 568 "../Slice/Grammar.y"
+ {
+ yyval = 0;
+;}
+ break;
+
+ case 59:
+#line 577 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 60:
+#line 581 "../Slice/Grammar.y"
+ {
+ yyval = new ClassListTok;
+;}
+ break;
+
+ case 61:
+#line 590 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ ContainedPtr contained = ContainedPtr::dynamicCast(yyvsp[-2]);
+ if(contained && !metaData->v.empty())
+ {
+ contained->setMetaData(metaData->v);
+ }
+;}
+ break;
+
+ case 62:
+#line 599 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 63:
+#line 602 "../Slice/Grammar.y"
+ {
+ unit->error("`;' missing after definition");
+;}
+ break;
+
+ case 64:
+#line 606 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 65:
+#line 614 "../Slice/Grammar.y"
+ {
+ TypePtr type = TypeStringTokPtr::dynamicCast(yyvsp[0])->v.first;
+ string name = TypeStringTokPtr::dynamicCast(yyvsp[0])->v.second;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ DataMemberPtr dm;
+ if(cl)
+ {
+ dm = cl->createDataMember(name, type);
+ }
+ StructPtr st = StructPtr::dynamicCast(unit->currentContainer());
+ if(st)
+ {
+ dm = st->createDataMember(name, type);
+ }
+ ExceptionPtr ex = ExceptionPtr::dynamicCast(unit->currentContainer());
+ if(ex)
+ {
+ dm = ex->createDataMember(name, type);
+ }
+ unit->currentContainer()->checkIntroduced(name, dm);
+ yyval = dm;
+;}
+ break;
+
+ case 66:
+#line 637 "../Slice/Grammar.y"
+ {
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ yyval = cl->createDataMember(name, type); // Dummy
+ }
+ StructPtr st = StructPtr::dynamicCast(unit->currentContainer());
+ if(st)
+ {
+ yyval = st->createDataMember(name, type); // Dummy
+ }
+ ExceptionPtr ex = ExceptionPtr::dynamicCast(unit->currentContainer());
+ if(ex)
+ {
+ yyval = ex->createDataMember(name, type); // Dummy
+ }
+ assert(yyval);
+ unit->error("keyword `" + name + "' cannot be used as data member name");
+;}
+ break;
+
+ case 67:
+#line 659 "../Slice/Grammar.y"
+ {
+ TypePtr type = TypePtr::dynamicCast(yyvsp[0]);
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ yyval = cl->createDataMember(IceUtil::generateUUID(), type); // Dummy
+ }
+ StructPtr st = StructPtr::dynamicCast(unit->currentContainer());
+ if(st)
+ {
+ yyval = st->createDataMember(IceUtil::generateUUID(), type); // Dummy
+ }
+ ExceptionPtr ex = ExceptionPtr::dynamicCast(unit->currentContainer());
+ if(ex)
+ {
+ yyval = ex->createDataMember(IceUtil::generateUUID(), type); // Dummy
+ }
+ assert(yyval);
+ unit->error("missing data member name");
+;}
+ break;
+
+ case 69:
+#line 686 "../Slice/Grammar.y"
+ {
+ yyval = 0;
+;}
+ break;
+
+ case 70:
+#line 695 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType);
+ if(op)
+ {
+ cl->checkIntroduced(name, op);
+ unit->pushContainer(op);
+ yyval = op;
+ }
+ else
+ {
+ yyval = 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 71:
+#line 719 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType, Operation::Nonmutating);
+ if(op)
+ {
+ cl->checkIntroduced(name, op);
+ unit->pushContainer(op);
+ static bool firstWarning = true;
+
+ string msg = "the keyword 'nonmutating' is deprecated";
+ if(firstWarning)
+ {
+ msg += ";\n";
+ msg += "You should use instead 'idempotent' plus:\n";
+ msg += " - Freeze metadata ([\"freeze:read\"], [\"freeze:write\"]) if you implement your objects with a Freeze evictor\n";
+ msg += " - [\"nonmutating\"], if you need to maintain compatibility with operations that expect ";
+ msg += "'Nonmutating' as operation-mode. With this metadata, the generated code sends ";
+ msg += "'Nonmutating' instead of 'Idempotent'\n";
+ msg += " - [\"cpp:const\"], to get a const member function on the generated C++ servant base class";
+
+ firstWarning = false;
+ }
+
+ unit->warning(msg);
+ yyval = op;
+ }
+ else
+ {
+ yyval = 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 72:
+#line 760 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType, Operation::Idempotent);
+ if(op)
+ {
+ cl->checkIntroduced(name, op);
+ unit->pushContainer(op);
+ yyval = op;
+ }
+ else
+ {
+ yyval = 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 73:
+#line 784 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType);
+ if(op)
+ {
+ unit->pushContainer(op);
+ unit->error("keyword `" + name + "' cannot be used as operation name");
+ yyval = op; // Dummy
+ }
+ else
+ {
+ yyval = 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 74:
+#line 808 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType, Operation::Nonmutating);
+ if(op)
+ {
+ unit->pushContainer(op);
+ unit->error("keyword `" + name + "' cannot be used as operation name");
+ yyval = op; // Dummy
+ }
+ else
+ {
+ yyval = 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 75:
+#line 832 "../Slice/Grammar.y"
+ {
+ TypePtr returnType = TypePtr::dynamicCast(yyvsp[-1]);
+ string name = StringTokPtr::dynamicCast(yyvsp[0])->v;
+ ClassDefPtr cl = ClassDefPtr::dynamicCast(unit->currentContainer());
+ if(cl)
+ {
+ OperationPtr op = cl->createOperation(name, returnType, Operation::Idempotent);
+ if(op)
+ {
+ unit->pushContainer(op);
+ unit->error("keyword `" + name + "' cannot be used as operation name");
+ yyval = op; // Dummy
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 76:
+#line 861 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-2])
+ {
+ unit->popContainer();
+ yyval = yyvsp[-2];
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 77:
+#line 873 "../Slice/Grammar.y"
+ {
+ OperationPtr op = OperationPtr::dynamicCast(yyvsp[-1]);
+ ExceptionListTokPtr el = ExceptionListTokPtr::dynamicCast(yyvsp[0]);
+ assert(el);
+ if(op)
+ {
+ op->setExceptionList(el->v);
+ }
+;}
+ break;
+
+ case 78:
+#line 883 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-2])
+ {
+ unit->popContainer();
+ }
+ yyerrok;
+;}
+ break;
+
+ case 79:
+#line 891 "../Slice/Grammar.y"
+ {
+ OperationPtr op = OperationPtr::dynamicCast(yyvsp[-1]);
+ ExceptionListTokPtr el = ExceptionListTokPtr::dynamicCast(yyvsp[0]);
+ assert(el);
+ if(op)
+ {
+ op->setExceptionList(el->v); // Dummy
+ }
+;}
+ break;
+
+ case 82:
+#line 913 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 83:
+#line 917 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as interface name");
+ yyval = yyvsp[0]; // Dummy
+;}
+ break;
+
+ case 84:
+#line 928 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ClassDeclPtr cl = cont->createClassDecl(ident->v, true, local->v);
+ cont->checkIntroduced(ident->v, cl);
+ yyval = cl;
+;}
+ break;
+
+ case 85:
+#line 942 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[-1]);
+ ContainerPtr cont = unit->currentContainer();
+ ClassListTokPtr bases = ClassListTokPtr::dynamicCast(yyvsp[0]);
+ ClassDefPtr cl = cont->createClassDef(ident->v, true, bases->v, local->v);
+ if(cl)
+ {
+ cont->checkIntroduced(ident->v, cl);
+ unit->pushContainer(cl);
+ yyval = cl;
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 86:
+#line 960 "../Slice/Grammar.y"
+ {
+ if(yyvsp[-3])
+ {
+ unit->popContainer();
+ yyval = yyvsp[-3];
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 87:
+#line 977 "../Slice/Grammar.y"
+ {
+ ClassListTokPtr intfs = ClassListTokPtr::dynamicCast(yyvsp[0]);
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ TypeList types = cont->lookupType(scoped->v);
+ if(!types.empty())
+ {
+ ClassDeclPtr cl = ClassDeclPtr::dynamicCast(types.front());
+ if(!cl || !cl->isInterface())
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' is not an interface";
+ unit->error(msg);
+ }
+ else
+ {
+ ClassDefPtr def = cl->definition();
+ if(!def)
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' has been declared but not defined";
+ unit->error(msg);
+ }
+ else
+ {
+ cont->checkIntroduced(scoped->v);
+ intfs->v.push_front(def);
+ }
+ }
+ }
+ yyval = intfs;
+;}
+ break;
+
+ case 88:
+#line 1012 "../Slice/Grammar.y"
+ {
+ ClassListTokPtr intfs = new ClassListTok;
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ TypeList types = cont->lookupType(scoped->v);
+ if(!types.empty())
+ {
+ ClassDeclPtr cl = ClassDeclPtr::dynamicCast(types.front());
+ if(!cl || !cl->isInterface())
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' is not an interface";
+ unit->error(msg); // $$ is a dummy
+ }
+ else
+ {
+ ClassDefPtr def = cl->definition();
+ if(!def)
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' has been declared but not defined";
+ unit->error(msg); // $$ is a dummy
+ }
+ else
+ {
+ cont->checkIntroduced(scoped->v);
+ intfs->v.push_front(def);
+ }
+ }
+ }
+ yyval = intfs;
+;}
+ break;
+
+ case 89:
+#line 1047 "../Slice/Grammar.y"
+ {
+ unit->error("illegal inheritance from type Object");
+ yyval = new ClassListTok; // Dummy
+;}
+ break;
+
+ case 90:
+#line 1057 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 91:
+#line 1061 "../Slice/Grammar.y"
+ {
+ yyval = new ClassListTok;
+;}
+ break;
+
+ case 92:
+#line 1070 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ ContainedPtr contained = ContainedPtr::dynamicCast(yyvsp[-2]);
+ if(contained && !metaData->v.empty())
+ {
+ contained->setMetaData(metaData->v);
+ }
+;}
+ break;
+
+ case 93:
+#line 1079 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 94:
+#line 1082 "../Slice/Grammar.y"
+ {
+ unit->error("`;' missing after definition");
+;}
+ break;
+
+ case 95:
+#line 1086 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 97:
+#line 1100 "../Slice/Grammar.y"
+ {
+ ExceptionPtr exception = ExceptionPtr::dynamicCast(yyvsp[-2]);
+ ExceptionListTokPtr exceptionList = ExceptionListTokPtr::dynamicCast(yyvsp[0]);
+ exceptionList->v.push_front(exception);
+ yyval = exceptionList;
+;}
+ break;
+
+ case 98:
+#line 1107 "../Slice/Grammar.y"
+ {
+ ExceptionPtr exception = ExceptionPtr::dynamicCast(yyvsp[0]);
+ ExceptionListTokPtr exceptionList = new ExceptionListTok;
+ exceptionList->v.push_front(exception);
+ yyval = exceptionList;
+;}
+ break;
+
+ case 99:
+#line 1119 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ ExceptionPtr exception = cont->lookupException(scoped->v);
+ if(!exception)
+ {
+ exception = cont->createException(IceUtil::generateUUID(), 0, false, Dummy); // Dummy
+ }
+ cont->checkIntroduced(scoped->v, exception);
+ yyval = exception;
+;}
+ break;
+
+ case 100:
+#line 1131 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as exception name");
+ yyval = unit->currentContainer()->createException(IceUtil::generateUUID(), 0, false, Dummy); // Dummy
+;}
+ break;
+
+ case 101:
+#line 1142 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-6]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ yyval = cont->createSequence(ident->v, type, metaData->v, local->v);
+;}
+ break;
+
+ case 102:
+#line 1151 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-6]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ yyval = cont->createSequence(ident->v, type, metaData->v, local->v); // Dummy
+ unit->error("keyword `" + ident->v + "' cannot be used as sequence name");
+;}
+ break;
+
+ case 103:
+#line 1166 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-9]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr keyMetaData = StringListTokPtr::dynamicCast(yyvsp[-6]);
+ TypePtr keyType = TypePtr::dynamicCast(yyvsp[-5]);
+ StringListTokPtr valueMetaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr valueType = TypePtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ yyval = cont->createDictionary(ident->v, keyType, keyMetaData->v, valueType, valueMetaData->v, local->v);
+;}
+ break;
+
+ case 104:
+#line 1177 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-9]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr keyMetaData = StringListTokPtr::dynamicCast(yyvsp[-6]);
+ TypePtr keyType = TypePtr::dynamicCast(yyvsp[-5]);
+ StringListTokPtr valueMetaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr valueType = TypePtr::dynamicCast(yyvsp[-2]);
+ ContainerPtr cont = unit->currentContainer();
+ yyval = cont->createDictionary(ident->v, keyType, keyMetaData->v, valueType, valueMetaData->v, local->v); // Dummy
+ unit->error("keyword `" + ident->v + "' cannot be used as dictionary name");
+;}
+ break;
+
+ case 105:
+#line 1194 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 106:
+#line 1198 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as enumeration name");
+ yyval = yyvsp[0]; // Dummy
+;}
+ break;
+
+ case 107:
+#line 1209 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ EnumPtr en = cont->createEnum(ident->v, local->v);
+ cont->checkIntroduced(ident->v, en);
+ yyval = en;
+;}
+ break;
+
+ case 108:
+#line 1218 "../Slice/Grammar.y"
+ {
+ EnumPtr en = EnumPtr::dynamicCast(yyvsp[-3]);
+ if(en)
+ {
+ EnumeratorListTokPtr enumerators = EnumeratorListTokPtr::dynamicCast(yyvsp[-1]);
+ if(enumerators->v.empty())
+ {
+ unit->error("enum `" + en->name() + "' must have at least one enumerator");
+ }
+ en->setEnumerators(enumerators->v); // Dummy
+ }
+ yyval = yyvsp[-3];
+;}
+ break;
+
+ case 109:
+#line 1233 "../Slice/Grammar.y"
+ {
+ unit->error("missing enumeration name");
+ BoolTokPtr local = BoolTokPtr::dynamicCast(yyvsp[-4]);
+ ContainerPtr cont = unit->currentContainer();
+ EnumPtr en = cont->createEnum(IceUtil::generateUUID(), local->v, Dummy); // Dummy
+ EnumeratorListTokPtr enumerators = EnumeratorListTokPtr::dynamicCast(yyvsp[-1]);
+ en->setEnumerators(enumerators->v); // Dummy
+ yyval = en;
+;}
+ break;
+
+ case 110:
+#line 1248 "../Slice/Grammar.y"
+ {
+ EnumeratorListTokPtr ens = EnumeratorListTokPtr::dynamicCast(yyvsp[-2]);
+ ens->v.splice(ens->v.end(), EnumeratorListTokPtr::dynamicCast(yyvsp[0])->v);
+ yyval = ens;
+;}
+ break;
+
+ case 111:
+#line 1254 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 112:
+#line 1262 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ EnumeratorListTokPtr ens = new EnumeratorListTok;
+ ContainerPtr cont = unit->currentContainer();
+ EnumeratorPtr en = cont->createEnumerator(ident->v);
+ if(en)
+ {
+ ens->v.push_front(en);
+ }
+ yyval = ens;
+;}
+ break;
+
+ case 113:
+#line 1274 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("keyword `" + ident->v + "' cannot be used as enumerator");
+ EnumeratorListTokPtr ens = new EnumeratorListTok; // Dummy
+ yyval = ens;
+;}
+ break;
+
+ case 114:
+#line 1281 "../Slice/Grammar.y"
+ {
+ EnumeratorListTokPtr ens = new EnumeratorListTok;
+ yyval = ens; // Dummy
+;}
+ break;
+
+ case 115:
+#line 1291 "../Slice/Grammar.y"
+ {
+ BoolTokPtr out = new BoolTok;
+ out->v = true;
+ yyval = out;
+;}
+ break;
+
+ case 116:
+#line 1297 "../Slice/Grammar.y"
+ {
+ BoolTokPtr out = new BoolTok;
+ out->v = false;
+ yyval = out;
+;}
+ break;
+
+ case 117:
+#line 1308 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 118:
+#line 1311 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ TypeStringTokPtr tsp = TypeStringTokPtr::dynamicCast(yyvsp[0]);
+ TypePtr type = tsp->v.first;
+ string ident = tsp->v.second;
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ ParamDeclPtr pd = op->createParamDecl(ident, type, isOutParam->v);
+ unit->currentContainer()->checkIntroduced(ident, pd);
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-1]);
+ if(!metaData->v.empty())
+ {
+ pd->setMetaData(metaData->v);
+ }
+ }
+;}
+ break;
+
+ case 119:
+#line 1329 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ TypeStringTokPtr tsp = TypeStringTokPtr::dynamicCast(yyvsp[0]);
+ TypePtr type = tsp->v.first;
+ string ident = tsp->v.second;
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ ParamDeclPtr pd = op->createParamDecl(ident, type, isOutParam->v);
+ unit->currentContainer()->checkIntroduced(ident, pd);
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-1]);
+ if(!metaData->v.empty())
+ {
+ pd->setMetaData(metaData->v);
+ }
+ }
+;}
+ break;
+
+ case 120:
+#line 1347 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ op->createParamDecl(ident->v, type, isOutParam->v); // Dummy
+ unit->error("keyword `" + ident->v + "' cannot be used as parameter name");
+ }
+;}
+ break;
+
+ case 121:
+#line 1359 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ op->createParamDecl(ident->v, type, isOutParam->v); // Dummy
+ unit->error("keyword `" + ident->v + "' cannot be used as parameter name");
+ }
+;}
+ break;
+
+ case 122:
+#line 1371 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[0]);
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ op->createParamDecl(IceUtil::generateUUID(), type, isOutParam->v); // Dummy
+ unit->error("missing parameter name");
+ }
+;}
+ break;
+
+ case 123:
+#line 1382 "../Slice/Grammar.y"
+ {
+ BoolTokPtr isOutParam = BoolTokPtr::dynamicCast(yyvsp[-2]);
+ TypePtr type = TypePtr::dynamicCast(yyvsp[0]);
+ OperationPtr op = OperationPtr::dynamicCast(unit->currentContainer());
+ if(op)
+ {
+ op->createParamDecl(IceUtil::generateUUID(), type, isOutParam->v); // Dummy
+ unit->error("missing parameter name");
+ }
+;}
+ break;
+
+ case 124:
+#line 1398 "../Slice/Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 125:
+#line 1402 "../Slice/Grammar.y"
+ {
+ yyval = new ExceptionListTok;
+;}
+ break;
+
+ case 126:
+#line 1411 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 127:
+#line 1414 "../Slice/Grammar.y"
+ {
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ ident->v = "::" + ident->v;
+ yyval = ident;
+;}
+ break;
+
+ case 128:
+#line 1420 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[-2]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[0]);
+ scoped->v += "::";
+ scoped->v += ident->v;
+ yyval = scoped;
+;}
+ break;
+
+ case 129:
+#line 1433 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindByte);
+;}
+ break;
+
+ case 130:
+#line 1437 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindBool);
+;}
+ break;
+
+ case 131:
+#line 1441 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindShort);
+;}
+ break;
+
+ case 132:
+#line 1445 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindInt);
+;}
+ break;
+
+ case 133:
+#line 1449 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindLong);
+;}
+ break;
+
+ case 134:
+#line 1453 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindFloat);
+;}
+ break;
+
+ case 135:
+#line 1457 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindDouble);
+;}
+ break;
+
+ case 136:
+#line 1461 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindString);
+;}
+ break;
+
+ case 137:
+#line 1465 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindObject);
+;}
+ break;
+
+ case 138:
+#line 1469 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindObjectProxy);
+;}
+ break;
+
+ case 139:
+#line 1473 "../Slice/Grammar.y"
+ {
+ yyval = unit->builtin(Builtin::KindLocalObject);
+;}
+ break;
+
+ case 140:
+#line 1477 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ContainerPtr cont = unit->currentContainer();
+ if(cont)
+ {
+ TypeList types = cont->lookupType(scoped->v);
+ if(types.empty())
+ {
+ YYERROR; // Can't continue, jump to next yyerrok
+ }
+ cont->checkIntroduced(scoped->v);
+ yyval = types.front();
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 141:
+#line 1496 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[-1]);
+ ContainerPtr cont = unit->currentContainer();
+ if(cont)
+ {
+ TypeList types = cont->lookupType(scoped->v);
+ if(types.empty())
+ {
+ YYERROR; // Can't continue, jump to next yyerrok
+ }
+ for(TypeList::iterator p = types.begin(); p != types.end(); ++p)
+ {
+ ClassDeclPtr cl = ClassDeclPtr::dynamicCast(*p);
+ if(!cl)
+ {
+ string msg = "`";
+ msg += scoped->v;
+ msg += "' must be class or interface";
+ unit->error(msg);
+ YYERROR; // Can't continue, jump to next yyerrok
+ }
+ cont->checkIntroduced(scoped->v);
+ if(cl->isLocal())
+ {
+ unit->error("cannot create proxy for " + cl->kindOf() + " `" + cl->name() + "'"); // $$ is dummy
+ }
+ *p = new Proxy(cl);
+ }
+ yyval = types.front();
+ }
+ else
+ {
+ yyval = 0;
+ }
+;}
+ break;
+
+ case 142:
+#line 1537 "../Slice/Grammar.y"
+ {
+ StringTokPtr str1 = StringTokPtr::dynamicCast(yyvsp[-1]);
+ StringTokPtr str2 = StringTokPtr::dynamicCast(yyvsp[0]);
+ str1->v += str2->v;
+;}
+ break;
+
+ case 143:
+#line 1543 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 144:
+#line 1551 "../Slice/Grammar.y"
+ {
+ StringTokPtr str = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr stringList = StringListTokPtr::dynamicCast(yyvsp[-2]);
+ stringList->v.push_back(str->v);
+ yyval = stringList;
+;}
+ break;
+
+ case 145:
+#line 1558 "../Slice/Grammar.y"
+ {
+ StringTokPtr str = StringTokPtr::dynamicCast(yyvsp[0]);
+ StringListTokPtr stringList = new StringListTok;
+ stringList->v.push_back(str->v);
+ yyval = stringList;
+;}
+ break;
+
+ case 146:
+#line 1570 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = new BoolTok;
+ local->v = true;
+ yyval = local;
+;}
+ break;
+
+ case 147:
+#line 1576 "../Slice/Grammar.y"
+ {
+ BoolTokPtr local = new BoolTok;
+ local->v = false;
+ yyval = local;
+;}
+ break;
+
+ case 148:
+#line 1587 "../Slice/Grammar.y"
+ {
+ BuiltinPtr type = unit->builtin(Builtin::KindLong);
+ IntegerTokPtr intVal = IntegerTokPtr::dynamicCast(yyvsp[0]);
+ ostringstream sstr;
+ sstr << intVal->v;
+ ConstDefTokPtr def = new ConstDefTok;
+ def->v.type = type;
+ def->v.value = type;
+ def->v.valueAsString = sstr.str();
+ def->v.valueAsLiteral = intVal->literal;
+ yyval = def;
+;}
+ break;
+
+ case 149:
+#line 1600 "../Slice/Grammar.y"
+ {
+ BuiltinPtr type = unit->builtin(Builtin::KindDouble);
+ FloatingTokPtr floatVal = FloatingTokPtr::dynamicCast(yyvsp[0]);
+ ostringstream sstr;
+ sstr << floatVal->v;
+ ConstDefTokPtr def = new ConstDefTok;
+ def->v.type = type;
+ def->v.value = type;
+ def->v.valueAsString = sstr.str();
+ def->v.valueAsLiteral = floatVal->literal;
+ yyval = def;
+;}
+ break;
+
+ case 150:
+#line 1613 "../Slice/Grammar.y"
+ {
+ StringTokPtr scoped = StringTokPtr::dynamicCast(yyvsp[0]);
+ ConstDefTokPtr def = new ConstDefTok;
+ ContainedList cl = unit->currentContainer()->lookupContained(scoped->v);
+ if(cl.empty())
+ {
+ def->v.type = TypePtr(0);
+ def->v.value = TypePtr(0);
+ def->v.valueAsString = scoped->v;
+ def->v.valueAsLiteral = scoped->v;
+ }
+ else
+ {
+ EnumeratorPtr enumerator = EnumeratorPtr::dynamicCast(cl.front());
+ if(!enumerator)
+ {
+ string msg = "illegal initializer: `" + scoped->v + "' is a";
+ static const string vowels = "aeiou";
+ string kindOf = cl.front()->kindOf();
+ if(vowels.find_first_of(kindOf[0]) != string::npos)
+ {
+ msg += "n";
+ }
+ msg += " " + kindOf;
+ unit->error(msg); // $$ is dummy
+ }
+ unit->currentContainer()->checkIntroduced(scoped->v, enumerator);
+ def->v.type = enumerator->type();
+ def->v.value = enumerator;
+ def->v.valueAsString = scoped->v;
+ def->v.valueAsLiteral = scoped->v;
+ }
+ yyval = def;
+;}
+ break;
+
+ case 151:
+#line 1648 "../Slice/Grammar.y"
+ {
+ BuiltinPtr type = unit->builtin(Builtin::KindString);
+ StringTokPtr literal = StringTokPtr::dynamicCast(yyvsp[0]);
+ ConstDefTokPtr def = new ConstDefTok;
+ def->v.type = type;
+ def->v.value = type;
+ def->v.valueAsString = literal->v;
+ def->v.valueAsLiteral = literal->literal;
+ yyval = def;
+;}
+ break;
+
+ case 152:
+#line 1659 "../Slice/Grammar.y"
+ {
+ BuiltinPtr type = unit->builtin(Builtin::KindBool);
+ StringTokPtr literal = StringTokPtr::dynamicCast(yyvsp[0]);
+ ConstDefTokPtr def = new ConstDefTok;
+ def->v.type = type;
+ def->v.value = type;
+ def->v.valueAsString = literal->v;
+ def->v.valueAsLiteral = "false";
+ yyval = def;
+;}
+ break;
+
+ case 153:
+#line 1670 "../Slice/Grammar.y"
+ {
+ BuiltinPtr type = unit->builtin(Builtin::KindBool);
+ StringTokPtr literal = StringTokPtr::dynamicCast(yyvsp[0]);
+ ConstDefTokPtr def = new ConstDefTok;
+ def->v.type = type;
+ def->v.value = type;
+ def->v.valueAsString = literal->v;
+ def->v.valueAsLiteral = "true";
+ yyval = def;
+;}
+ break;
+
+ case 154:
+#line 1686 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-4]);
+ TypePtr const_type = TypePtr::dynamicCast(yyvsp[-3]);
+ StringTokPtr ident = StringTokPtr::dynamicCast(yyvsp[-2]);
+ ConstDefTokPtr value = ConstDefTokPtr::dynamicCast(yyvsp[0]);
+ yyval = unit->currentContainer()->createConst(ident->v, const_type, metaData->v,
+ value->v.value, value->v.valueAsString, value->v.valueAsLiteral);
+;}
+ break;
+
+ case 155:
+#line 1695 "../Slice/Grammar.y"
+ {
+ StringListTokPtr metaData = StringListTokPtr::dynamicCast(yyvsp[-3]);
+ TypePtr const_type = TypePtr::dynamicCast(yyvsp[-2]);
+ ConstDefTokPtr value = ConstDefTokPtr::dynamicCast(yyvsp[0]);
+ unit->error("missing constant name");
+ yyval = unit->currentContainer()->createConst(IceUtil::generateUUID(), const_type, metaData->v,
+ value->v.value, value->v.valueAsString,
+ value->v.valueAsLiteral, Dummy); // Dummy
+;}
+ break;
+
+ case 156:
+#line 1710 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 157:
+#line 1713 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 158:
+#line 1716 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 159:
+#line 1719 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 160:
+#line 1722 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 161:
+#line 1725 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 162:
+#line 1728 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 163:
+#line 1731 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 164:
+#line 1734 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 165:
+#line 1737 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 166:
+#line 1740 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 167:
+#line 1743 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 168:
+#line 1746 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 169:
+#line 1749 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 170:
+#line 1752 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 171:
+#line 1755 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 172:
+#line 1758 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 173:
+#line 1761 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 174:
+#line 1764 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 175:
+#line 1767 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 176:
+#line 1770 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 177:
+#line 1773 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 178:
+#line 1776 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 179:
+#line 1779 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 180:
+#line 1782 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 181:
+#line 1785 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 182:
+#line 1788 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 183:
+#line 1791 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+ case 184:
+#line 1794 "../Slice/Grammar.y"
+ {
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 3429 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 1798 "../Slice/Grammar.y"
+
+
diff --git a/cpp/src/Slice/Grammar.h b/cpp/src/Slice/Grammar.h
new file mode 100644
index 00000000000..08d77ed6fa6
--- /dev/null
+++ b/cpp/src/Slice/Grammar.h
@@ -0,0 +1,130 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ ICE_MODULE = 258,
+ ICE_CLASS = 259,
+ ICE_INTERFACE = 260,
+ ICE_EXCEPTION = 261,
+ ICE_STRUCT = 262,
+ ICE_SEQUENCE = 263,
+ ICE_DICTIONARY = 264,
+ ICE_ENUM = 265,
+ ICE_OUT = 266,
+ ICE_EXTENDS = 267,
+ ICE_IMPLEMENTS = 268,
+ ICE_THROWS = 269,
+ ICE_VOID = 270,
+ ICE_BYTE = 271,
+ ICE_BOOL = 272,
+ ICE_SHORT = 273,
+ ICE_INT = 274,
+ ICE_LONG = 275,
+ ICE_FLOAT = 276,
+ ICE_DOUBLE = 277,
+ ICE_STRING = 278,
+ ICE_OBJECT = 279,
+ ICE_LOCAL_OBJECT = 280,
+ ICE_LOCAL = 281,
+ ICE_CONST = 282,
+ ICE_FALSE = 283,
+ ICE_TRUE = 284,
+ ICE_NONMUTATING = 285,
+ ICE_IDEMPOTENT = 286,
+ ICE_SCOPE_DELIMITER = 287,
+ ICE_IDENTIFIER = 288,
+ ICE_STRING_LITERAL = 289,
+ ICE_INTEGER_LITERAL = 290,
+ ICE_FLOATING_POINT_LITERAL = 291,
+ ICE_IDENT_OP = 292,
+ ICE_KEYWORD_OP = 293,
+ ICE_METADATA_OPEN = 294,
+ ICE_METADATA_CLOSE = 295,
+ ICE_GLOBAL_METADATA_OPEN = 296,
+ ICE_GLOBAL_METADATA_CLOSE = 297,
+ BAD_CHAR = 298
+ };
+#endif
+#define ICE_MODULE 258
+#define ICE_CLASS 259
+#define ICE_INTERFACE 260
+#define ICE_EXCEPTION 261
+#define ICE_STRUCT 262
+#define ICE_SEQUENCE 263
+#define ICE_DICTIONARY 264
+#define ICE_ENUM 265
+#define ICE_OUT 266
+#define ICE_EXTENDS 267
+#define ICE_IMPLEMENTS 268
+#define ICE_THROWS 269
+#define ICE_VOID 270
+#define ICE_BYTE 271
+#define ICE_BOOL 272
+#define ICE_SHORT 273
+#define ICE_INT 274
+#define ICE_LONG 275
+#define ICE_FLOAT 276
+#define ICE_DOUBLE 277
+#define ICE_STRING 278
+#define ICE_OBJECT 279
+#define ICE_LOCAL_OBJECT 280
+#define ICE_LOCAL 281
+#define ICE_CONST 282
+#define ICE_FALSE 283
+#define ICE_TRUE 284
+#define ICE_NONMUTATING 285
+#define ICE_IDEMPOTENT 286
+#define ICE_SCOPE_DELIMITER 287
+#define ICE_IDENTIFIER 288
+#define ICE_STRING_LITERAL 289
+#define ICE_INTEGER_LITERAL 290
+#define ICE_FLOATING_POINT_LITERAL 291
+#define ICE_IDENT_OP 292
+#define ICE_KEYWORD_OP 293
+#define ICE_METADATA_OPEN 294
+#define ICE_METADATA_CLOSE 295
+#define ICE_GLOBAL_METADATA_OPEN 296
+#define ICE_GLOBAL_METADATA_CLOSE 297
+#define BAD_CHAR 298
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/src/Slice/Grammar.y b/cpp/src/Slice/Grammar.y
index 61725fa43b8..cc682a336ad 100644
--- a/cpp/src/Slice/Grammar.y
+++ b/cpp/src/Slice/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/src/Slice/GrammarUtil.h b/cpp/src/Slice/GrammarUtil.h
index 2283dfef2cb..d5b57330033 100644
--- a/cpp/src/Slice/GrammarUtil.h
+++ b/cpp/src/Slice/GrammarUtil.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/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp
index 3f35bf1af32..b67f36055a4 100644
--- a/cpp/src/Slice/JavaUtil.cpp
+++ b/cpp/src/Slice/JavaUtil.cpp
@@ -1,18 +1,21 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+#include <IceUtil/DisableWarnings.h>
#include <Slice/JavaUtil.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <IceUtil/Functional.h>
+#include <IceUtil/DisableWarnings.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <string.h>
#ifdef _WIN32
#include <direct.h>
@@ -27,20 +30,6 @@ using namespace Slice;
using namespace IceUtil;
using namespace IceUtilInternal;
-//
-// Callback for Crtl-C signal handling
-//
-static Slice::JavaGenerator* _javaGen = 0;
-
-static void closeCallback()
-{
- if(_javaGen != 0)
- {
- _javaGen->close();
- }
-}
-
-
Slice::JavaOutput::JavaOutput()
{
}
@@ -55,7 +44,7 @@ Slice::JavaOutput::JavaOutput(const char* s) :
{
}
-bool
+void
Slice::JavaOutput::openClass(const string& cls, const string& prefix)
{
string package;
@@ -96,6 +85,13 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix)
result = stat(path.c_str(), &st);
if(result == 0)
{
+ if(!(st.st_mode & S_IFDIR))
+ {
+ ostringstream os;
+ os << "failed to create package directory `" << path
+ << "': file already exists and is not a directory";
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
continue;
}
#ifdef _WIN32
@@ -105,8 +101,11 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix)
#endif
if(result != 0)
{
- return false;
+ ostringstream os;
+ os << "cannot create directory `" << path << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addDirectory(path);
}
while(pos != string::npos);
}
@@ -124,11 +123,11 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix)
path += "/";
}
path += file;
- SignalHandler::addFile(path);
open(path.c_str());
if(isOpen())
{
+ FileTracker::instance()->addFile(path);
printHeader();
if(!package.empty())
@@ -139,11 +138,13 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix)
print(package.c_str());
print(";");
}
-
- return true;
}
-
- return false;
+ else
+ {
+ ostringstream os;
+ os << "cannot open file `" << path << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
}
void
@@ -152,7 +153,7 @@ Slice::JavaOutput::printHeader()
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
@@ -174,7 +175,6 @@ Slice::JavaGenerator::JavaGenerator(const string& dir) :
_dir(dir),
_out(0)
{
- SignalHandler::setCallback(closeCallback);
}
Slice::JavaGenerator::JavaGenerator(const string& dir, Slice::FeatureProfile profile) :
@@ -186,26 +186,31 @@ Slice::JavaGenerator::JavaGenerator(const string& dir, Slice::FeatureProfile pro
Slice::JavaGenerator::~JavaGenerator()
{
+ // If open throws an exception other generators could be left open
+ // during the stack unwind.
+ if(_out != 0)
+ {
+ close();
+ }
assert(_out == 0);
}
-bool
+void
Slice::JavaGenerator::open(const string& absolute)
{
assert(_out == 0);
JavaOutput* out = createOutput();
- if(out->openClass(absolute, _dir))
+ try
{
- _out = out;
- _javaGen = this; // For Ctrl-C handling
+ out->openClass(absolute, _dir);
}
- else
+ catch(const FileException&)
{
delete out;
+ throw;
}
-
- return _out != 0;
+ _out = out;
}
void
@@ -215,7 +220,6 @@ Slice::JavaGenerator::close()
*_out << nl;
delete _out;
_out = 0;
- _javaGen = 0; // For Ctrl-C handling
}
Output&
@@ -3422,7 +3426,7 @@ Slice::JavaGenerator::MetaDataVisitor::visitModuleStart(const ModulePtr& p)
if(!ok)
{
- cout << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
+ cerr << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
}
}
_history.insert(s);
@@ -3478,7 +3482,7 @@ Slice::JavaGenerator::MetaDataVisitor::visitOperation(const OperationPtr& p)
ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container());
if(!cl->isLocal())
{
- cout << p->definitionContext()->filename() << ":" << p->line()
+ cerr << p->definitionContext()->filename() << ":" << p->line()
<< ": warning: metadata directive `UserException' applies only to local operations "
<< "but enclosing " << (cl->isInterface() ? "interface" : "class") << "`" << cl->name()
<< "' is not local" << endl;
@@ -3494,7 +3498,7 @@ Slice::JavaGenerator::MetaDataVisitor::visitOperation(const OperationPtr& p)
{
if(q->find("java:type:", 0) == 0)
{
- cout << p->definitionContext()->filename() << ":" << p->line()
+ cerr << p->definitionContext()->filename() << ":" << p->line()
<< ": warning: invalid metadata for operation" << endl;
break;
}
@@ -3593,7 +3597,7 @@ Slice::JavaGenerator::MetaDataVisitor::getMetaData(const ContainedPtr& cont)
continue;
}
- cout << file << ":" << cont->line() << ": warning: ignoring invalid metadata `" << s << "'" << endl;
+ cerr << file << ":" << cont->line() << ": warning: ignoring invalid metadata `" << s << "'" << endl;
}
_history.insert(s);
@@ -3626,7 +3630,7 @@ Slice::JavaGenerator::MetaDataVisitor::validateType(const SyntaxTreeBasePtr& p,
assert(b);
str = b->typeId();
}
- cout << file << ":" << line << ": warning: invalid metadata for " << str << endl;
+ cerr << file << ":" << line << ": warning: invalid metadata for " << str << endl;
}
}
}
@@ -3656,7 +3660,7 @@ Slice::JavaGenerator::MetaDataVisitor::validateGetSet(const SyntaxTreeBasePtr& p
assert(b);
str = b->typeId();
}
- cout << file << ":" << line << ": warning: invalid metadata for " << str << endl;
+ cerr << file << ":" << line << ": warning: invalid metadata for " << str << endl;
}
}
}
diff --git a/cpp/src/Slice/MD5.cpp b/cpp/src/Slice/MD5.cpp
index f161f4947dd..2f68c1a31db 100644
--- a/cpp/src/Slice/MD5.cpp
+++ b/cpp/src/Slice/MD5.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/src/Slice/MD5.h b/cpp/src/Slice/MD5.h
index 750c97c6833..2da3d052199 100644
--- a/cpp/src/Slice/MD5.h
+++ b/cpp/src/Slice/MD5.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/src/Slice/Makefile b/cpp/src/Slice/Makefile
index 3407648efce..7232e2fe64a 100644
--- a/cpp/src/Slice/Makefile
+++ b/cpp/src/Slice/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.
@@ -27,9 +27,9 @@ OBJS = Scanner.o \
DotNetNames.o \
RubyUtil.o \
Util.o \
+ FileTracker.o \
MD5.o \
- MD5I.o \
- SignalHandler.o
+ MD5I.o
SRCS = $(OBJS:.o=.cpp)
@@ -57,10 +57,6 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
endif
-clean::
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
-
install:: all
$(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
diff --git a/cpp/src/Slice/Makefile.mak b/cpp/src/Slice/Makefile.mak
index 5f2cc8cb487..ad3e5a89611 100644
--- a/cpp/src/Slice/Makefile.mak
+++ b/cpp/src/Slice/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.
@@ -26,9 +26,9 @@ OBJS = Scanner.obj \
DotNetNames.obj \
RubyUtil.obj \
Util.obj \
+ FileTracker.obj \
MD5.obj \
- MD5I.obj \
- SignalHandler.obj
+ MD5I.obj
SRCS = $(OBJS:.obj=.cpp)
@@ -81,8 +81,6 @@ Grammar.cpp Grammar.h: Grammar.y
del /q Grammar.output
clean::
- -del /q Grammar.cpp Grammar.h
- -del /q Scanner.cpp
-del /q Slice.res
install:: all
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index c93de96da22..5d682503ec3 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.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.
@@ -48,16 +48,6 @@ Unit* unit;
}
// ----------------------------------------------------------------------
-// toLower() helper function
-// ----------------------------------------------------------------------
-
-static void
-toLower(string& s)
-{
- transform(s.begin(), s.end(), s.begin(), ::tolower);
-}
-
-// ----------------------------------------------------------------------
// DefinitionContext
// ----------------------------------------------------------------------
@@ -2044,10 +2034,8 @@ Slice::Container::nameIsLegal(const string& newName, const char* newConstruct)
}
if(!_unit->caseSensitive())
{
- string name = newName;
- toLower(name);
- string thisName = module->name();
- toLower(thisName);
+ string name = IceUtilInternal::toLower(newName);
+ string thisName = IceUtilInternal::toLower(module->name());
if(name == thisName)
{
string msg = newConstruct;
@@ -2075,10 +2063,8 @@ Slice::Container::nameIsLegal(const string& newName, const char* newConstruct)
}
if(!_unit->caseSensitive())
{
- string name = newName;
- toLower(name);
- string thisName = module->name();
- toLower(thisName);
+ string name = IceUtilInternal::toLower(newName);
+ string thisName = IceUtilInternal::toLower(module->name());
if(name == thisName)
{
string msg = newConstruct;
@@ -2125,9 +2111,9 @@ Slice::Container::checkPrefix(const string& name) const
if(name.size() >= 3)
{
string prefix3;
- prefix3 += ::tolower(name[0]);
- prefix3 += ::tolower(name[1]);
- prefix3 += ::tolower(name[2]);
+ prefix3 += ::tolower(static_cast<unsigned char>(name[0]));
+ prefix3 += ::tolower(static_cast<unsigned char>(name[1]));
+ prefix3 += ::tolower(static_cast<unsigned char>(name[2]));
if(prefix3 == "ice")
{
_unit->error("illegal identifier `" + name + "': `" + name.substr(0, 3) + "' prefix is reserved");
@@ -2649,10 +2635,8 @@ Slice::ClassDef::createOperation(const string& name,
}
if(!_unit->caseSensitive())
{
- string newName = name;
- toLower(newName);
- string thisName = this->name();
- toLower(thisName);
+ string newName = IceUtilInternal::toLower(name);
+ string thisName = IceUtilInternal::toLower(this->name());
if(newName == thisName)
{
string msg = "operation `" + name + "' differs only in capitalization from enclosing ";
@@ -2690,10 +2674,8 @@ Slice::ClassDef::createOperation(const string& name,
}
if(!_unit->caseSensitive())
{
- string baseName = (*q)->name();
- toLower(baseName);
- string newName = name;
- toLower(newName);
+ string baseName = IceUtilInternal::toLower((*q)->name());
+ string newName = IceUtilInternal::toLower(name);
if(baseName == newName)
{
string msg = "operation `" + name + "' differs only in capitalization from " + (*q)->kindOf();
@@ -2788,10 +2770,8 @@ Slice::ClassDef::createDataMember(const string& name, const TypePtr& type)
}
if(!_unit->caseSensitive())
{
- string newName = name;
- toLower(newName);
- string thisName = this->name();
- toLower(thisName);
+ string newName = IceUtilInternal::toLower(name);
+ string thisName = IceUtilInternal::toLower(this->name());
if(newName == thisName)
{
string msg = "data member `" + name + "' differs only in capitalization from enclosing class name `";
@@ -2828,10 +2808,8 @@ Slice::ClassDef::createDataMember(const string& name, const TypePtr& type)
}
if(!_unit->caseSensitive())
{
- string baseName = (*q)->name();
- toLower(baseName);
- string newName = name;
- toLower(newName);
+ string baseName = IceUtilInternal::toLower((*q)->name());
+ string newName = IceUtilInternal::toLower(name);
if(baseName == newName)
{
string msg = "data member `" + name + "' differs only in capitalization from " + (*q)->kindOf();
@@ -3266,10 +3244,8 @@ Slice::Exception::createDataMember(const string& name, const TypePtr& type)
}
if(!_unit->caseSensitive())
{
- string newName = name;
- toLower(newName);
- string thisName = this->name();
- toLower(thisName);
+ string newName = IceUtilInternal::toLower(name);
+ string thisName = IceUtilInternal::toLower(this->name());
if(newName == thisName)
{
string msg = "exception member `" + name + "' differs only in capitalization ";
@@ -3297,10 +3273,8 @@ Slice::Exception::createDataMember(const string& name, const TypePtr& type)
}
if(!_unit->caseSensitive())
{
- string baseName = (*r)->name();
- toLower(baseName);
- string newName = name;
- toLower(newName);
+ string baseName = IceUtilInternal::toLower((*r)->name());
+ string newName = IceUtilInternal::toLower(name);
if(baseName == newName)
{
string msg = "exception member `" + name + "' differs only in capitalization from exception member `";
@@ -3578,10 +3552,8 @@ Slice::Struct::createDataMember(const string& name, const TypePtr& type)
}
if(!_unit->caseSensitive())
{
- string newName = name;
- toLower(newName);
- string thisName = this->name();
- toLower(thisName);
+ string newName = IceUtilInternal::toLower(name);
+ string thisName = IceUtilInternal::toLower(this->name());
if(newName == thisName)
{
string msg = "struct member `" + name + "' differs only in capitalization from enclosing struct name `";
@@ -4503,10 +4475,8 @@ Slice::Operation::createParamDecl(const string& name, const TypePtr& type, bool
}
if(!_unit->caseSensitive())
{
- string newName = name;
- toLower(newName);
- string thisName = this->name();
- toLower(thisName);
+ string newName = IceUtilInternal::toLower(name);
+ string thisName = IceUtilInternal::toLower(this->name());
if(newName == thisName)
{
string msg = "parameter `" + name + "' differs only in capitalization from operation name `";
@@ -4744,7 +4714,7 @@ Slice::Operation::attributes() const
}
if(i == 2)
{
- cout << definitionContext()->filename() << ":" << line()
+ cerr << definitionContext()->filename() << ":" << line()
<< ": warning: invalid freeze metadata for operation" << endl;
}
else
@@ -4766,7 +4736,7 @@ Slice::Operation::attributes() const
{
if(result != 0 && (i == int(Supports) || i == int(Never)))
{
- cout << definitionContext()->filename() << ":" << line()
+ cerr << definitionContext()->filename() << ":" << line()
<< ": warning: invalid freeze metadata for operation" << endl;
}
else
@@ -4781,7 +4751,7 @@ Slice::Operation::attributes() const
if(i == 4)
{
- cout << definitionContext()->filename() << ":" << line()
+ cerr << definitionContext()->filename() << ":" << line()
<< ": warning: invalid freeze metadata for operation" << endl;
//
@@ -5200,9 +5170,9 @@ Slice::Unit::error(const char* s)
string file = currentFile();
if(!file.empty())
{
- cout << file << ':' << _currentLine << ": ";
+ cerr << file << ':' << _currentLine << ": ";
}
- cout << s << endl;
+ cerr << s << endl;
_errors++;
}
@@ -5218,9 +5188,9 @@ Slice::Unit::warning(const char* s) const
string file = currentFile();
if(!file.empty())
{
- cout << file << ':' << _currentLine << ": ";
+ cerr << file << ':' << _currentLine << ": ";
}
- cout << "warning: " << s << endl;
+ cerr << "warning: " << s << endl;
}
void
@@ -5279,7 +5249,7 @@ Slice::Unit::addContent(const ContainedPtr& contained)
string scoped = contained->scoped();
if(!caseSensitive())
{
- toLower(scoped);
+ scoped = IceUtilInternal::toLower(scoped);
}
_contentMap[scoped].push_back(contained);
}
@@ -5290,7 +5260,7 @@ Slice::Unit::removeContent(const ContainedPtr& contained)
string scoped = contained->scoped();
if(!caseSensitive())
{
- toLower(scoped);
+ scoped = IceUtilInternal::toLower(scoped);
}
map<string, ContainedList>::iterator p = _contentMap.find(scoped);
assert(p != _contentMap.end());
@@ -5315,7 +5285,7 @@ Slice::Unit::findContents(const string& scoped) const
string name = scoped;
if(!_unit->caseSensitive())
{
- toLower(name);
+ name = IceUtilInternal::toLower(name);
}
map<string, ContainedList>::const_iterator p = _contentMap.find(name);
@@ -5600,7 +5570,8 @@ Slice::CICompare::operator()(const string& s1, const string& s2) const
{
string::const_iterator p1 = s1.begin();
string::const_iterator p2 = s2.begin();
- while(p1 != s1.end() && p2 != s2.end() && ::tolower(*p1) == ::tolower(*p2))
+ while(p1 != s1.end() && p2 != s2.end() &&
+ ::tolower(static_cast<unsigned char>(*p1)) == ::tolower(static_cast<unsigned char>(*p2)))
{
++p1;
++p2;
@@ -5619,7 +5590,7 @@ Slice::CICompare::operator()(const string& s1, const string& s2) const
}
else
{
- return ::tolower(*p1) < ::tolower(*p2);
+ return ::tolower(static_cast<unsigned char>(*p1)) < ::tolower(static_cast<unsigned char>(*p2));
}
}
diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp
index 763b8a7a855..6c226c2db72 100644
--- a/cpp/src/Slice/Preprocessor.cpp
+++ b/cpp/src/Slice/Preprocessor.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.
@@ -10,7 +10,6 @@
#include <IceUtil/DisableWarnings.h>
#include <Slice/Preprocessor.h>
#include <Slice/Util.h>
-#include <Slice/SignalHandler.h>
#include <IceUtil/StringUtil.h>
#include <IceUtil/FileUtil.h>
#include <IceUtil/UUID.h>
@@ -29,20 +28,6 @@ using namespace std;
using namespace Slice;
//
-// Callback for Crtl-C signal handling
-//
-static Preprocessor* _preprocess = 0;
-
-static void closeCallback()
-{
- if(_preprocess != 0)
- {
- _preprocess->close();
- }
-}
-
-
-//
// mcpp defines
//
namespace Slice
@@ -65,15 +50,10 @@ Slice::Preprocessor::Preprocessor(const string& path, const string& fileName, co
_args(args),
_cppHandle(0)
{
- _preprocess = this;
- SignalHandler::setCallback(closeCallback);
}
Slice::Preprocessor::~Preprocessor()
{
- _preprocess = 0;
- SignalHandler::setCallback(0);
-
close();
}
@@ -115,7 +95,8 @@ Slice::Preprocessor::normalizeIncludePath(const string& path)
result.replace(pos, 2, "/");
}
- if(result == "/" || (result.size() == 3 && isalpha(result[0]) && result[1] == ':' && result[2] == '/'))
+ if(result == "/" || (result.size() == 3 && isalpha(static_cast<unsigned char>(result[0])) && result[1] == ':' &&
+ result[2] == '/'))
{
return result;
}
@@ -144,6 +125,8 @@ Slice::Preprocessor::preprocess(bool keepComments)
{
args.push_back("-C");
}
+ args.push_back("-e");
+ args.push_back("en_us.utf8");
args.push_back(_fileName);
const char** argv = new const char*[args.size() + 1];
@@ -176,18 +159,53 @@ Slice::Preprocessor::preprocess(bool keepComments)
//
char* buf = mcpp_get_mem_buffer(Out);
- _cppFile = ".preprocess." + IceUtil::generateUUID();
- SignalHandler::addFile(_cppFile);
+ //
+ // First try to open temporay file in tmp directory.
+ //
#ifdef _WIN32
- _cppHandle = ::_wfopen(IceUtil::stringToWstring(_cppFile).c_str(), IceUtil::stringToWstring("w+").c_str());
+ wchar_t* name = _wtempnam(NULL, L".preprocess");
+ if(name)
+ {
+ _cppFile = wstring(name);
+ free(name);
+ _cppHandle = ::_wfopen(_cppFile.c_str(), L"w+");
+ }
#else
- _cppHandle = ::fopen(_cppFile.c_str(), "w+");
+ _cppHandle = tmpfile();
#endif
- if(buf)
+
+ //
+ // If that fails try to open file in current directory.
+ //
+ if(_cppHandle == 0)
{
- ::fwrite(buf, strlen(buf), 1, _cppHandle);
+#ifdef _WIN32
+ _cppFile = L".preprocess." + IceUtil::stringToWstring(IceUtil::generateUUID());
+ _cppHandle = ::_wfopen(_cppFile.c_str(), L"w+");
+#else
+ _cppFile = ".preprocess." + IceUtil::generateUUID();
+ _cppHandle = ::fopen(_cppFile.c_str(), "w+");
+#endif
+ }
+
+ if(_cppHandle != 0)
+ {
+ if(buf)
+ {
+ ::fwrite(buf, strlen(buf), 1, _cppHandle);
+ }
+ ::rewind(_cppHandle);
+ }
+ else
+ {
+ cerr << "Could not open temporary file: ";
+#ifdef _WIN32
+ cerr << IceUtil::wstringToString(_cppFile);
+#else
+ cerr << _cppFile;
+#endif
+ cerr << endl;
}
- ::rewind(_cppHandle);
}
//
@@ -198,12 +216,12 @@ Slice::Preprocessor::preprocess(bool keepComments)
return _cppHandle;
}
-void
+bool
Slice::Preprocessor::printMakefileDependencies(Language lang, const vector<string>& includePaths)
{
if(!checkInputFile())
{
- return;
+ return false;
}
//
@@ -211,6 +229,8 @@ Slice::Preprocessor::printMakefileDependencies(Language lang, const vector<strin
//
vector<string> args = _args;
args.push_back("-M");
+ args.push_back("-e");
+ args.push_back("en_us.utf8");
args.push_back(_fileName);
const char** argv = new const char*[args.size() + 1];
@@ -241,7 +261,7 @@ Slice::Preprocessor::printMakefileDependencies(Language lang, const vector<strin
// Calling this again causes the memory buffers to be freed.
//
mcpp_use_mem_buffers(1);
- return;
+ return false;
}
//
@@ -449,6 +469,7 @@ Slice::Preprocessor::printMakefileDependencies(Language lang, const vector<strin
// Output result
//
fputs(result.c_str(), stdout);
+ return true;
}
bool
@@ -459,16 +480,19 @@ Slice::Preprocessor::close()
int status = fclose(_cppHandle);
_cppHandle = 0;
- if(status != 0)
+ if(_cppFile.size() != 0)
{
- return false;
- }
-
#ifdef _WIN32
- _unlink(_cppFile.c_str());
+ _wunlink(_cppFile.c_str());
#else
- unlink(_cppFile.c_str());
+ unlink(_cppFile.c_str());
#endif
+ }
+
+ if(status != 0)
+ {
+ return false;
+ }
}
return true;
@@ -482,8 +506,7 @@ Slice::Preprocessor::checkInputFile()
string::size_type pos = base.rfind('.');
if(pos != string::npos)
{
- suffix = base.substr(pos);
- transform(suffix.begin(), suffix.end(), suffix.begin(), ::tolower);
+ suffix = IceUtilInternal::toLower(base.substr(pos));
}
if(suffix != ".ice")
{
@@ -494,7 +517,7 @@ Slice::Preprocessor::checkInputFile()
ifstream test(_fileName.c_str());
if(!test)
{
- cerr << _path << ": can't open `" << _fileName << "' for reading" << endl;
+ cerr << _path << ": cannot open `" << _fileName << "' for reading" << endl;
return false;
}
test.close();
diff --git a/cpp/src/Slice/PythonUtil.cpp b/cpp/src/Slice/PythonUtil.cpp
index a422886255d..cb9e024717a 100644
--- a/cpp/src/Slice/PythonUtil.cpp
+++ b/cpp/src/Slice/PythonUtil.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.
@@ -1916,7 +1916,7 @@ Slice::Python::printHeader(IceUtilInternal::Output& out)
static const char* header =
"# **********************************************************************\n"
"#\n"
-"# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+"# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"#\n"
"# This copy of Ice is licensed to you under the terms described in the\n"
"# ICE_LICENSE file included in this distribution.\n"
@@ -2035,7 +2035,7 @@ Slice::Python::MetaDataVisitor::validateGlobal(const DefinitionContextPtr& dc)
static const string packagePrefix = "python:package:";
if(s.find(packagePrefix) != 0 || s.size() == packagePrefix.size())
{
- cout << dc->filename() << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
+ cerr << dc->filename() << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
}
}
_history.insert(s);
@@ -2067,7 +2067,7 @@ Slice::Python::MetaDataVisitor::validateSequence(const DefinitionContextPtr& dc,
}
}
}
- cout << dc->filename() << ":" << line << ": warning: ignoring metadata `" << s << "'" << endl;
+ cerr << dc->filename() << ":" << line << ": warning: ignoring metadata `" << s << "'" << endl;
}
}
}
@@ -2085,7 +2085,7 @@ Slice::Python::MetaDataVisitor::reject(const ContainedPtr& cont)
{
DefinitionContextPtr dc = cont->definitionContext();
assert(dc);
- cout << dc->filename() << ":" << cont->line() << ": warning: ignoring metadata `" << *p << "'" << endl;
+ cerr << dc->filename() << ":" << cont->line() << ": warning: ignoring metadata `" << *p << "'" << endl;
}
}
}
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp
index de38a9a15bd..3227446ee82 100644
--- a/cpp/src/Slice/RubyUtil.cpp
+++ b/cpp/src/Slice/RubyUtil.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.
@@ -1728,7 +1728,7 @@ Slice::Ruby::printHeader(IceUtilInternal::Output& out)
static const char* header =
"# **********************************************************************\n"
"#\n"
-"# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+"# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"#\n"
"# This copy of Ice is licensed to you under the terms described in the\n"
"# ICE_LICENSE file included in this distribution.\n"
diff --git a/cpp/src/Slice/Scanner.cpp b/cpp/src/Slice/Scanner.cpp
new file mode 100644
index 00000000000..273f116578c
--- /dev/null
+++ b/cpp/src/Slice/Scanner.cpp
@@ -0,0 +1,2133 @@
+#include <IceUtil/Config.h>
+#define yy_create_buffer slice__create_buffer
+#define yy_delete_buffer slice__delete_buffer
+#define yy_scan_buffer slice__scan_buffer
+#define yy_scan_string slice__scan_string
+#define yy_scan_bytes slice__scan_bytes
+#define yy_flex_debug slice__flex_debug
+#define yy_init_buffer slice__init_buffer
+#define yy_flush_buffer slice__flush_buffer
+#define yy_load_buffer_state slice__load_buffer_state
+#define yy_switch_to_buffer slice__switch_to_buffer
+#define yyin slice_in
+#define yyleng slice_leng
+#define yylex slice_lex
+#define yyout slice_out
+#define yyrestart slice_restart
+#define yytext slice_text
+
+#line 19 "lex.yy.c"
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 19
+#define YY_END_OF_BUFFER 20
+static yyconst short int yy_accept[66] =
+ { 0,
+ 0, 0, 20, 18, 17, 17, 14, 18, 18, 18,
+ 15, 15, 18, 13, 8, 18, 9, 18, 0, 15,
+ 15, 16, 6, 5, 16, 15, 0, 0, 7, 0,
+ 12, 13, 10, 13, 11, 0, 0, 0, 0, 16,
+ 0, 16, 15, 0, 1, 0, 0, 16, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 3, 0,
+ 0, 0, 0, 4, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 5, 6, 1, 1, 1, 1, 7,
+ 1, 8, 9, 1, 10, 11, 12, 13, 14, 14,
+ 14, 14, 14, 14, 14, 15, 15, 16, 1, 1,
+ 1, 1, 1, 1, 17, 17, 17, 17, 18, 19,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 21, 22, 23, 1, 20, 1, 17, 17, 17, 17,
+
+ 24, 19, 20, 20, 25, 20, 20, 26, 20, 27,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 28,
+ 20, 20, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[29] =
+ { 0,
+ 1, 2, 3, 4, 1, 1, 4, 1, 5, 5,
+ 1, 1, 6, 6, 6, 1, 7, 7, 7, 8,
+ 1, 1, 1, 7, 8, 9, 8, 8
+ } ;
+
+static yyconst short int yy_base[78] =
+ { 0,
+ 0, 177, 182, 184, 184, 184, 184, 18, 21, 29,
+ 31, 25, 165, 54, 159, 0, 137, 28, 37, 0,
+ 0, 49, 184, 184, 0, 131, 38, 0, 184, 67,
+ 184, 73, 184, 0, 184, 58, 63, 110, 69, 184,
+ 68, 72, 0, 87, 184, 107, 80, 83, 121, 101,
+ 118, 119, 119, 109, 184, 86, 101, 103, 184, 102,
+ 67, 40, 37, 184, 184, 107, 110, 118, 123, 124,
+ 130, 132, 138, 147, 155, 161, 170
+ } ;
+
+static yyconst short int yy_def[78] =
+ { 0,
+ 65, 1, 65, 65, 65, 65, 65, 65, 65, 65,
+ 65, 11, 65, 66, 65, 67, 65, 68, 65, 11,
+ 12, 65, 65, 65, 22, 11, 69, 70, 65, 65,
+ 65, 66, 65, 32, 65, 68, 71, 65, 72, 65,
+ 65, 65, 70, 65, 65, 65, 65, 65, 73, 65,
+ 73, 74, 65, 74, 65, 65, 75, 65, 65, 76,
+ 76, 77, 77, 65, 0, 65, 65, 65, 65, 65,
+ 65, 65, 65, 65, 65, 65, 65
+ } ;
+
+static yyconst short int yy_nxt[213] =
+ { 0,
+ 4, 5, 6, 5, 7, 4, 4, 4, 8, 8,
+ 9, 10, 11, 12, 12, 13, 14, 14, 14, 14,
+ 15, 16, 17, 14, 14, 14, 14, 14, 19, 36,
+ 20, 21, 21, 22, 22, 22, 23, 21, 21, 64,
+ 24, 25, 64, 26, 26, 21, 41, 41, 27, 22,
+ 22, 22, 65, 38, 27, 30, 30, 30, 28, 36,
+ 31, 22, 22, 22, 44, 45, 39, 40, 30, 30,
+ 30, 62, 39, 31, 30, 30, 30, 47, 47, 31,
+ 42, 42, 42, 38, 42, 42, 42, 56, 44, 45,
+ 40, 49, 48, 48, 48, 48, 48, 48, 57, 57,
+
+ 57, 40, 58, 59, 58, 59, 62, 60, 32, 32,
+ 32, 55, 32, 32, 32, 32, 34, 34, 34, 37,
+ 56, 55, 52, 37, 53, 52, 37, 42, 42, 43,
+ 43, 37, 37, 50, 46, 37, 48, 48, 51, 51,
+ 51, 51, 51, 51, 51, 51, 51, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 57, 57, 65, 35,
+ 57, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 33,
+ 29, 65, 18, 3, 65, 65, 65, 65, 65, 65,
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+ 65, 65
+ } ;
+
+static yyconst short int yy_chk[213] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 18,
+ 8, 8, 8, 9, 9, 9, 10, 12, 12, 63,
+ 10, 11, 62, 11, 11, 11, 27, 27, 11, 19,
+ 19, 19, 12, 18, 11, 14, 14, 14, 11, 36,
+ 14, 22, 22, 22, 37, 37, 22, 22, 30, 30,
+ 30, 61, 22, 30, 32, 32, 32, 39, 39, 32,
+ 41, 41, 41, 36, 42, 42, 42, 56, 44, 44,
+ 42, 44, 47, 47, 47, 48, 48, 48, 56, 56,
+
+ 56, 48, 57, 57, 58, 58, 60, 58, 66, 66,
+ 66, 54, 66, 66, 66, 66, 67, 67, 67, 68,
+ 53, 52, 51, 68, 50, 49, 68, 69, 69, 70,
+ 70, 71, 71, 46, 38, 71, 72, 72, 73, 73,
+ 73, 73, 73, 73, 73, 73, 73, 74, 74, 74,
+ 74, 74, 74, 74, 74, 74, 75, 75, 26, 17,
+ 75, 76, 76, 76, 76, 76, 76, 76, 76, 76,
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 15,
+ 13, 3, 2, 65, 65, 65, 65, 65, 65, 65,
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+
+ 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
+ 65, 65
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <Slice/GrammarUtil.h> // Before Grammer.h, so that YYSTYPE is defined
+#include <Slice/Grammar.h>
+#include <IceUtil/InputUtil.h>
+
+#include <stdlib.h>
+#include <math.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// '=' : conversion from 'size_t' to 'int', possible loss of data
+// The result of fread() is a size_t and gets inserted into an int
+//
+# pragma warning( 4 : 4267 )
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+using namespace Slice;
+
+namespace Slice
+{
+
+//
+// Definitions for the case-insensitive keyword-token map.
+//
+typedef std::map<std::string, int, Slice::CICompare> StringTokenMap;
+static StringTokenMap keywordMap;
+
+void initScanner();
+void checkIdentifier(const string&);
+int checkKeyword(string&);
+
+}
+
+#define YY_USER_INIT initScanner();
+
+#define YY_NEVER_INTERACTIVE 1
+#line 504 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ if ( yyleng > 0 ) \
+ yy_current_buffer->yy_at_bol = \
+ (yytext[yyleng - 1] == '\n'); \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 65 "Scanner.l"
+
+
+#line 661 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+ yy_current_state += YY_AT_BOL();
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 66 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 184 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
+yy_c_buf_p = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 67 "Scanner.l"
+{
+ unit->scanPosition(yytext);
+}
+ YY_BREAK
+case 2:
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
+yy_c_buf_p = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 71 "Scanner.l"
+{
+ unit->scanPosition(yytext);
+}
+ YY_BREAK
+case 3:
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
+yy_c_buf_p = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 75 "Scanner.l"
+{
+ unit->scanPosition(yytext);
+}
+ YY_BREAK
+case 4:
+*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
+yy_c_buf_p = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 79 "Scanner.l"
+{
+ unit->scanPosition(yytext);
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 83 "Scanner.l"
+{
+ // C++-style comment
+ int c;
+ do
+ {
+ c = yyinput();
+ if(c == '\n')
+ {
+ unit->nextLine();
+ }
+ }
+ while(c != '\n' && c != EOF);
+}
+ YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 97 "Scanner.l"
+{
+ // C-style comment
+ string comment = yytext + 2;
+ while(true)
+ {
+ int c = yyinput();
+ if(c == '\n')
+ {
+ comment += static_cast<char>(c);
+ unit->nextLine();
+ }
+ else if(c == '*')
+ {
+ int next = yyinput();
+ if(next == '/')
+ {
+ break;
+ }
+ else
+ {
+ comment += static_cast<char>(c);
+ unput(next);
+ }
+ }
+ else if(c == EOF)
+ {
+ unit->warning("EOF in comment");
+ break;
+ }
+ else
+ {
+ comment += static_cast<char>(c);
+ }
+ }
+ if(comment[0] == '*')
+ {
+ unit->setComment(comment);
+ }
+}
+ YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 137 "Scanner.l"
+{
+ return ICE_SCOPE_DELIMITER;
+}
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 141 "Scanner.l"
+{
+ return ICE_METADATA_OPEN;
+}
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 145 "Scanner.l"
+{
+ return ICE_METADATA_CLOSE;
+}
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 149 "Scanner.l"
+{
+ return ICE_GLOBAL_METADATA_OPEN;
+}
+ YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 153 "Scanner.l"
+{
+ return ICE_GLOBAL_METADATA_CLOSE;
+}
+ YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 157 "Scanner.l"
+{
+ StringTokPtr ident = new StringTok;
+ ident->v = *yytext == '\\' ? yytext + 1 : yytext;
+ ident->v.erase(ident->v.find_first_of(" \t\v\n\r\f("));
+ *yylvalp = ident;
+ checkIdentifier(ident->v);
+ if(*yytext == '\\')
+ {
+ return ICE_IDENT_OP;
+ }
+ return checkKeyword(ident->v) == ICE_IDENTIFIER ? ICE_IDENT_OP : ICE_KEYWORD_OP;
+}
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 170 "Scanner.l"
+{
+ StringTokPtr ident = new StringTok;
+ ident->v = *yytext == '\\' ? yytext + 1 : yytext;
+ *yylvalp = ident;
+ checkIdentifier(ident->v);
+ return *yytext == '\\' ? ICE_IDENTIFIER : checkKeyword(ident->v);
+}
+ YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 178 "Scanner.l"
+{
+ StringTokPtr str = new StringTok;
+ str->literal = "\"";
+ while(true)
+ {
+ char c = static_cast<char>(yyinput());
+ str->literal += c;
+ if(c == '"')
+ {
+ break;
+ }
+ else if(c == EOF)
+ {
+ unit->error("EOF in string");
+ break;
+ }
+ else if(c == '\n')
+ {
+ unit->error("newline in string");
+ }
+ else if(c == '\\')
+ {
+ char next = static_cast<char>(yyinput());
+ str->literal += next;
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ case '\'':
+ {
+ str->v += next;
+ break;
+ }
+
+ case 'n':
+ {
+ str->v += '\n';
+ break;
+ }
+
+ case 'r':
+ {
+ str->v += '\r';
+ break;
+ }
+
+ case 't':
+ {
+ str->v += '\t';
+ break;
+ }
+
+ case 'v':
+ {
+ str->v += '\v';
+ break;
+ }
+
+ case 'f':
+ {
+ str->v += '\f';
+ break;
+ }
+
+ case 'a':
+ {
+ str->v += '\a';
+ break;
+ }
+
+ case 'b':
+ {
+ str->v += '\b';
+ break;
+ }
+
+ case '?':
+ {
+ str->v += '\?';
+ break;
+ }
+
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ {
+ static string octalDigits = "01234567";
+ unsigned short us = next - '0';
+ if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
+ {
+ str->literal += next;
+ us = us * 8 + next - '0';
+ if(octalDigits.find_first_of(next = static_cast<char>(yyinput())) != string::npos)
+ {
+ us = us * 8 + next - '0';
+ }
+ else
+ {
+ unput(next);
+ }
+ }
+ else
+ {
+ unput(next);
+ }
+ if(us == 0)
+ {
+ unit->error("illegal NUL character in string constant");
+ }
+ str->v += static_cast<char>(us);
+ break;
+ }
+ case 'x':
+ {
+ IceUtil::Int64 ull = 0;
+ while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
+ {
+ str->literal += next;
+ ull *= 16;
+ if(isdigit(static_cast<unsigned char>(next)))
+ {
+ ull += next - '0';
+ }
+ else if(islower(static_cast<unsigned char>(next)))
+ {
+ ull += next - 'a' + 10;
+ }
+ else
+ {
+ ull += next - 'A' + 10;
+ }
+ }
+ unput(next);
+ if(ull == 0)
+ {
+ unit->error("illegal NUL character in string constant");
+ }
+ str->v += static_cast<char>(ull);
+ break;
+ }
+
+ // TODO: add universal character names
+
+ default:
+ {
+ str->v += c;
+ unput(next);
+ }
+ }
+ }
+ else
+ {
+ str->v += c;
+ }
+ }
+ *yylvalp = str;
+ return ICE_STRING_LITERAL;
+}
+ YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 338 "Scanner.l"
+{
+ IntegerTokPtr itp = new IntegerTok;
+ itp->literal = string(yytext);
+ *yylvalp = itp;
+ if(!IceUtilInternal::stringToInt64(string(yytext), itp->v))
+ {
+ assert(itp->v != 0);
+ string msg = "integer constant `";
+ msg += yytext;
+ msg += "' out of range";
+ unit->error(msg);
+ }
+ return ICE_INTEGER_LITERAL;
+}
+ YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 353 "Scanner.l"
+{
+ errno = 0;
+ FloatingTokPtr ftp = new FloatingTok;
+ *yylvalp = ftp;
+ string literal(yytext);
+ ftp->literal = literal;
+ char lastChar = literal[literal.size() - 1];
+ if(lastChar == 'f' || lastChar == 'F')
+ {
+ literal = literal.substr(0, literal.size() - 1); // Clobber trailing 'f' or 'F' suffix
+ }
+ ftp->v = strtod(literal.c_str(), 0);
+ if((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
+ {
+ string msg = "floating-point constant `";
+ msg += yytext;
+ msg += "' too large (overflow)";
+ unit->error(msg);
+ }
+ else if(ftp->v == 0 && errno == ERANGE)
+ {
+ string msg = "floating-point constant `";
+ msg += yytext;
+ msg += "' too small (underflow)";
+ unit->error(msg);
+ }
+ return ICE_FLOATING_POINT_LITERAL;
+}
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 382 "Scanner.l"
+{
+ // Igore white-space
+
+ if(yytext[0] == '\n')
+ {
+ unit->nextLine();
+ }
+}
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 391 "Scanner.l"
+{
+ if(yytext[0] < 32 || yytext[0] > 126)
+ {
+ stringstream s;
+ s << "illegal input character: '\\";
+ s.width(3);
+ s.fill('0');
+ s << oct << static_cast<int>(static_cast<unsigned char>(yytext[0]));
+ s << "'";
+ unit->error(s.str());
+ return BAD_CHAR;
+ }
+ return yytext[0];
+}
+ YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 406 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 1155 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+ yy_current_state += YY_AT_BOL();
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 66 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 66 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 65);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+ yy_current_buffer->yy_at_bol = (c == '\n');
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 406 "Scanner.l"
+
+
+namespace Slice {
+
+//
+// initScanner() fills the keyword map with all keyword-token pairs.
+//
+
+void
+initScanner()
+{
+ keywordMap["module"] = ICE_MODULE;
+ keywordMap["class"] = ICE_CLASS;
+ keywordMap["interface"] = ICE_INTERFACE;
+ keywordMap["exception"] = ICE_EXCEPTION;
+ keywordMap["struct"] = ICE_STRUCT;
+ keywordMap["sequence"] = ICE_SEQUENCE;
+ keywordMap["dictionary"] = ICE_DICTIONARY;
+ keywordMap["enum"] = ICE_ENUM;
+ keywordMap["out"] = ICE_OUT;
+ keywordMap["extends"] = ICE_EXTENDS;
+ keywordMap["implements"] = ICE_IMPLEMENTS;
+ keywordMap["throws"] = ICE_THROWS;
+ keywordMap["void"] = ICE_VOID;
+ keywordMap["byte"] = ICE_BYTE;
+ keywordMap["bool"] = ICE_BOOL;
+ keywordMap["short"] = ICE_SHORT;
+ keywordMap["int"] = ICE_INT;
+ keywordMap["long"] = ICE_LONG;
+ keywordMap["float"] = ICE_FLOAT;
+ keywordMap["double"] = ICE_DOUBLE;
+ keywordMap["string"] = ICE_STRING;
+ keywordMap["Object"] = ICE_OBJECT;
+ keywordMap["LocalObject"] = ICE_LOCAL_OBJECT;
+ keywordMap["local"] = ICE_LOCAL;
+ keywordMap["const"] = ICE_CONST;
+ keywordMap["false"] = ICE_FALSE;
+ keywordMap["true"] = ICE_TRUE;
+ keywordMap["nonmutating"] = ICE_NONMUTATING;
+ keywordMap["idempotent"] = ICE_IDEMPOTENT;
+}
+
+//
+// Check if an identifier is well-formed.
+//
+
+void
+checkIdentifier(const string& id)
+{
+ if(id.find('_') != string::npos)
+ {
+ unit->error("illegal underscore in identifier `" + id + "'");
+ }
+
+ //
+ // Weed out identifiers with reserved suffixes.
+ //
+ static const string suffixBlacklist[] = { "Helper", "Holder", "Prx", "Ptr" };
+ for(size_t i = 0; i < sizeof(suffixBlacklist) / sizeof(*suffixBlacklist); ++i)
+ {
+ if(id.find(suffixBlacklist[i], id.size() - suffixBlacklist[i].size()) != string::npos)
+ {
+ unit->error("illegal identifier `" + id + "': `" + suffixBlacklist[i] + "' suffix is reserved");
+ }
+ }
+}
+
+//
+// Check if an identifier looks like a keyword.
+// If the identifier is a keyword, return the
+// corresponding keyword token; otherwise, return
+// an identifier token.
+//
+
+int
+checkKeyword(string& id)
+{
+ StringTokenMap::const_iterator pos = keywordMap.find(id);
+ if(pos != keywordMap.end())
+ {
+ if(pos->first != id)
+ {
+ string msg;
+ msg = "illegal identifier: `" + id + "' differs from keyword `";
+ msg += pos->first + "' only in capitalization";
+ unit->error(msg);
+ id = pos->first;
+ }
+ return pos->second;
+ }
+ return ICE_IDENTIFIER;
+}
+
+}
diff --git a/cpp/src/Slice/Scanner.l b/cpp/src/Slice/Scanner.l
index be0dedaf96b..e7fb6405775 100644
--- a/cpp/src/Slice/Scanner.l
+++ b/cpp/src/Slice/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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.
@@ -291,15 +291,15 @@ floating_literal (({fractional_constant}{exponent_part}?)|((\+|-)?[[:digit:]]+{e
case 'x':
{
IceUtil::Int64 ull = 0;
- while(isxdigit(next = static_cast<char>(yyinput())))
+ while(isxdigit(static_cast<unsigned char>(next = static_cast<char>(yyinput()))))
{
str->literal += next;
ull *= 16;
- if(isdigit(next))
+ if(isdigit(static_cast<unsigned char>(next)))
{
ull += next - '0';
}
- else if(islower(next))
+ else if(islower(static_cast<unsigned char>(next)))
{
ull += next - 'a' + 10;
}
diff --git a/cpp/src/Slice/SignalHandler.cpp b/cpp/src/Slice/SignalHandler.cpp
deleted file mode 100644
index 103b82ecad0..00000000000
--- a/cpp/src/Slice/SignalHandler.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <IceUtil/DisableWarnings.h>
-#include <Slice/SignalHandler.h>
-#include <vector>
-#include <cstdlib>
-
-#ifndef _WIN32
-# include <signal.h>
-#endif
-
-
-using namespace std;
-using namespace Slice;
-
-//
-// Signal handler routine to unlink output files in case of translator
-// being interrupted.
-//
-static SignalHandlerCallback _callback = 0;
-static vector<string> _fileList;
-
-#ifdef _WIN32
-static BOOL WINAPI signalHandler(DWORD dwCtrlType)
-#else
-static void signalHandler(int signal)
-#endif
-{
- if(_callback != 0)
- {
- _callback();
- }
-
- for(unsigned int i = 0; i < _fileList.size(); ++i)
- {
- remove(_fileList[i].c_str());
- }
-
- exit(1);
-}
-
-
-Slice::SignalHandler::SignalHandler()
-{
-#ifdef _WIN32
- SetConsoleCtrlHandler(signalHandler, TRUE);
-#else
- sigset(SIGHUP, signalHandler);
- sigset(SIGINT, signalHandler);
- sigset(SIGQUIT, signalHandler);
-#endif
-}
-
-Slice::SignalHandler::~SignalHandler()
-{
-#ifdef _WIN32
- SetConsoleCtrlHandler(signalHandler, FALSE);
-#else
- sigset(SIGHUP, SIG_DFL);
- sigset(SIGINT, SIG_DFL);
- sigset(SIGQUIT, SIG_DFL);
-#endif
-
- _fileList.clear();
-}
-
-void
-Slice::SignalHandler::setCallback(SignalHandlerCallback callback)
-{
- _callback = callback;
-}
-
-void
-Slice::SignalHandler::addFile(const string& file)
-{
- _fileList.push_back(file);
-}
diff --git a/cpp/src/Slice/Slice.rc b/cpp/src/Slice/Slice.rc
index 5a987e93f69..4e322159365 100644
--- a/cpp/src/Slice/Slice.rc
+++ b/cpp/src/Slice/Slice.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -23,12 +23,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice Utilities DLL\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", INTERNALNAME
- 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", ORIGINALFILENAME
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/Slice/Util.cpp b/cpp/src/Slice/Util.cpp
index 551aa0a4d46..cf2e77ed32f 100644
--- a/cpp/src/Slice/Util.cpp
+++ b/cpp/src/Slice/Util.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/src/ca/ImportKey.java b/cpp/src/ca/ImportKey.java
index d0c1848eda3..58b52eb99ea 100644
--- a/cpp/src/ca/ImportKey.java
+++ b/cpp/src/ca/ImportKey.java
@@ -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/src/ca/Makefile b/cpp/src/ca/Makefile
index bcb52014fb8..d71f8c8a47b 100644
--- a/cpp/src/ca/Makefile
+++ b/cpp/src/ca/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/src/ca/Makefile.mak b/cpp/src/ca/Makefile.mak
index e5149fd0500..bc6fd28aa30 100644
--- a/cpp/src/ca/Makefile.mak
+++ b/cpp/src/ca/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/src/ca/iceca b/cpp/src/ca/iceca
index a23892830ec..14d0e13e848 100755
--- a/cpp/src/ca/iceca
+++ b/cpp/src/ca/iceca
@@ -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.
@@ -104,7 +104,7 @@ if sys.argv[script] == "import":
# script ../lib). For development purposes we also check ".".
#
checkLocations = [".", os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), "..", "lib")),
- "/usr/share/Ice-3.3.0"]
+ "/usr/share/Ice-3.3.1"]
for bindir in checkLocations:
bindir = os.path.normpath(bindir)
if os.path.exists(os.path.join(bindir, "ImportKey.class")):
@@ -315,10 +315,10 @@ if sys.argv[script] == "init":
# Construct the DN for the CA certificate.
DNelements = { \
'C':['countryName', "Country name", "", 'match'], \
- 'ST':['stateOfProviceName', "State or province name", "", 'match'], \
+ 'ST':['stateOrProvinceName', "State or province name", "", 'match'], \
'L':['localityName', "Locality", "", 'match'], \
'O':['organizationName', "Organization name", "GridCA-" + socket.gethostname(), 'match'], \
- 'OU':['organizationUnitName', "Organization unit name", "", 'optional'], \
+ 'OU':['organizationalUnitName', "Organizational unit name", "", 'optional'], \
'CN':['commonName', "Common name", "Grid CA", 'supplied'] \
}
@@ -355,7 +355,7 @@ if sys.argv[script] == "init":
"ca.cnf":"\
# **********************************************************************\n\
#\n\
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n\
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n\
#\n\
# This copy of Ice is licensed to you under the terms described in the\n\
# ICE_LICENSE file included in this distribution.\n\
@@ -397,7 +397,7 @@ authorityKeyIdentifier = keyid:always,issuer:always\n\
"sign.cnf":"\
# **********************************************************************\n\
#\n\
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n\
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n\
#\n\
# This copy of Ice is licensed to you under the terms described in the\n\
# ICE_LICENSE file included in this distribution.\n\
@@ -438,7 +438,7 @@ authorityKeyIdentifier = keyid:always,issuer:always\n\
"req.cnf":"\
# **********************************************************************\n\
#\n\
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n\
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n\
#\n\
# This copy of Ice is licensed to you under the terms described in the\n\
# ICE_LICENSE file included in this distribution.\n\
diff --git a/cpp/src/ca/iceca.bat b/cpp/src/ca/iceca.bat
index 63299efba5c..2370d1f041c 100755
--- a/cpp/src/ca/iceca.bat
+++ b/cpp/src/ca/iceca.bat
@@ -1,7 +1,7 @@
@echo off
REM **********************************************************************
REM
-REM Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
+REM Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
REM
REM This copy of Ice is licensed to you under the terms described in the
REM ICE_LICENSE file included in this distribution.
diff --git a/cpp/src/iceserviceinstall/IceServiceInstall.rc b/cpp/src/iceserviceinstall/IceServiceInstall.rc
index 440b45d0d26..ec031cee122 100644
--- a/cpp/src/iceserviceinstall/IceServiceInstall.rc
+++ b/cpp/src/iceserviceinstall/IceServiceInstall.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Service Installer\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "iceserviceinstall\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", "iceserviceinstall.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/iceserviceinstall/Install.cpp b/cpp/src/iceserviceinstall/Install.cpp
index 0c46d3a35e2..209f994b87f 100644
--- a/cpp/src/iceserviceinstall/Install.cpp
+++ b/cpp/src/iceserviceinstall/Install.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/src/iceserviceinstall/Makefile.mak b/cpp/src/iceserviceinstall/Makefile.mak
index 233c732289b..bf2dd53b875 100644
--- a/cpp/src/iceserviceinstall/Makefile.mak
+++ b/cpp/src/iceserviceinstall/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/src/iceserviceinstall/ServiceInstaller.cpp b/cpp/src/iceserviceinstall/ServiceInstaller.cpp
index ebbff53ba0e..70669764cd0 100644
--- a/cpp/src/iceserviceinstall/ServiceInstaller.cpp
+++ b/cpp/src/iceserviceinstall/ServiceInstaller.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/src/iceserviceinstall/ServiceInstaller.h b/cpp/src/iceserviceinstall/ServiceInstaller.h
index bc4dae129ef..2ca626a64b9 100644
--- a/cpp/src/iceserviceinstall/ServiceInstaller.h
+++ b/cpp/src/iceserviceinstall/ServiceInstaller.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/src/slice2cpp/.depend b/cpp/src/slice2cpp/.depend
index e17f5043684..3e72263da59 100644
--- a/cpp/src/slice2cpp/.depend
+++ b/cpp/src/slice2cpp/.depend
@@ -1,2 +1,2 @@
-Gen$(OBJEXT): Gen.cpp ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/CPlusPlusUtil.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Iterator.h $(includedir)/Slice/Checksum.h $(includedir)/Slice/SignalHandler.h
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
+Gen$(OBJEXT): Gen.cpp ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Util.h $(includedir)/Slice/CPlusPlusUtil.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Iterator.h $(includedir)/Slice/Checksum.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Slice/Preprocessor.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 77e6d834465..d442b2a7586 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -1,41 +1,31 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+#include <IceUtil/DisableWarnings.h>
#include <Gen.h>
#include <Slice/Util.h>
#include <Slice/CPlusPlusUtil.h>
#include <IceUtil/Functional.h>
#include <IceUtil/Iterator.h>
#include <Slice/Checksum.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <limits>
+
#include <sys/stat.h>
+#include <string.h>
using namespace std;
using namespace Slice;
using namespace IceUtil;
using namespace IceUtilInternal;
-//
-// Callback for Crtl-C signal handling
-//
-static Gen* _gen = 0;
-
-static void closeCallback()
-{
- if(_gen != 0)
- {
- _gen->closeOutput();
- }
-}
-
static string
getDeprecateSymbol(const ContainedPtr& p1, const ContainedPtr& p2)
{
@@ -48,8 +38,8 @@ getDeprecateSymbol(const ContainedPtr& p1, const ContainedPtr& p2)
return deprecateSymbol;
}
-Slice::Gen::Gen(const string& name, const string& base, const string& headerExtension,
- const string& sourceExtension, const vector<string>& extraHeaders, const string& include,
+Slice::Gen::Gen(const string& base, const string& headerExtension, const string& sourceExtension,
+ const vector<string>& extraHeaders, const string& include,
const vector<string>& includePaths, const string& dllExport, const string& dir,
bool imp, bool checksum, bool stream, bool ice) :
_base(base),
@@ -64,9 +54,6 @@ Slice::Gen::Gen(const string& name, const string& base, const string& headerExte
_stream(stream),
_ice(ice)
{
- _gen = this;
- SignalHandler::setCallback(closeCallback);
-
for(vector<string>::iterator p = _includePaths.begin(); p != _includePaths.end(); ++p)
{
*p = fullPath(*p);
@@ -87,34 +74,38 @@ Slice::Gen::Gen(const string& name, const string& base, const string& headerExte
fileImplH = dir + '/' + fileImplH;
fileImplC = dir + '/' + fileImplC;
}
- SignalHandler::addFile(fileImplH);
- SignalHandler::addFile(fileImplC);
struct stat st;
if(stat(fileImplH.c_str(), &st) == 0)
{
- cerr << name << ": `" << fileImplH << "' already exists - will not overwrite" << endl;
- return;
+ ostringstream os;
+ os << fileImplH << "' already exists - will not overwrite";
+ throw FileException(__FILE__, __LINE__, os.str());
}
if(stat(fileImplC.c_str(), &st) == 0)
{
- cerr << name << ": `" << fileImplC << "' already exists - will not overwrite" << endl;
- return;
+ ostringstream os;
+ os << fileImplC << "' already exists - will not overwrite";
+ throw FileException(__FILE__, __LINE__, os.str());
}
implH.open(fileImplH.c_str());
if(!implH)
{
- cerr << name << ": can't open `" << fileImplH << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << fileImplH << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(fileImplH);
implC.open(fileImplC.c_str());
if(!implC)
{
- cerr << name << ": can't open `" << fileImplC << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << fileImplC << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(fileImplC);
string s = fileImplH;
if(_include.size())
@@ -134,22 +125,24 @@ Slice::Gen::Gen(const string& name, const string& base, const string& headerExte
fileH = dir + '/' + fileH;
fileC = dir + '/' + fileC;
}
- SignalHandler::addFile(fileH);
- SignalHandler::addFile(fileC);
H.open(fileH.c_str());
if(!H)
{
- cerr << name << ": can't open `" << fileH << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << fileH << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(fileH);
C.open(fileC.c_str());
if(!C)
{
- cerr << name << ": can't open `" << fileC << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << fileC << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(fileC);
printHeader(H);
printHeader(C);
@@ -177,22 +170,6 @@ Slice::Gen::~Gen()
implH << "\n\n#endif\n";
implC << '\n';
}
-
- SignalHandler::setCallback(0);
-}
-
-bool
-Slice::Gen::operator!() const
-{
- if(!H || !C)
- {
- return true;
- }
- if(_impl && (!implH || !implC))
- {
- return true;
- }
- return false;
}
void
@@ -2647,6 +2624,7 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p)
}
C << nl << "bool __ok = __og.invoke();";
+ writeAllocateCode(C, ParamDeclList(), ret, p->getMetaData(), _useWstring);
if(!p->returnsData())
{
C << nl << "if(!__og.is()->b.empty())";
@@ -2710,7 +2688,6 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p)
C << eb;
C << eb;
- writeAllocateCode(C, ParamDeclList(), ret, p->getMetaData(), _useWstring);
for(ParamDeclList::const_iterator opi = outParams.begin(); opi != outParams.end(); ++opi)
{
StructPtr st = StructPtr::dynamicCast((*opi)->type());
@@ -2720,7 +2697,7 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p)
}
}
- if(p->returnsData())
+ if(ret || !outParams.empty())
{
C << nl << "::IceInternal::BasicStream* __is = __og.is();";
C << nl << "__is->startReadEncaps();";
@@ -5301,7 +5278,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
C << sb;
if(p->returnsData())
{
- C << nl << "__prx->__checkTwowayOnly(\"" << p->name() << "\");";
+ C << nl << "__prx->__checkTwowayOnly(" << flatName << ");";
}
C << nl << "__prepare(__prx, " << flatName << ", " << operationModeToString(p->sendMode()) << ", __ctx);";
writeMarshalCode(C, inParams, 0, StringList(), true);
@@ -5357,7 +5334,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
C << nl << "return;";
C << eb;
- if(p->returnsData())
+ if(ret || !outParams.empty())
{
C << nl << "__is->startReadEncaps();";
writeUnmarshalCode(C, outParams, 0, StringList(), true);
@@ -5676,7 +5653,7 @@ Slice::Gen::MetaDataVisitor::visitModuleStart(const ModulePtr& p)
{
continue;
}
- cout << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
+ cerr << file << ": warning: ignoring invalid global metadata `" << s << "'" << endl;
}
_history.insert(s);
}
@@ -5747,7 +5724,7 @@ Slice::Gen::MetaDataVisitor::visitOperation(const OperationPtr& p)
{
if(!cl->isLocal())
{
- cout << p->definitionContext()->filename() << ":" << p->line()
+ cerr << p->definitionContext()->filename() << ":" << p->line()
<< ": warning: metadata directive `UserException' applies only to local operations "
<< "but enclosing " << (cl->isInterface() ? "interface" : "class") << "`" << cl->name()
<< "' is not local" << endl;
@@ -5766,7 +5743,7 @@ Slice::Gen::MetaDataVisitor::visitOperation(const OperationPtr& p)
{
if(q->find("cpp:type:", 0) == 0 || q->find("cpp:array", 0) == 0 || q->find("cpp:range", 0) == 0)
{
- cout << p->definitionContext()->filename() << ":" << p->line()
+ cerr << p->definitionContext()->filename() << ":" << p->line()
<< ": warning: invalid metadata for operation" << endl;
break;
}
@@ -5859,7 +5836,7 @@ Slice::Gen::MetaDataVisitor::validate(const SyntaxTreeBasePtr& cont, const Strin
continue;
}
- cout << file << ":" << line << ": warning: ignoring invalid metadata `" << s << "'" << endl;
+ cerr << file << ":" << line << ": warning: ignoring invalid metadata `" << s << "'" << endl;
}
_history.insert(s);
}
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h
index d30e43cc844..e3c1c9afc01 100644
--- a/cpp/src/slice2cpp/Gen.h
+++ b/cpp/src/slice2cpp/Gen.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.
@@ -23,7 +23,6 @@ public:
Gen(const std::string&,
const std::string&,
const std::string&,
- const std::string&,
const std::vector<std::string>&,
const std::string&,
const std::vector<std::string>&,
@@ -35,8 +34,6 @@ public:
bool);
~Gen();
- bool operator!() const; // Returns true if there was a constructor error
-
void generate(const UnitPtr&);
void closeOutput();
diff --git a/cpp/src/slice2cpp/Main.cpp b/cpp/src/slice2cpp/Main.cpp
index 0fef7634add..7e2ff8b58b1 100644
--- a/cpp/src/slice2cpp/Main.cpp
+++ b/cpp/src/slice2cpp/Main.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.
@@ -8,13 +8,26 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
using namespace std;
using namespace Slice;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
void
usage(const char* n)
{
@@ -88,7 +101,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -149,14 +162,18 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
+
for(i = args.begin(); i != args.end(); ++i)
{
- SignalHandler sigHandler;
-
if(depend)
{
Preprocessor icecpp(argv[0], *i, cppArgs);
- icecpp.printMakefileDependencies(Preprocessor::CPlusPlus, includePaths);
+ if(!icecpp.printMakefileDependencies(Preprocessor::CPlusPlus, includePaths))
+ {
+ return EXIT_FAILURE;
+ }
}
else
{
@@ -200,19 +217,36 @@ main(int argc, char* argv[])
}
else
{
- Gen gen(argv[0], icecpp.getBaseName(), headerExtension, sourceExtension, extraHeaders, include,
- includePaths, dllExport, output, impl, checksum, stream, ice);
- if(!gen)
+ try
+ {
+ Gen gen(icecpp.getBaseName(), headerExtension, sourceExtension, extraHeaders, include,
+ includePaths, dllExport, output, impl, checksum, stream, ice);
+ gen.generate(u);
+ }
+ catch(const Slice::FileException& ex)
{
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
u->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
return EXIT_FAILURE;
}
- gen.generate(u);
}
u->destroy();
}
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
}
return status;
diff --git a/cpp/src/slice2cpp/Makefile b/cpp/src/slice2cpp/Makefile
index a23b12c84d2..084d2e85b00 100644
--- a/cpp/src/slice2cpp/Makefile
+++ b/cpp/src/slice2cpp/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/src/slice2cpp/Makefile.mak b/cpp/src/slice2cpp/Makefile.mak
index fb9a69e62c0..847211d4f52 100644
--- a/cpp/src/slice2cpp/Makefile.mak
+++ b/cpp/src/slice2cpp/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/src/slice2cpp/Slice2Cpp.rc b/cpp/src/slice2cpp/Slice2Cpp.rc
index e2259027702..f7fe1cd95b6 100644
--- a/cpp/src/slice2cpp/Slice2Cpp.rc
+++ b/cpp/src/slice2cpp/Slice2Cpp.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To C++ Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2cpp\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", "slice2cpp.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2cs/.depend b/cpp/src/slice2cs/.depend
index 5e88d13cee9..3681dd8ef03 100644
--- a/cpp/src/slice2cs/.depend
+++ b/cpp/src/slice2cs/.depend
@@ -1,2 +1,2 @@
-Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h ./Gen.h $(includedir)/Slice/CsUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/UUID.h $(includedir)/Slice/Checksum.h $(includedir)/Slice/DotNetNames.h $(includedir)/Slice/SignalHandler.h
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/CsUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
+Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h ./Gen.h $(includedir)/Slice/CsUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/UUID.h $(includedir)/Slice/Checksum.h $(includedir)/Slice/DotNetNames.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/Slice/Preprocessor.h ./Gen.h $(includedir)/Slice/CsUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index e16e3f67600..b3c236cfa1a 100644
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.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.
@@ -21,7 +21,8 @@
#include <IceUtil/UUID.h>
#include <Slice/Checksum.h>
#include <Slice/DotNetNames.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
+#include <string.h>
using namespace std;
using namespace Slice;
@@ -39,19 +40,6 @@ using IceUtilInternal::eb;
using IceUtilInternal::spar;
using IceUtilInternal::epar;
-//
-// Callback for Crtl-C signal handling
-//
-static Gen* _gen = 0;
-
-static void closeCallback()
-{
- if(_gen != 0)
- {
- _gen->closeOutput();
- }
-}
-
static string // Should be an anonymous namespace, but VC++ 6 can't handle that.
sliceModeToIceMode(Operation::Mode opMode)
{
@@ -1067,14 +1055,11 @@ Slice::CsVisitor::writeValue(const TypePtr& type)
}
-Slice::Gen::Gen(const string& name, const string& base, const vector<string>& includePaths, const string& dir,
+Slice::Gen::Gen(const string& base, const vector<string>& includePaths, const string& dir,
bool impl, bool implTie, bool stream)
: _includePaths(includePaths),
_stream(stream)
{
- _gen = this;
- SignalHandler::setCallback(closeCallback);
-
string fileBase = base;
string::size_type pos = base.find_last_of("/\\");
if(pos != string::npos)
@@ -1089,15 +1074,15 @@ Slice::Gen::Gen(const string& name, const string& base, const vector<string>& in
file = dir + '/' + file;
fileImpl = dir + '/' + fileImpl;
}
- SignalHandler::addFile(file);
- SignalHandler::addFile(fileImpl);
_out.open(file.c_str());
if(!_out)
{
- cerr << name << ": can't open `" << file << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(file);
printHeader();
_out << nl << "// Generated from file `" << fileBase << ".ice'";
@@ -1124,15 +1109,20 @@ Slice::Gen::Gen(const string& name, const string& base, const vector<string>& in
struct stat st;
if(stat(fileImpl.c_str(), &st) == 0)
{
- cerr << name << ": `" << fileImpl << "' already exists--will not overwrite" << endl;
- return;
+ ostringstream os;
+ os << fileImpl << "' already exists - will not overwrite";
+ throw FileException(__FILE__, __LINE__, os.str());
}
+
_impl.open(fileImpl.c_str());
if(!_impl)
{
- cerr << name << ": can't open `" << fileImpl << "' for writing" << endl;
- return;
+ ostringstream os;
+ os << ": cannot open `" << fileImpl << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+
+ FileTracker::instance()->addFile(fileImpl);
}
}
@@ -1146,20 +1136,11 @@ Slice::Gen::~Gen()
{
_impl << '\n';
}
-
- SignalHandler::setCallback(0);
-}
-
-bool
-Slice::Gen::operator!() const
-{
- return !_out;
}
void
Slice::Gen::generate(const UnitPtr& p)
{
-
CsGenerator::validateMetaData(p);
UnitVisitor unitVisitor(_out, _stream);
@@ -1223,7 +1204,7 @@ Slice::Gen::generateChecksums(const UnitPtr& u)
string className = "X" + IceUtil::generateUUID();
for(string::size_type pos = 1; pos < className.size(); ++pos)
{
- if(!isalnum(className[pos]))
+ if(!isalnum(static_cast<unsigned char>(className[pos])))
{
className[pos] = '_';
}
@@ -1270,7 +1251,7 @@ Slice::Gen::printHeader()
static const char* header =
"// **********************************************************************\n"
"//\n"
-"// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+"// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"//\n"
"// This copy of Ice is licensed to you under the terms described in the\n"
"// ICE_LICENSE file included in this distribution.\n"
@@ -3655,7 +3636,6 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
bool hasClassValue = (builtin && builtin->kind() == Builtin::KindObject) || ClassDeclPtr::dynamicCast(value);
if(hasClassValue)
{
- string expectedType = ContainedPtr::dynamicCast(value)->scoped();
_out << sp << nl << "public sealed class Patcher__ : IceInternal.Patcher<" << valueS << ">";
_out << sb;
_out << sp << nl << "internal Patcher__(string type, " << name << " m, " << keyS << " key) : base(type)";
@@ -3693,7 +3673,7 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
{
if(isValueType(key))
{
- _out << nl << "v__ = new " << typeToString(key) << "();";
+ _out << nl << "k__ = new " << typeToString(key) << "();";
}
else
{
@@ -3767,7 +3747,7 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
{
if(isValueType(key))
{
- _out << nl << "v__ = new " << typeToString(key) << "();";
+ _out << nl << "k__ = new " << typeToString(key) << "();";
}
else
{
@@ -4025,7 +4005,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
_out << nl << "throw new Ice.UnknownUserException(ex.ice_name(), ex);";
_out << eb;
_out << eb;
- if(op->returnsData())
+ if(ret || !outParams.empty())
{
_out << nl << "IceInternal.BasicStream is__ = og__.istr();";
_out << nl << "is__.startReadEncaps();";
@@ -4625,7 +4605,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
_out << eb;
_out << "return;";
_out << eb;
- if(p->returnsData())
+ if(ret || !outParams.empty())
{
_out << nl << "is__.startReadEncaps();";
for(q = outParams.begin(); q != outParams.end(); ++q)
diff --git a/cpp/src/slice2cs/Gen.h b/cpp/src/slice2cs/Gen.h
index c33257945ae..dc9d655570e 100644
--- a/cpp/src/slice2cs/Gen.h
+++ b/cpp/src/slice2cs/Gen.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.
@@ -47,7 +47,6 @@ class Gen : private ::IceUtil::noncopyable
public:
Gen(const std::string&,
- const std::string&,
const std::vector<std::string>&,
const std::string&,
bool,
@@ -55,8 +54,6 @@ public:
bool);
~Gen();
- bool operator!() const; // Returns true if there was a constructor error
-
void generate(const UnitPtr&);
void generateTie(const UnitPtr&);
void generateImpl(const UnitPtr&);
diff --git a/cpp/src/slice2cs/Main.cpp b/cpp/src/slice2cs/Main.cpp
index 770ee8b5ea4..595dfe75dc9 100644
--- a/cpp/src/slice2cs/Main.cpp
+++ b/cpp/src/slice2cs/Main.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.
@@ -8,13 +8,26 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
using namespace std;
using namespace Slice;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
void
usage(const char* n)
{
@@ -82,7 +95,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -144,14 +157,18 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
+
for(i = args.begin(); i != args.end(); ++i)
{
- SignalHandler sigHandler;
-
if(depend)
{
Preprocessor icecpp(argv[0], *i, cppArgs);
- icecpp.printMakefileDependencies(Preprocessor::CSharp, includePaths);
+ if(!icecpp.printMakefileDependencies(Preprocessor::CSharp, includePaths))
+ {
+ return EXIT_FAILURE;
+ }
}
else
{
@@ -194,34 +211,51 @@ main(int argc, char* argv[])
}
else
{
- Gen gen(argv[0], icecpp.getBaseName(), includePaths, output, impl, implTie, stream);
- if(!gen)
- {
- p->destroy();
- return EXIT_FAILURE;
- }
- gen.generate(p);
- if(tie)
- {
- gen.generateTie(p);
- }
- if(impl)
+ try
{
- gen.generateImpl(p);
+ Gen gen(icecpp.getBaseName(), includePaths, output, impl, implTie, stream);
+ gen.generate(p);
+ if(tie)
+ {
+ gen.generateTie(p);
+ }
+ if(impl)
+ {
+ gen.generateImpl(p);
+ }
+ if(implTie)
+ {
+ gen.generateImplTie(p);
+ }
+ if(checksum)
+ {
+ gen.generateChecksums(p);
+ }
}
- if(implTie)
+ catch(const Slice::FileException& ex)
{
- gen.generateImplTie(p);
- }
- if(checksum)
- {
- gen.generateChecksums(p);
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
+ p->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
}
}
p->destroy();
}
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
}
return status;
diff --git a/cpp/src/slice2cs/Makefile b/cpp/src/slice2cs/Makefile
index ad3d034882a..161b2bb6458 100644
--- a/cpp/src/slice2cs/Makefile
+++ b/cpp/src/slice2cs/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/src/slice2cs/Makefile.mak b/cpp/src/slice2cs/Makefile.mak
index f9f72b8e5e2..263fc9a09d4 100644
--- a/cpp/src/slice2cs/Makefile.mak
+++ b/cpp/src/slice2cs/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/src/slice2cs/Slice2Cs.rc b/cpp/src/slice2cs/Slice2Cs.rc
index 0bc6cbf755c..5d9b7390e83 100644
--- a/cpp/src/slice2cs/Slice2Cs.rc
+++ b/cpp/src/slice2cs/Slice2Cs.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To C# Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2cs\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", "slice2cs.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2docbook/.depend b/cpp/src/slice2docbook/.depend
index 519a081f272..e69de29bb2d 100644
--- a/cpp/src/slice2docbook/.depend
+++ b/cpp/src/slice2docbook/.depend
@@ -1,2 +0,0 @@
-Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/OutputUtil.h
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2docbook/Gen.cpp b/cpp/src/slice2docbook/Gen.cpp
index f8950f72d46..322ca9a1147 100644
--- a/cpp/src/slice2docbook/Gen.cpp
+++ b/cpp/src/slice2docbook/Gen.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.
@@ -9,7 +9,7 @@
#include <IceUtil/DisableWarnings.h>
#include <IceUtil/Functional.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
#include <cstring>
@@ -22,28 +22,11 @@ using namespace Slice;
using namespace IceUtil;
using namespace IceUtilInternal;
-//
-// Callback for Crtl-C signal handling
-//
-static Gen* _gen = 0;
-
-static void closeCallback()
-{
- if(_gen != 0)
- {
- _gen->closeOutput();
- }
-}
-
-Slice::Gen::Gen(const string& name, const string& file, bool standAlone, bool chapter,
- bool noIndex, bool sortFields) :
+Slice::Gen::Gen(const string& file, bool standAlone, bool chapter, bool noIndex, bool sortFields) :
_standAlone(standAlone),
_noIndex(noIndex),
_sortFields(sortFields)
{
- _gen = this;
- SignalHandler::setCallback(closeCallback);
-
if(chapter)
{
_chapter = "chapter";
@@ -56,20 +39,14 @@ Slice::Gen::Gen(const string& name, const string& file, bool standAlone, bool ch
O.open(file.c_str());
if(!O)
{
- cerr << name << ": can't open `" << file << "' for writing: " << strerror(errno) << endl;
- return;
+ ostringstream os;
+ os << "cannot open `" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
}
Slice::Gen::~Gen()
{
- SignalHandler::setCallback(0);
-}
-
-bool
-Slice::Gen::operator!() const
-{
- return !O;
}
void
@@ -892,7 +869,7 @@ Slice::Gen::printHeader()
"<!--\n"
" **********************************************************************\n"
"\n"
-" Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.\n"
+" Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.\n"
"\n"
" This copy of Ice is licensed to you under the terms described in the\n"
" ICE_LICENSE file included in this distribution.\n"
@@ -932,7 +909,7 @@ Slice::Gen::getComment(const ContainedPtr& contained, const ContainerPtr& contai
}
comment += toString(literal, container);
}
- else if(summary && s[i] == '.' && (i + 1 >= s.size() || isspace(s[i + 1])))
+ else if(summary && s[i] == '.' && (i + 1 >= s.size() || isspace(static_cast<unsigned char>(s[i + 1]))))
{
comment += '.';
break;
diff --git a/cpp/src/slice2docbook/Gen.h b/cpp/src/slice2docbook/Gen.h
index ecef04e51df..97cbe3e1274 100644
--- a/cpp/src/slice2docbook/Gen.h
+++ b/cpp/src/slice2docbook/Gen.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.
@@ -21,11 +21,9 @@ class Gen : private ::IceUtil::noncopyable, public ParserVisitor
{
public:
- Gen(const std::string&, const std::string&, bool, bool, bool, bool);
+ Gen(const std::string&, bool, bool, bool, bool);
virtual ~Gen();
- bool operator!() const; // Returns true if there was a constructor error
-
void generate(const UnitPtr&);
void closeOutput();
diff --git a/cpp/src/slice2docbook/Main.cpp b/cpp/src/slice2docbook/Main.cpp
index 4f1bd207afb..b5616743174 100644
--- a/cpp/src/slice2docbook/Main.cpp
+++ b/cpp/src/slice2docbook/Main.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.
@@ -8,14 +8,28 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/StringUtil.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
using namespace std;
using namespace Slice;
using namespace IceUtil;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
void
usage(const char* n)
{
@@ -78,7 +92,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -130,8 +144,7 @@ main(int argc, char* argv[])
string::size_type pos = docbook.rfind('.');
if(pos != string::npos)
{
- suffix = docbook.substr(pos);
- transform(suffix.begin(), suffix.end(), suffix.begin(), ::tolower);
+ suffix = IceUtilInternal::toLower(docbook.substr(pos));
}
if(suffix != ".sgml")
{
@@ -150,7 +163,8 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
- SignalHandler sigHandler;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
for(vector<string>::size_type idx = 1; idx < args.size(); ++idx)
{
@@ -184,22 +198,46 @@ main(int argc, char* argv[])
p->destroy();
return EXIT_FAILURE;
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ return EXIT_FAILURE;
+ }
+ }
}
if(status == EXIT_SUCCESS && !preprocess)
{
- SignalHandler::addFile(docbook);
-
- Gen gen(argv[0], docbook, standAlone, chapter, noIndex, sortFields);
- if(!gen)
+ try
+ {
+ Gen gen(docbook, standAlone, chapter, noIndex, sortFields);
+ gen.generate(p);
+ }
+ catch(const Slice::FileException& ex)
{
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
p->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
return EXIT_FAILURE;
}
- gen.generate(p);
}
p->destroy();
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
+
return status;
}
diff --git a/cpp/src/slice2docbook/Makefile b/cpp/src/slice2docbook/Makefile
index 457f852e6a5..06709a362aa 100644
--- a/cpp/src/slice2docbook/Makefile
+++ b/cpp/src/slice2docbook/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/src/slice2docbook/Makefile.mak b/cpp/src/slice2docbook/Makefile.mak
index eaa1edf0015..57fe865a385 100644
--- a/cpp/src/slice2docbook/Makefile.mak
+++ b/cpp/src/slice2docbook/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/src/slice2docbook/Slice2Docbook.rc b/cpp/src/slice2docbook/Slice2Docbook.rc
index fa444b9f51c..aa15951a456 100644
--- a/cpp/src/slice2docbook/Slice2Docbook.rc
+++ b/cpp/src/slice2docbook/Slice2Docbook.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Docbook Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2docbook\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", "slice2docbook.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2freeze/.depend b/cpp/src/slice2freeze/.depend
index 0cf3b3df685..8773e4a36ab 100644
--- a/cpp/src/slice2freeze/.depend
+++ b/cpp/src/slice2freeze/.depend
@@ -1 +1 @@
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/CPlusPlusUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/SignalHandler.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/Util.h $(includedir)/Slice/Parser.h $(includedir)/Slice/CPlusPlusUtil.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/IceUtil/StringUtil.h
diff --git a/cpp/src/slice2freeze/Main.cpp b/cpp/src/slice2freeze/Main.cpp
index 417f50ad6aa..cbffb460a3f 100644
--- a/cpp/src/slice2freeze/Main.cpp
+++ b/cpp/src/slice2freeze/Main.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.
@@ -9,11 +9,14 @@
#include <IceUtil/DisableWarnings.h>
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
#include <Slice/Util.h>
#include <Slice/CPlusPlusUtil.h>
+#include <Slice/FileTracker.h>
#include <IceUtil/OutputUtil.h>
-#include <Slice/SignalHandler.h>
+#include <IceUtil/StringUtil.h>
#include <cstring>
using namespace std;
@@ -21,16 +24,15 @@ using namespace IceUtil;
using namespace IceUtilInternal;
using namespace Slice;
-static ::IceUtilInternal::Output _H;
-static ::IceUtilInternal::Output _CPP;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
-//
-// Callback for Crtl-C signal handling
-//
-static void closeCallback()
+void
+interruptedCallback(int signal)
{
- _H.close();
- _CPP.close();
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
}
static string ICE_ENCODING_COMPARE = "Freeze::IceEncodingCompare";
@@ -218,25 +220,25 @@ usage(const char* n)
// Note: --case-sensitive is intentionally not shown here!
}
-bool
-checkIdentifier(string n, string t, string s)
+void
+checkIdentifier(string t, string s)
{
- if(s.empty() || (!isalpha(s[0]) && s[0] != '_'))
+ if(s.empty() || (!isalpha(static_cast<unsigned char>(s[0])) && s[0] != '_'))
{
- cerr << n << ": `" << t << "' is not a valid type name" << endl;
- return false;
+ ostringstream os;
+ os << t << "' is not a valid type name";
+ throw os.str();
}
for(unsigned int i = 1; i < s.size(); ++i)
{
- if(!isalnum(s[i]) && s[i] != '_')
+ if(!isalnum(static_cast<unsigned char>(s[i])) && s[i] != '_')
{
- cerr << n << ": `" << t << "' is not a valid type name" << endl;
- return false;
+ ostringstream os;
+ os << t << "' is not a valid type name";
+ throw os.str();
}
}
-
- return true;
}
void
@@ -409,7 +411,7 @@ writeDictWithIndicesH(const string& name, const Dict& dict,
if(!member.empty())
{
string capitalizedMember = member;
- capitalizedMember[0] = toupper(capitalizedMember[0]);
+ capitalizedMember[0] = toupper(static_cast<unsigned char>(capitalizedMember[0]));
capitalizedMembers.push_back(capitalizedMember);
}
else
@@ -604,7 +606,7 @@ writeDictWithIndicesC(const string& name, const string& absolute, const Dict& di
if(!member.empty())
{
string capitalizedMember = member;
- capitalizedMember[0] = toupper(capitalizedMember[0]);
+ capitalizedMember[0] = toupper(static_cast<unsigned char>(capitalizedMember[0]));
capitalizedMembers.push_back(capitalizedMember);
}
else
@@ -923,9 +925,8 @@ writeDictWithIndicesC(const string& name, const string& absolute, const Dict& di
}
}
-
-bool
-writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, const string& dllExport)
+void
+writeDict(const string& n, const UnitPtr& u, const Dict& dict, Output& H, Output& C, const string& dllExport)
{
string absolute = dict.name;
if(absolute.find("::") == 0)
@@ -940,32 +941,28 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
string s = name.substr(0, pos);
name.erase(0, pos + 2);
- if(!checkIdentifier(n, absolute, s))
- {
- return false;
- }
+ checkIdentifier(absolute, s);
scope.push_back(s);
}
- if(!checkIdentifier(n, absolute, name))
- {
- return false;
- }
+ checkIdentifier(absolute, name);
TypeList keyTypes = u->lookupType(dict.key, false);
if(keyTypes.empty())
{
- cerr << n << ": `" << dict.key << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.key << "' is not a valid type";
+ throw os.str();
}
TypePtr keyType = keyTypes.front();
TypeList valueTypes = u->lookupType(dict.value, false);
if(valueTypes.empty())
{
- cerr << n << ": `" << dict.value << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is not a valid type";
+ throw os.str();
}
TypePtr valueType = valueTypes.front();
@@ -1001,19 +998,21 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
{
if(dict.indices.size() > 1)
{
- cerr << n << ": bad index for dictionary `" << dict.name << "'" << endl;
- return false;
+ ostringstream os;
+ os << "bad index for dictionary `" << dict.name << "'";
+ throw os.str();
}
bool containsSequence = false;
if(!Dictionary::legalKeyType(valueType, containsSequence))
{
- cerr << n << ": `" << dict.value << "' is not a valid index type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is not a valid index type";
+ throw os.str();
}
if(containsSequence)
{
- cerr << n << ": warning: use of sequences in dictionary keys has been deprecated" << endl;
+ cerr << n << ": warning: use of sequences in dictionary keys has been deprecated";
}
@@ -1027,8 +1026,9 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
if(builtInType == 0 || builtInType->kind() != Builtin::KindString)
{
- cerr << n << ": VALUE is a `" << dict.value << "', not a string" << endl;
- return false;
+ ostringstream os;
+ os << "VALUE is a `" << dict.value << "', not a string";
+ throw os.str();
}
}
IndexType iType;
@@ -1051,8 +1051,9 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
StructPtr structDecl = StructPtr::dynamicCast(valueType);
if(structDecl == 0)
{
- cerr << n << ": `" << dict.value << "' is neither a class nor a struct." << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is neither a class nor a struct.";
+ throw os.str();
}
dataMembers = structDecl->dataMembers();
}
@@ -1071,9 +1072,10 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
if(dataMember == 0)
{
- cerr << n << ": The value of `" << dict.name
- << "' has no data member named `" << index.member << "'" << endl;
- return false;
+ ostringstream os;
+ os << "The value of `" << dict.name
+ << "' has no data member named `" << index.member << "'";
+ throw os.str();
}
TypePtr dataMemberType = dataMember->type();
@@ -1081,12 +1083,13 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
bool containsSequence = false;
if(!Dictionary::legalKeyType(dataMemberType, containsSequence))
{
- cerr << n << ": `" << index.member << "' cannot be used as an index" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "' cannot be used as an index";
+ throw os.str();
}
if(containsSequence)
{
- cerr << n << ": warning: use of sequences in dictionary keys has been deprecated" << endl;
+ cerr << n << ": warning: use of sequences in dictionary keys has been deprecated";
}
@@ -1098,8 +1101,9 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
BuiltinPtr memberType = BuiltinPtr::dynamicCast(dataMemberType);
if(memberType == 0 || memberType->kind() != Builtin::KindString)
{
- cerr << n << ": `" << index.member << "' is not a string " << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "' is not a string ";
+ throw os.str();
}
}
IndexType iType;
@@ -1127,11 +1131,8 @@ writeDict(const string& n, UnitPtr& u, const Dict& dict, Output& H, Output& C, c
writeDictWithIndicesC(name, absolute, dict, indexTypes, keyType, dict.keyMetaData, valueType,
dict.valueMetaData, C);
}
-
- return true;
}
-
void
writeIndexH(const string& memberTypeString, const string& name, Output& H, const string& dllExport)
{
@@ -1250,8 +1251,8 @@ writeIndexC(const TypePtr& type, const TypePtr& memberType, const string& member
C << eb;
}
-bool
-writeIndex(const string& n, UnitPtr& u, const Index& index, Output& H, Output& C, const string& dllExport)
+void
+writeIndex(const string& n, const UnitPtr& u, const Index& index, Output& H, Output& C, const string& dllExport)
{
string absolute = index.name;
if(absolute.find("::") == 0)
@@ -1266,32 +1267,28 @@ writeIndex(const string& n, UnitPtr& u, const Index& index, Output& H, Output& C
string s = name.substr(0, pos);
name.erase(0, pos + 2);
- if(!checkIdentifier(n, absolute, s))
- {
- return false;
- }
+ checkIdentifier(absolute, s);
scope.push_back(s);
}
- if(!checkIdentifier(n, absolute, name))
- {
- return false;
- }
+ checkIdentifier(absolute, name);
TypeList types = u->lookupType(index.type, false);
if(types.empty())
{
- cerr << n << ": `" << index.type << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' is not a valid type";
+ throw os.str();
}
TypePtr type = types.front();
ClassDeclPtr classDecl = ClassDeclPtr::dynamicCast(type);
if(classDecl == 0)
{
- cerr << n << ": `" << index.type << "' is not a class" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' is not a class";
+ throw os.str();
}
DataMemberList dataMembers = classDecl->definition()->allDataMembers();
@@ -1311,8 +1308,9 @@ writeIndex(const string& n, UnitPtr& u, const Index& index, Output& H, Output& C
if(dataMember == 0)
{
- cerr << n << ": `" << index.type << "' has no data member named `" << index.member << "'" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' has no data member named `" << index.member << "'";
+ throw os.str();
}
if(index.caseSensitive == false)
@@ -1323,8 +1321,9 @@ writeIndex(const string& n, UnitPtr& u, const Index& index, Output& H, Output& C
BuiltinPtr memberType = BuiltinPtr::dynamicCast(dataMember->type());
if(memberType == 0 || memberType->kind() != Builtin::KindString)
{
- cerr << n << ": `" << index.member << "'is not a string " << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "'is not a string";
+ throw os.str();
}
}
@@ -1345,7 +1344,140 @@ writeIndex(const string& n, UnitPtr& u, const Index& index, Output& H, Output& C
}
writeIndexC(type, dataMember->type(), index.member, index.caseSensitive, absolute, name, C);
- return true;
+}
+
+void
+gen(const string& name, const UnitPtr& u, const vector<string>& includePaths, const vector<string>& extraHeaders,
+ const vector<Dict>& dicts, const vector<Index>& indices, const string& include, const string& headerExtension,
+ const string& sourceExtension, string dllExport, const StringList& includes, const vector<string>& args,
+ const string& output)
+{
+ string fileH = args[0];
+ fileH += "." + headerExtension;
+ string includeH = fileH;
+ string fileC = args[0];
+ fileC += "." + sourceExtension;
+
+ if(!output.empty())
+ {
+ fileH = output + '/' + fileH;
+ fileC = output + '/' + fileC;
+ }
+
+ u->mergeModules();
+ u->sort();
+
+ IceUtilInternal::Output H;
+ H.open(fileH.c_str());
+ if(!H)
+ {
+ ostringstream os;
+ os << "cannot open `" << fileH << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
+
+ FileTracker::instance()->addFile(fileH);
+
+ printHeader(H);
+ printFreezeTypes(H, dicts, indices);
+
+ IceUtilInternal::Output CPP;
+ CPP.open(fileC.c_str());
+ if(!CPP)
+ {
+ ostringstream os;
+ os << "cannot open `" << fileC << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
+ FileTracker::instance()->addFile(fileC);
+
+ printHeader(CPP);
+ printFreezeTypes(CPP, dicts, indices);
+
+ for(vector<string>::const_iterator i = extraHeaders.begin(); i != extraHeaders.end(); ++i)
+ {
+ string hdr = *i;
+ string guard;
+ string::size_type pos = hdr.rfind(',');
+ if(pos != string::npos)
+ {
+ hdr = i->substr(0, pos);
+ guard = i->substr(pos + 1);
+ }
+ if(!guard.empty())
+ {
+ CPP << "\n#ifndef " << guard;
+ CPP << "\n#define " << guard;
+ }
+ CPP << "\n#include <";
+ if(!include.empty())
+ {
+ CPP << include << '/';
+ }
+ CPP << hdr << '>';
+ if(!guard.empty())
+ {
+ CPP << "\n#endif";
+ }
+ }
+
+ string s = fileH;
+ transform(s.begin(), s.end(), s.begin(), ToIfdef());
+ H << "\n#ifndef __" << s << "__";
+ H << "\n#define __" << s << "__";
+ H << '\n';
+
+ if(dicts.size() > 0)
+ {
+ H << "\n#include <Freeze/Map.h>";
+ }
+
+ if(indices.size() > 0)
+ {
+ H << "\n#include <Freeze/Index.h>";
+ }
+
+ {
+ for(StringList::const_iterator p = includes.begin(); p != includes.end(); ++p)
+ {
+ H << "\n#include <" << changeInclude(*p, includePaths) << "." + headerExtension + ">";
+ }
+ }
+
+ CPP << "\n#include <Ice/BasicStream.h>";
+ CPP << "\n#include <";
+ if(include.size())
+ {
+ CPP << include << '/';
+ }
+ CPP << includeH << '>';
+
+ printVersionCheck(H);
+ printVersionCheck(CPP);
+
+ printDllExportStuff(H, dllExport);
+ if(dllExport.size())
+ {
+ dllExport += " ";
+ }
+
+ {
+ for(vector<Dict>::const_iterator p = dicts.begin(); p != dicts.end(); ++p)
+ {
+ writeDict(name, u, *p, H, CPP, dllExport);
+ }
+
+ for(vector<Index>::const_iterator q = indices.begin(); q != indices.end(); ++q)
+ {
+ writeIndex(name, u, *q, H, CPP, dllExport);
+ }
+ }
+
+ H << "\n\n#endif\n";
+ CPP << '\n';
+
+ H.close();
+ CPP.close();
}
int
@@ -1391,7 +1523,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -1419,6 +1551,14 @@ main(int argc, char* argv[])
cppArgs.push_back("-I" + Preprocessor::normalizeIncludePath(*i));
}
+ // Convert include paths to full paths.
+ {
+ for(vector<string>::iterator p = includePaths.begin(); p != includePaths.end(); ++p)
+ {
+ *p = fullPath(*p);
+ }
+ }
+
bool preprocess= opts.isSet("E");
string include = opts.optArg("include-dir");
@@ -1429,8 +1569,7 @@ main(int argc, char* argv[])
optargs = opts.argVec("dict");
for(i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
Dict dict;
@@ -1562,8 +1701,7 @@ main(int argc, char* argv[])
optargs = opts.argVec("index");
for(i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
Index index;
@@ -1629,8 +1767,7 @@ main(int argc, char* argv[])
optargs = opts.argVec("dict-index");
for(i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
string dictName;
DictIndex index;
@@ -1777,24 +1914,14 @@ main(int argc, char* argv[])
return EXIT_FAILURE;
}
- string fileH = args[0];
- fileH += "." + headerExtension;
- string includeH = fileH;
- string fileC = args[0];
- fileC += "." + sourceExtension;
- if(!output.empty())
- {
- fileH = output + '/' + fileH;
- fileC = output + '/' + fileC;
- }
-
UnitPtr u = Unit::createUnit(true, false, ice, caseSensitive);
StringList includes;
int status = EXIT_SUCCESS;
- SignalHandler sigHandler;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
for(vector<string>::size_type idx = 1; idx < args.size(); ++idx)
{
@@ -1839,159 +1966,63 @@ main(int argc, char* argv[])
u->destroy();
return EXIT_FAILURE;
}
- }
-
- if(status == EXIT_SUCCESS && !preprocess)
- {
- u->mergeModules();
- u->sort();
{
- for(vector<string>::iterator p = includePaths.begin(); p != includePaths.end(); ++p)
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
{
- *p = fullPath(*p);
+ return EXIT_FAILURE;
}
}
+ }
- SignalHandler::addFile(fileH);
- SignalHandler::addFile(fileC);
-
- SignalHandler::setCallback(closeCallback);
- _H.open(fileH.c_str());
- if(!_H)
+ if(status == EXIT_SUCCESS && !preprocess)
+ {
+ try
{
- cerr << argv[0] << ": can't open `" << fileH << "' for writing: " << strerror(errno) << endl;
- u->destroy();
- return EXIT_FAILURE;
+ gen(argv[0], u, includePaths, extraHeaders, dicts, indices, include, headerExtension,
+ sourceExtension, dllExport, includes, args, output);
}
- printHeader(_H);
- printFreezeTypes(_H, dicts, indices);
-
- _CPP.open(fileC.c_str());
- if(!_CPP)
+ catch(const string& ex)
{
- cerr << argv[0] << ": can't open `" << fileC << "' for writing: " << strerror(errno) << endl;
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
u->destroy();
+ cerr << argv[0] << ": " << ex << endl;
return EXIT_FAILURE;
}
- printHeader(_CPP);
- printFreezeTypes(_CPP, dicts, indices);
-
- for(vector<string>::const_iterator i = extraHeaders.begin(); i != extraHeaders.end(); ++i)
- {
- string hdr = *i;
- string guard;
- string::size_type pos = hdr.rfind(',');
- if(pos != string::npos)
- {
- hdr = i->substr(0, pos);
- guard = i->substr(pos + 1);
- }
- if(!guard.empty())
- {
- _CPP << "\n#ifndef " << guard;
- _CPP << "\n#define " << guard;
- }
- _CPP << "\n#include <";
- if(!include.empty())
- {
- _CPP << include << '/';
- }
- _CPP << hdr << '>';
- if(!guard.empty())
- {
- _CPP << "\n#endif";
- }
- }
-
- string s = fileH;
- transform(s.begin(), s.end(), s.begin(), ToIfdef());
- _H << "\n#ifndef __" << s << "__";
- _H << "\n#define __" << s << "__";
- _H << '\n';
-
- if(dicts.size() > 0)
- {
- _H << "\n#include <Freeze/Map.h>";
- }
-
- if(indices.size() > 0)
- {
- _H << "\n#include <Freeze/Index.h>";
- }
-
-
+ catch(const Slice::FileException& ex)
{
- for(StringList::const_iterator p = includes.begin(); p != includes.end(); ++p)
- {
- _H << "\n#include <" << changeInclude(*p, includePaths) << "." + headerExtension + ">";
- }
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
}
-
- _CPP << "\n#include <Ice/BasicStream.h>";
- _CPP << "\n#include <";
- if(include.size())
+ catch(...)
{
- _CPP << include << '/';
+ cerr << argv[0] << ": unknown exception" << endl;
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ return EXIT_FAILURE;
}
- _CPP << includeH << '>';
-
- printVersionCheck(_H);
- printVersionCheck(_CPP);
+ }
+
+ u->destroy();
- printDllExportStuff(_H, dllExport);
- if(dllExport.size())
- {
- dllExport += " ";
- }
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+ if(_interrupted)
{
- for(vector<Dict>::const_iterator p = dicts.begin(); p != dicts.end(); ++p)
- {
- try
- {
- if(!writeDict(argv[0], u, *p, _H, _CPP, dllExport))
- {
- u->destroy();
- return EXIT_FAILURE;
- }
- }
- catch(...)
- {
- cerr << argv[0] << ": unknown exception" << endl;
- u->destroy();
- return EXIT_FAILURE;
- }
- }
-
-
- for(vector<Index>::const_iterator q = indices.begin(); q != indices.end(); ++q)
- {
- try
- {
- if(!writeIndex(argv[0], u, *q, _H, _CPP, dllExport))
- {
- u->destroy();
- return EXIT_FAILURE;
- }
- }
- catch(...)
- {
- cerr << argv[0] << ": unknown exception" << endl;
- u->destroy();
- return EXIT_FAILURE;
- }
- }
-
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
}
-
- _H << "\n\n#endif\n";
- _CPP << '\n';
-
}
-
- u->destroy();
return status;
}
diff --git a/cpp/src/slice2freeze/Makefile b/cpp/src/slice2freeze/Makefile
index 827d852cf79..82b64273b8f 100644
--- a/cpp/src/slice2freeze/Makefile
+++ b/cpp/src/slice2freeze/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/src/slice2freeze/Makefile.mak b/cpp/src/slice2freeze/Makefile.mak
index 0799679ada2..b810adcc1a9 100644
--- a/cpp/src/slice2freeze/Makefile.mak
+++ b/cpp/src/slice2freeze/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/src/slice2freeze/Slice2Freeze.rc b/cpp/src/slice2freeze/Slice2Freeze.rc
index 56e45332430..8e12b314086 100644
--- a/cpp/src/slice2freeze/Slice2Freeze.rc
+++ b/cpp/src/slice2freeze/Slice2Freeze.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Freeze Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2freeze\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", "slice2freeze.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2freezej/.depend b/cpp/src/slice2freezej/.depend
index 66f2a5ae2ee..e69de29bb2d 100644
--- a/cpp/src/slice2freezej/.depend
+++ b/cpp/src/slice2freezej/.depend
@@ -1 +0,0 @@
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/JavaUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/SignalHandler.h
diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp
index f8c51ab112b..2ab8c36f86f 100644
--- a/cpp/src/slice2freezej/Main.cpp
+++ b/cpp/src/slice2freezej/Main.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.
@@ -8,9 +8,12 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/StringUtil.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
+#include <Slice/FileTracker.h>
#include <Slice/JavaUtil.h>
-#include <Slice/SignalHandler.h>
#ifdef __BCPLUSPLUS__
# include <iterator>
@@ -21,6 +24,17 @@ using namespace Slice;
using namespace IceUtil;
using namespace IceUtilInternal;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
struct DictIndex
{
string member;
@@ -60,15 +74,15 @@ public:
FreezeGenerator(const string&, const string&);
virtual ~FreezeGenerator();
- bool generate(UnitPtr&, const Dict&);
+ void generate(UnitPtr&, const Dict&);
- bool generate(UnitPtr&, const Index&);
+ void generate(UnitPtr&, const Index&);
private:
string varToObject(const TypePtr&, const string&);
string objectToVar(const TypePtr&, const string&);
- string _prog;
+ const string _prog;
};
FreezeGenerator::FreezeGenerator(const string& prog, const string& dir)
@@ -191,7 +205,7 @@ FreezeGenerator::objectToVar(const TypePtr& type, const string& param)
return result;
}
-bool
+void
FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
{
static const char* builtinTable[] =
@@ -223,16 +237,18 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
TypeList keyTypes = u->lookupType(dict.key, false);
if(keyTypes.empty())
{
- cerr << _prog << ": `" << dict.key << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.key << "' is not a valid type" << endl;
+ throw os.str();
}
TypePtr keyType = keyTypes.front();
TypeList valueTypes = u->lookupType(dict.value, false);
if(valueTypes.empty())
{
- cerr << _prog << ": `" << dict.value << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is not a valid type" << endl;
+ throw os.str();
}
TypePtr valueType = valueTypes.front();
@@ -250,15 +266,17 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
{
if(dict.indices.size() > 1)
{
- cerr << _prog << ": bad index for dictionary `" << dict.name << "'" << endl;
- return false;
+ ostringstream os;
+ os << "bad index for dictionary `" << dict.name << "'" << endl;
+ throw os.str();
}
bool containsSequence = false;
if(!Dictionary::legalKeyType(valueType, containsSequence))
{
- cerr << _prog << ": `" << dict.value << "' is not a valid index type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is not a valid index type" << endl;
+ throw os.str();
}
if(containsSequence)
{
@@ -275,8 +293,9 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
if(builtInType == 0 || builtInType->kind() != Builtin::KindString)
{
- cerr << _prog << ": VALUE is a `" << dict.value << "', not a string " << endl;
- return false;
+ ostringstream os;
+ os << "VALUE is a `" << dict.value << "', not a string " << endl;
+ throw os.str();
}
}
indexTypes.push_back(valueType);
@@ -298,8 +317,9 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
StructPtr structDecl = StructPtr::dynamicCast(valueType);
if(structDecl == 0)
{
- cerr << _prog << ": `" << dict.value << "' is neither a class nor a struct." << endl;
- return false;
+ ostringstream os;
+ os << "`" << dict.value << "' is neither a class nor a struct." << endl;
+ throw os.str();
}
dataMembers = structDecl->dataMembers();
}
@@ -318,9 +338,10 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
if(dataMember == 0)
{
- cerr << _prog << ": The value of `" << dict.name
- << "' has no data member named `" << index.member << "'" << endl;
- return false;
+ ostringstream os;
+ os << "The value of `" << dict.name
+ << "' has no data member named `" << index.member << "'" << endl;
+ throw os.str();
}
TypePtr dataMemberType = dataMember->type();
@@ -328,8 +349,9 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
bool containsSequence = false;
if(!Dictionary::legalKeyType(dataMemberType, containsSequence))
{
- cerr << _prog << ": `" << index.member << "' cannot be used as an index" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "' cannot be used as an index" << endl;
+ throw os.str();
}
if(containsSequence)
{
@@ -344,25 +366,21 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
BuiltinPtr memberType = BuiltinPtr::dynamicCast(dataMemberType);
if(memberType == 0 || memberType->kind() != Builtin::KindString)
{
- cerr << _prog << ": `" << index.member << "' is not a string " << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "' is not a string " << endl;
+ throw os.str();
}
}
indexTypes.push_back(dataMemberType);
string capitalizedMember = member;
- capitalizedMember[0] = toupper(capitalizedMember[0]);
+ capitalizedMember[0] = toupper(static_cast<unsigned char>(capitalizedMember[0]));
capitalizedMembers.push_back(capitalizedMember);
indexNames.push_back(member);
}
}
-
- if(!open(dict.name))
- {
- cerr << _prog << ": unable to open class " << dict.name << endl;
- return false;
- }
+ open(dict.name);
Output& out = output();
@@ -926,13 +944,10 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict)
out << eb;
-
close();
-
- return true;
}
-bool
+void
FreezeGenerator::generate(UnitPtr& u, const Index& index)
{
string name;
@@ -949,16 +964,18 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index)
TypeList types = u->lookupType(index.type, false);
if(types.empty())
{
- cerr << _prog << ": `" << index.type << "' is not a valid type" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' is not a valid type" << endl;
+ throw os.str();
}
TypePtr type = types.front();
ClassDeclPtr classDecl = ClassDeclPtr::dynamicCast(type);
if(classDecl == 0)
{
- cerr << _prog << ": `" << index.type << "' is not a class" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' is not a class" << endl;
+ throw os.str();
}
DataMemberList dataMembers = classDecl->definition()->allDataMembers();
@@ -978,8 +995,9 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index)
if(dataMember == 0)
{
- cerr << _prog << ": `" << index.type << "' has no data member named `" << index.member << "'" << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.type << "' has no data member named `" << index.member << "'" << endl;
+ throw os.str();
}
if(index.caseSensitive == false)
@@ -990,18 +1008,15 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index)
BuiltinPtr memberType = BuiltinPtr::dynamicCast(dataMember->type());
if(memberType == 0 || memberType->kind() != Builtin::KindString)
{
- cerr << _prog << ": `" << index.member << "'is not a string " << endl;
- return false;
+ ostringstream os;
+ os << "`" << index.member << "'is not a string " << endl;
+ throw os.str();
}
}
string memberTypeString = typeToString(dataMember->type(), TypeModeIn);
- if(!open(index.name))
- {
- cerr << _prog << ": unable to open class " << index.name << endl;
- return false;
- }
+ open(index.name);
Output& out = output();
@@ -1083,11 +1098,8 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index)
out << eb;
close();
-
- return true;
}
-
void
usage(const char* n)
{
@@ -1171,7 +1183,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -1203,8 +1215,7 @@ main(int argc, char* argv[])
optargs = opts.argVec("dict");
for(i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
Dict dict;
@@ -1251,8 +1262,7 @@ main(int argc, char* argv[])
optargs = opts.argVec("index");
for(i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
Index index;
@@ -1320,8 +1330,7 @@ main(int argc, char* argv[])
vector<string> optargs = opts.argVec("dict-index");
for(vector<string>::const_iterator i = optargs.begin(); i != optargs.end(); ++i)
{
- string s = *i;
- s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
+ string s = IceUtilInternal::removeWhitespace(*i);
string dictName;
DictIndex index;
@@ -1423,14 +1432,18 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
- SignalHandler sigHandler;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
for(vector<string>::size_type idx = 0; idx < args.size(); ++idx)
{
if(depend)
{
Preprocessor icecpp(argv[0], args[idx], cppArgs);
- icecpp.printMakefileDependencies(Preprocessor::Java, includePaths);
+ if(!icecpp.printMakefileDependencies(Preprocessor::Java, includePaths))
+ {
+ return EXIT_FAILURE;
+ }
}
else
{
@@ -1466,6 +1479,15 @@ main(int argc, char* argv[])
return EXIT_FAILURE;
}
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ return EXIT_FAILURE;
+ }
+ }
}
if(depend)
@@ -1487,14 +1509,29 @@ main(int argc, char* argv[])
{
try
{
- if(!gen.generate(u, *p))
- {
- u->destroy();
- return EXIT_FAILURE;
- }
+ gen.generate(u, *p);
+ }
+ catch(const string& ex)
+ {
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ cerr << argv[0] << ": " << ex << endl;
+ return EXIT_FAILURE;
+ }
+ catch(const Slice::FileException& ex)
+ {
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ cerr << ex.reason() << endl;
+ return EXIT_FAILURE;
}
catch(...)
{
+ FileTracker::instance()->cleanup();
cerr << argv[0] << ": unknown exception" << endl;
u->destroy();
return EXIT_FAILURE;
@@ -1505,15 +1542,30 @@ main(int argc, char* argv[])
{
try
{
- if(!gen.generate(u, *q))
- {
- u->destroy();
- return EXIT_FAILURE;
- }
+ gen.generate(u, *q);
+ }
+ catch(const string& ex)
+ {
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ cerr << argv[0] << ": " << ex << endl;
+ return EXIT_FAILURE;
+ }
+ catch(const Slice::FileException& ex)
+ {
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ u->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
}
catch(...)
{
cerr << argv[0] << ": unknown exception" << endl;
+ FileTracker::instance()->cleanup();
u->destroy();
return EXIT_FAILURE;
}
@@ -1523,5 +1575,15 @@ main(int argc, char* argv[])
u->destroy();
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
+
return status;
}
diff --git a/cpp/src/slice2freezej/Makefile b/cpp/src/slice2freezej/Makefile
index a7616e18c94..c5c37ba1575 100644
--- a/cpp/src/slice2freezej/Makefile
+++ b/cpp/src/slice2freezej/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/src/slice2freezej/Makefile.mak b/cpp/src/slice2freezej/Makefile.mak
index 9d7dc99cec0..d908bfacaa8 100644
--- a/cpp/src/slice2freezej/Makefile.mak
+++ b/cpp/src/slice2freezej/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/src/slice2freezej/Slice2FreezeJ.rc b/cpp/src/slice2freezej/Slice2FreezeJ.rc
index 6113993223d..0eb44a45fd7 100644
--- a/cpp/src/slice2freezej/Slice2FreezeJ.rc
+++ b/cpp/src/slice2freezej/Slice2FreezeJ.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Freeze for Java Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2freezej\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", "slice2freezej.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2html/.depend b/cpp/src/slice2html/.depend
index 519a081f272..19c08cbf59a 100644
--- a/cpp/src/slice2html/.depend
+++ b/cpp/src/slice2html/.depend
@@ -1,2 +1,2 @@
-Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/OutputUtil.h
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
+Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Config.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/OutputUtil.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/Slice/Preprocessor.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2html/Gen.cpp b/cpp/src/slice2html/Gen.cpp
index 49ae1cbd617..65149c2581c 100644
--- a/cpp/src/slice2html/Gen.cpp
+++ b/cpp/src/slice2html/Gen.cpp
@@ -1,15 +1,19 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+# define _CRT_SECURE_NO_DEPRECATE 1 // C4996 '<C function>' was declared deprecated
+#endif
+
#include <IceUtil/DisableWarnings.h>
#include <IceUtil/Functional.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
#include <sys/types.h>
@@ -25,25 +29,13 @@
# include <iterator>
#endif
+#include <string.h>
+
using namespace std;
using namespace Slice;
using namespace IceUtil;
using namespace IceUtilInternal;
-//
-// Callback for Crtl-C signal handling
-//
-static GeneratorBase* _genBase = 0;
-
-static void closeCallback()
-{
- if(_genBase != 0)
- {
- _genBase->closeStream();
- }
-}
-
-
namespace Slice
{
@@ -52,8 +44,6 @@ generate(const UnitPtr& unit, const string& dir, const string& header, const str
const string& indexHeader, const string& indexFooter, const string& imageDir, const string& logoURL,
const string& searchAction, unsigned indexCount, unsigned warnSummary)
{
- SignalHandler::setCallback(closeCallback);
-
unit->mergeModules();
//
@@ -212,12 +202,10 @@ Slice::GeneratorBase::setSymbols(const ContainedList& symbols)
Slice::GeneratorBase::GeneratorBase(XMLOutput& o, const Files& files)
: _out(o), _files(files)
{
- _genBase = this;
}
Slice::GeneratorBase::~GeneratorBase()
{
- _genBase = 0;
}
//
@@ -250,7 +238,6 @@ Slice::GeneratorBase::openDoc(const string& file, const string& title, const str
{
_out << h2;
}
- _indexFooter = getFooter(footer);
_out.inc();
_out.inc();
}
@@ -291,11 +278,11 @@ Slice::GeneratorBase::openDoc(const ContainedPtr& c)
// Close an open HTML file after writing the footer.
//
void
-Slice::GeneratorBase::closeDoc()
+Slice::GeneratorBase::closeDoc(const string& footer)
{
_out.dec();
_out.dec();
- _out << nl << (!_indexFooter.empty() ? _indexFooter : _footer);
+ _out << nl << (!footer.empty() ? footer : _footer);
_out << nl;
}
@@ -738,23 +725,24 @@ Slice::GeneratorBase::printHeaderFooter(const ContainedPtr& c)
}
path += imageDir + "/";
- prevImage = "<img class=\"" + prevClass + "\" src=\"" + path + prevImage + "\" alt=\"Previous\"/>";
- nextImage = "<img class=\"" + nextClass + "\" src=\"" + path + nextImage + "\" alt=\"Next\"/>";
- upImage = "<img class=\"" + upClass + "\" src=\"" + path + upImage + "\" alt=\"Up\"/>";
- homeImage = "<img class=\"Button\" src=\"" + path + homeImage + "\" alt=\"Home\"/>";
- indexImage = "<img class=\"Button\" src=\"" + path + indexImage + "\" alt=\"Index\"/>";
+ prevImage = "<img class=\"" + prevClass + "\" src=\"" + path + prevImage + "\" alt=\"Previous\">";
+ nextImage = "<img class=\"" + nextClass + "\" src=\"" + path + nextImage + "\" alt=\"Next\">";
+ upImage = "<img class=\"" + upClass + "\" src=\"" + path + upImage + "\" alt=\"Up\">";
+ homeImage = "<img class=\"Button\" src=\"" + path + homeImage + "\" alt=\"Home\">";
+ indexImage = "<img class=\"Button\" src=\"" + path + indexImage + "\" alt=\"Index\">";
}
_out << nl << "<!-- SwishCommand noindex -->";
- start("div", "HeaderFooter");
-
- start("table", "ButtonTable");
+ start("table", "HeaderFooter");
start("tr");
+ start("td align=\"left\"");
+ start("table");
+ start("tr");
start("td");
_out << "<a href=\"" << homeLink << "\">" << homeImage << "</a>";
- end();
+ end(); // td
if(!imageDir.empty() || !isFirst)
{
@@ -805,16 +793,22 @@ Slice::GeneratorBase::printHeaderFooter(const ContainedPtr& c)
_out << "<a href=\"" << indexLink << "\">" << indexImage << "</a>";
end();
- end();
- end();
+ end(); // tr
+ end(); // table
+ end(); // td
+ start("td align=\"center\"");
printSearch();
+ end();
+ start("td align=\"right\"");
printLogo(c, container, onEnumPage);
+ end();
- _out << nl << "<!-- SwishCommand index -->";
+ end(); // tr
+ end(); // table
- end();
+ _out << nl << "<!-- SwishCommand index -->" << nl;
}
void
@@ -822,9 +816,7 @@ Slice::GeneratorBase::printSearch()
{
if(!_searchAction.empty())
{
- _out << nl << "<div style=\"text-align: center;\">";
- _out.inc();
- start("table", "SearchTable");
+ start("table");
start("tr");
start("td");
_out << nl << "<form method=\"get\" action=\"" << _searchAction << "\""
@@ -833,14 +825,12 @@ Slice::GeneratorBase::printSearch()
start("div");
_out << nl << "<input maxlength=\"100\" value=\"\" type=\"text\" name=\"query\">";
_out << nl << "<input type=\"submit\" value=\"Search\" name=\"submit\">";
- end();
_out.dec();
- _out << nl << "</form>";
end();
- end();
- end();
- _out.dec();
- _out << nl << "</div>";
+ _out << nl << "</form>";
+ end(); // td
+ end(); // tr
+ end(); // table
}
}
@@ -863,7 +853,7 @@ Slice::GeneratorBase::printLogo(const ContainedPtr& c, const ContainerPtr& conta
{
_out << "<a href=\"" + _logoURL + "\">";
}
- _out << "<img class=\"Logo\" src=\"" + path + "\" alt=\"Logo\"/>";
+ _out << "<img class=\"Logo\" src=\"" + path + "\" alt=\"Logo\">";
if(!_logoURL.empty())
{
_out << "</a>";
@@ -1114,7 +1104,7 @@ Slice::GeneratorBase::getComment(const ContainedPtr& contained, const ContainerP
comment += toString(literal, container, false, forIndex, summary ? &sz : 0);
summarySize += sz;
}
- else if(summary && s[i] == '.' && (i + 1 >= s.size() || isspace(s[i + 1])))
+ else if(summary && s[i] == '.' && (i + 1 >= s.size() || isspace(static_cast<unsigned char>(s[i + 1]))))
{
comment += '.';
++summarySize;
@@ -1258,14 +1248,14 @@ Slice::GeneratorBase::getLogoURL()
void
Slice::GeneratorBase::openStream(const string& path)
{
- SignalHandler::addFile(path);
-
_out.open(path.c_str());
if(!_out.isOpen())
{
- string err = "cannot open `" + path + "' for writing";
- throw err;
+ ostringstream os;
+ os << "cannot open file `" << path << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(path);
}
void
@@ -1466,18 +1456,28 @@ Slice::GeneratorBase::makeDir(const string& dir)
int rc = stat(dir.c_str(), &st);
if(rc == 0)
{
+ if(!(st.st_mode & S_IFDIR))
+ {
+ ostringstream os;
+ os << "failed to create package directory `" << dir
+ << "': file already exists and is not a directory";
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
return;
}
+
#ifdef _WIN32
- rc = mkdir(dir.c_str());
+ rc = _mkdir(dir.c_str());
#else
rc = mkdir(dir.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
#endif
if(rc != 0)
{
- string err = "cannot create directory `" + dir + "'";
- throw err;
+ ostringstream os;
+ os << "cannot create directory `" << dir << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addDirectory(dir);
}
string
@@ -1486,8 +1486,9 @@ Slice::GeneratorBase::readFile(const string& file)
ifstream in(file.c_str());
if(!in)
{
- string err = "cannot open `" + file + "' for reading";
- throw err;
+ ostringstream os;
+ os << "cannot open file `" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
ostringstream result;
@@ -1559,8 +1560,9 @@ Slice::GeneratorBase::readFile(const string& file, string& part1, string& part2)
ifstream in(file.c_str());
if(!in)
{
- string err = "cannot open `" + file + "' for reading";
- throw err;
+ ostringstream os;
+ os << "cannot open file `" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
string line;
@@ -1646,9 +1648,10 @@ Slice::StartPageGenerator::generate(const ModulePtr& m)
void
Slice::StartPageGenerator::printHeaderFooter()
{
- start("div", "HeaderFooter");
-
- start("table", "ButtonTable");
+ start("table", "HeaderFooter");
+ start("tr");
+ start("td align=\"left\"");
+ start("table");
start("tr");
start("td");
string imageDir = getImageDir();
@@ -1659,17 +1662,21 @@ Slice::StartPageGenerator::printHeaderFooter()
else
{
string src = imageDir + "/index.gif";
- _out << "<a href=\"_sindex.html\"><img class=\"Button\" src=\"" + src + "\" alt=\"Index Button\"/></a>";
+ _out << "<a href=\"_sindex.html\"><img class=\"Button\" src=\"" + src + "\" alt=\"Index Button\"></a>";
}
- end();
- end();
- end();
+ end(); // td
+ end(); // tr
+ end(); // table
+ end(); // td
+ start("td align=\"center\"");
printSearch();
+ end(); // td
if(!imageDir.empty())
{
- start("table", "LogoTable");
+ start("td align=\"right\"");
+ start("table");
start("tr");
start("td");
string logoURL = getLogoURL();
@@ -1677,17 +1684,19 @@ Slice::StartPageGenerator::printHeaderFooter()
{
_out << "<a href=\"" + logoURL + "\">";
}
- _out << "<img class=\"Logo\" src=\"" + imageDir + "/logo.gif\" alt=\"Logo\"/>";
+ _out << "<img class=\"Logo\" src=\"" + imageDir + "/logo.gif\" alt=\"Logo\">";
if(!logoURL.empty())
{
_out << "</a>";
}
- end();
- end();
- end();
+ end(); // td
+ end(); // tr
+ end(); // table
+ end(); // td
}
- end();
+ end(); // tr
+ end(); // table
}
Slice::FileVisitor::FileVisitor(Files& files)
@@ -1774,6 +1783,7 @@ Slice::StartPageVisitor::visitModuleStart(const ModulePtr& m)
TOCGenerator::TOCGenerator(const Files& files, const string& header, const string& footer)
: GeneratorBase(_out, files)
{
+ _footer = footer;
openDoc("_sindex.html", "Slice API Index", header, footer);
start("h1");
@@ -1820,7 +1830,8 @@ TOCGenerator::writeTOC()
_symbols.sort();
_symbols.unique();
- closeDoc();
+ string f = getFooter(_footer);
+ closeDoc(getFooter(_footer));
}
const ContainedList&
diff --git a/cpp/src/slice2html/Gen.h b/cpp/src/slice2html/Gen.h
index 3709c515495..776035b96bf 100644
--- a/cpp/src/slice2html/Gen.h
+++ b/cpp/src/slice2html/Gen.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.
@@ -45,7 +45,7 @@ protected:
void openDoc(const ::std::string&, const std::string&, const std::string& = "", const std::string& = "");
void openDoc(const ContainedPtr&);
- void closeDoc();
+ void closeDoc(const std::string& = "");
void start(const ::std::string&, const ::std::string& = ::std::string());
void end();
@@ -70,6 +70,8 @@ protected:
static ::std::string getImageDir();
static ::std::string getLogoURL();
+ static ::std::string getFooter(const ::std::string&);
+
::IceUtilInternal::XMLOutput& _out;
static size_t _indexCount;
@@ -89,7 +91,6 @@ private:
static ::std::string readFile(const ::std::string&);
static void readFile(const ::std::string&, ::std::string&, ::std::string&);
static void getHeaders(const ::std::string&, ::std::string&, ::std::string&);
- static ::std::string getFooter(const ::std::string&);
::std::string _indexFooter;
const Files _files;
@@ -171,6 +172,7 @@ private:
void writeEntry(const ContainedPtr&);
+ ::std::string _footer;
ModuleList _modules;
ContainedList _symbols;
::IceUtilInternal::XMLOutput _out;
diff --git a/cpp/src/slice2html/Main.cpp b/cpp/src/slice2html/Main.cpp
index d7a3b1911bc..dad5663fdba 100644
--- a/cpp/src/slice2html/Main.cpp
+++ b/cpp/src/slice2html/Main.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.
@@ -8,8 +8,10 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
#include <stdlib.h>
@@ -17,6 +19,17 @@ using namespace std;
using namespace Slice;
using namespace IceUtil;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
void
usage(const char* n)
{
@@ -88,7 +101,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -173,7 +186,8 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
- SignalHandler sigHandler;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
for(vector<string>::size_type idx = 0; idx < args.size(); ++idx)
{
@@ -207,6 +221,15 @@ main(int argc, char* argv[])
p->destroy();
return EXIT_FAILURE;
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ return EXIT_FAILURE;
+ }
+ }
}
if(status == EXIT_SUCCESS && !preprocess)
@@ -216,13 +239,24 @@ main(int argc, char* argv[])
Slice::generate(p, output, header, footer, indexHeader, indexFooter, imageDir, logoURL,
searchAction, indexCount, summaryCount);
}
+ catch(const Slice::FileException& ex)
+ {
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ p->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
+ }
catch(const string& err)
{
+ FileTracker::instance()->cleanup();
cerr << argv[0] << ": " << err << endl;
status = EXIT_FAILURE;
}
catch(const char* err)
{
+ FileTracker::instance()->cleanup();
cerr << argv[0] << ": " << err << endl;
status = EXIT_FAILURE;
}
@@ -230,5 +264,15 @@ main(int argc, char* argv[])
p->destroy();
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
+
return status;
}
diff --git a/cpp/src/slice2html/Makefile b/cpp/src/slice2html/Makefile
index 35a63746164..cb067765af3 100644
--- a/cpp/src/slice2html/Makefile
+++ b/cpp/src/slice2html/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/src/slice2html/Makefile.mak b/cpp/src/slice2html/Makefile.mak
index 9f1bd789fc1..4b5e9383392 100644
--- a/cpp/src/slice2html/Makefile.mak
+++ b/cpp/src/slice2html/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/src/slice2html/Slice2Html.rc b/cpp/src/slice2html/Slice2Html.rc
index 3efd33351f4..bd2e770ce9b 100644
--- a/cpp/src/slice2html/Slice2Html.rc
+++ b/cpp/src/slice2html/Slice2Html.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To HTML Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2html\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", "slice2html.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2java/.depend b/cpp/src/slice2java/.depend
index 07a9fd98908..e140be10882 100644
--- a/cpp/src/slice2java/.depend
+++ b/cpp/src/slice2java/.depend
@@ -1,2 +1,2 @@
Gen$(OBJEXT): Gen.cpp $(includedir)/IceUtil/DisableWarnings.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Slice/JavaUtil.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Checksum.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Iterator.h
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/SignalHandler.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/Slice/JavaUtil.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Checksum.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/Slice/Preprocessor.h ./Gen.h $(includedir)/Slice/Parser.h $(includedir)/Slice/JavaUtil.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/Checksum.h
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 974d0b6e647..ab9cc42aed4 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.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.
@@ -1279,11 +1279,7 @@ Slice::Gen::writeChecksumClass(const string& checksumClass, const string& dir, c
// Attempt to open the source file for the checksum class.
//
JavaOutput out;
- if(!out.openClass(checksumClass, dir))
- {
- cerr << "can't open class `" << checksumClass << "' for writing: " << strerror(errno) << endl;
- return;
- }
+ out.openClass(checksumClass, dir);
//
// Get the class name.
@@ -1383,10 +1379,7 @@ Slice::Gen::OpsVisitor::writeOperations(const ClassDefPtr& p, bool noCurrent)
}
string absolute = getAbsolute(p, "", "_", opIntfName);
- if(!open(absolute))
- {
- return;
- }
+ open(absolute);
Output& out = output();
@@ -1507,10 +1500,7 @@ Slice::Gen::TieVisitor::visitClassDefStart(const ClassDefPtr& p)
return false;
}
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -1693,11 +1683,7 @@ Slice::Gen::PackageVisitor::visitModuleStart(const ModulePtr& p)
{
string markerClass = s.substr(packagePrefix.size()) + "." + fixKwd(p->name()) + "._Marker";
- if(!open(markerClass))
- {
- cerr << "can't open class `" << markerClass << "' for writing: " << strerror(errno) << endl;
- return false;
- }
+ open(markerClass);
Output& out = output();
out << sp << nl << "interface _Marker";
@@ -1733,10 +1719,7 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p)
DataMemberList allDataMembers = p->allDataMembers();
DataMemberList::const_iterator d;
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -1951,10 +1934,7 @@ Slice::Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p)
DataMemberList members = p->dataMembers();
DataMemberList::const_iterator d;
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -2285,10 +2265,7 @@ Slice::Gen::TypesVisitor::visitStructStart(const StructPtr& p)
string name = fixKwd(p->name());
string absolute = getAbsolute(p);
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -2670,7 +2647,7 @@ Slice::Gen::TypesVisitor::visitDataMember(const DataMemberPtr& p)
if(p->hasMetaData(_getSetMetaData) || contained->hasMetaData(_getSetMetaData))
{
string capName = p->name();
- capName[0] = toupper(capName[0]);
+ capName[0] = toupper(static_cast<unsigned char>(capName[0]));
//
// If container is a class, get all of its operations so that we can check for conflicts.
@@ -2809,10 +2786,7 @@ Slice::Gen::TypesVisitor::visitEnum(const EnumPtr& p)
EnumeratorList::const_iterator en;
size_t sz = enumerators.size();
- if(!open(absolute))
- {
- return;
- }
+ open(absolute);
Output& out = output();
@@ -3035,10 +3009,8 @@ Slice::Gen::TypesVisitor::visitConst(const ConstPtr& p)
string absolute = getAbsolute(p);
TypePtr type = p->type();
- if(!open(absolute))
- {
- return;
- }
+ open(absolute);
+
Output& out = output();
out << sp << nl << "public interface " << name;
out << sb;
@@ -3057,7 +3029,7 @@ Slice::Gen::TypesVisitor::visitConst(const ConstPtr& p)
const string val = p->value();
for(string::const_iterator c = val.begin(); c != val.end(); ++c)
{
- if(isascii(*c) && isprint(*c))
+ if(isascii(static_cast<unsigned char>(*c)) && isprint(static_cast<unsigned char>(*c)))
{
switch(*c)
{
@@ -3188,22 +3160,20 @@ Slice::Gen::HolderVisitor::visitClassDefStart(const ClassDefPtr& p)
string name = p->name();
string absolute = getAbsolute(p, "", "", "PrxHolder");
- if(open(absolute))
- {
- Output& out = output();
- out << sp << nl << "public final class " << name << "PrxHolder";
- out << sb;
- out << sp << nl << "public" << nl << name << "PrxHolder()";
- out << sb;
- out << eb;
- out << sp << nl << "public" << nl << name << "PrxHolder(" << name << "Prx value)";
- out << sb;
- out << nl << "this.value = value;";
- out << eb;
- out << sp << nl << "public " << name << "Prx value;";
- out << eb;
- close();
- }
+ open(absolute);
+ Output& out = output();
+ out << sp << nl << "public final class " << name << "PrxHolder";
+ out << sb;
+ out << sp << nl << "public" << nl << name << "PrxHolder()";
+ out << sb;
+ out << eb;
+ out << sp << nl << "public" << nl << name << "PrxHolder(" << name << "Prx value)";
+ out << sb;
+ out << nl << "this.value = value;";
+ out << eb;
+ out << sp << nl << "public " << name << "Prx value;";
+ out << eb;
+ close();
}
return false;
@@ -3242,68 +3212,66 @@ Slice::Gen::HolderVisitor::writeHolder(const TypePtr& p)
string name = contained->name();
string absolute = getAbsolute(contained, "", "", "Holder");
- if(open(absolute))
+ open(absolute);
+ Output& out = output();
+ string typeS = typeToString(p, TypeModeIn, getPackage(contained));
+ out << sp << nl << "public final class " << name << "Holder";
+ out << sb;
+ out << sp << nl << "public" << nl << name << "Holder()";
+ out << sb;
+ out << eb;
+ out << sp << nl << "public" << nl << name << "Holder(" << typeS << " value)";
+ out << sb;
+ out << nl << "this.value = value;";
+ out << eb;
+ if(!p->isLocal())
{
- Output& out = output();
- string typeS = typeToString(p, TypeModeIn, getPackage(contained));
- out << sp << nl << "public final class " << name << "Holder";
- out << sb;
- out << sp << nl << "public" << nl << name << "Holder()";
- out << sb;
- out << eb;
- out << sp << nl << "public" << nl << name << "Holder(" << typeS << " value)";
- out << sb;
- out << nl << "this.value = value;";
- out << eb;
- if(!p->isLocal())
+ BuiltinPtr builtin = BuiltinPtr::dynamicCast(p);
+ if((builtin && builtin->kind() == Builtin::KindObject) || ClassDeclPtr::dynamicCast(p))
{
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(p);
- if((builtin && builtin->kind() == Builtin::KindObject) || ClassDeclPtr::dynamicCast(p))
+ out << sp << nl << "public class Patcher implements IceInternal.Patcher";
+ if(_stream)
{
- out << sp << nl << "public class Patcher implements IceInternal.Patcher";
- if(_stream)
- {
- out << ", Ice.ReadObjectCallback";
- }
- out << sb;
- out << nl << "public void";
- out << nl << "patch(Ice.Object v)";
- out << sb;
- out << nl << "try";
- out << sb;
- out << nl << "value = (" << typeS << ")v;";
- out << eb;
- out << nl << "catch(ClassCastException ex)";
- out << sb;
- out << nl << "IceInternal.Ex.throwUOE(type(), v.ice_id());";
- out << eb;
- out << eb;
-
- out << sp << nl << "public String" << nl << "type()";
- out << sb;
- out << nl << "return \"" << p->typeId() << "\";";
- out << eb;
+ out << ", Ice.ReadObjectCallback";
+ }
+ out << sb;
+ out << nl << "public void";
+ out << nl << "patch(Ice.Object v)";
+ out << sb;
+ out << nl << "try";
+ out << sb;
+ out << nl << "value = (" << typeS << ")v;";
+ out << eb;
+ out << nl << "catch(ClassCastException ex)";
+ out << sb;
+ out << nl << "IceInternal.Ex.throwUOE(type(), v.ice_id());";
+ out << eb;
+ out << eb;
- if(_stream)
- {
- out << sp << nl << "public void" << nl << "invoke(Ice.Object v)";
- out << sb;
- out << nl << "patch(v);";
- out << eb;
- }
- out << eb;
+ out << sp << nl << "public String" << nl << "type()";
+ out << sb;
+ out << nl << "return \"" << p->typeId() << "\";";
+ out << eb;
- out << sp << nl << "public Patcher";
- out << nl << "getPatcher()";
+ if(_stream)
+ {
+ out << sp << nl << "public void" << nl << "invoke(Ice.Object v)";
out << sb;
- out << nl << "return new Patcher();";
+ out << nl << "patch(v);";
out << eb;
}
+ out << eb;
+
+ out << sp << nl << "public Patcher";
+ out << nl << "getPatcher()";
+ out << sb;
+ out << nl << "return new Patcher();";
+ out << eb;
}
- out << sp << nl << "public " << typeS << " value;";
- out << eb;
- close();
}
+ out << sp << nl << "public " << typeS << " value;";
+ out << eb;
+ close();
}
Slice::Gen::HelperVisitor::HelperVisitor(const string& dir, bool stream) :
@@ -3328,10 +3296,7 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p);
- if(!open(getAbsolute(p, "", "", "PrxHelper")))
- {
- return false;
- }
+ open(getAbsolute(p, "", "", "PrxHelper"));
Output& out = output();
@@ -3698,10 +3663,7 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p)
//
// Class helper.
//
- if(!open(getAbsolute(p, "", "", "Helper")))
- {
- return false;
- }
+ open(getAbsolute(p, "", "", "Helper"));
Output& out2 = output();
@@ -3733,10 +3695,7 @@ Slice::Gen::HelperVisitor::visitStructStart(const StructPtr& p)
string name = p->name();
string fixedName = fixKwd(name);
- if(!open(getAbsolute(p, "", "", "Helper")))
- {
- return false;
- }
+ open(getAbsolute(p, "", "", "Helper"));
Output& out = output();
@@ -3779,48 +3738,46 @@ Slice::Gen::HelperVisitor::visitSequence(const SequencePtr& p)
string package = getPackage(p);
string typeS = typeToString(p, TypeModeIn, package);
- if(open(helper))
- {
- Output& out = output();
- int iter;
+ open(helper);
+ Output& out = output();
+ int iter;
- out << sp << nl << "public final class " << name << "Helper";
- out << sb;
+ out << sp << nl << "public final class " << name << "Helper";
+ out << sb;
- out << nl << "public static void" << nl << "write(IceInternal.BasicStream __os, " << typeS << " __v)";
+ out << nl << "public static void" << nl << "write(IceInternal.BasicStream __os, " << typeS << " __v)";
+ out << sb;
+ iter = 0;
+ writeSequenceMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
+ out << eb;
+
+ out << sp << nl << "public static " << typeS << nl << "read(IceInternal.BasicStream __is)";
+ out << sb;
+ out << nl << typeS << " __v;";
+ iter = 0;
+ writeSequenceMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
+ out << nl << "return __v;";
+ out << eb;
+
+ if(_stream)
+ {
+ out << sp << nl << "public static void" << nl << "write(Ice.OutputStream __outS, " << typeS << " __v)";
out << sb;
iter = 0;
- writeSequenceMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
+ writeStreamSequenceMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
out << eb;
- out << sp << nl << "public static " << typeS << nl << "read(IceInternal.BasicStream __is)";
+ out << sp << nl << "public static " << typeS << nl << "read(Ice.InputStream __inS)";
out << sb;
out << nl << typeS << " __v;";
iter = 0;
- writeSequenceMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
+ writeStreamSequenceMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
out << nl << "return __v;";
out << eb;
-
- if(_stream)
- {
- out << sp << nl << "public static void" << nl << "write(Ice.OutputStream __outS, " << typeS << " __v)";
- out << sb;
- iter = 0;
- writeStreamSequenceMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
- out << eb;
-
- out << sp << nl << "public static " << typeS << nl << "read(Ice.InputStream __inS)";
- out << sb;
- out << nl << typeS << " __v;";
- iter = 0;
- writeStreamSequenceMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
- out << nl << "return __v;";
- out << eb;
- }
-
- out << eb;
- close();
}
+
+ out << eb;
+ close();
}
void
@@ -3844,51 +3801,49 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
StringList metaData = p->getMetaData();
string formalType = typeToString(p, TypeModeIn, package, StringList(), true);
- if(open(helper))
- {
- Output& out = output();
- int iter;
+ open(helper);
+ Output& out = output();
+ int iter;
- out << sp << nl << "public final class " << name << "Helper";
- out << sb;
+ out << sp << nl << "public final class " << name << "Helper";
+ out << sb;
- out << nl << "public static void" << nl << "write(IceInternal.BasicStream __os, " << formalType << " __v)";
+ out << nl << "public static void" << nl << "write(IceInternal.BasicStream __os, " << formalType << " __v)";
+ out << sb;
+ iter = 0;
+ writeDictionaryMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
+ out << eb;
+
+ out << sp << nl << "public static " << formalType
+ << nl << "read(IceInternal.BasicStream __is)";
+ out << sb;
+ out << nl << formalType << " __v;";
+ iter = 0;
+ writeDictionaryMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
+ out << nl << "return __v;";
+ out << eb;
+
+ if(_stream)
+ {
+ out << sp << nl << "public static void" << nl << "write(Ice.OutputStream __outS, " << formalType
+ << " __v)";
out << sb;
iter = 0;
- writeDictionaryMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
+ writeStreamDictionaryMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
out << eb;
out << sp << nl << "public static " << formalType
- << nl << "read(IceInternal.BasicStream __is)";
+ << nl << "read(Ice.InputStream __inS)";
out << sb;
out << nl << formalType << " __v;";
iter = 0;
- writeDictionaryMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
+ writeStreamDictionaryMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
out << nl << "return __v;";
out << eb;
-
- if(_stream)
- {
- out << sp << nl << "public static void" << nl << "write(Ice.OutputStream __outS, " << formalType
- << " __v)";
- out << sb;
- iter = 0;
- writeStreamDictionaryMarshalUnmarshalCode(out, package, p, "__v", true, iter, false);
- out << eb;
-
- out << sp << nl << "public static " << formalType
- << nl << "read(Ice.InputStream __inS)";
- out << sb;
- out << nl << formalType << " __v;";
- iter = 0;
- writeStreamDictionaryMarshalUnmarshalCode(out, package, p, "__v", false, iter, false);
- out << nl << "return __v;";
- out << eb;
- }
-
- out << eb;
- close();
}
+
+ out << eb;
+ close();
}
void
@@ -3899,10 +3854,7 @@ Slice::Gen::HelperVisitor::visitEnum(const EnumPtr& p)
string name = p->name();
string fixedName = fixKwd(name);
- if(!open(getAbsolute(p, "", "", "Helper")))
- {
- return;
- }
+ open(getAbsolute(p, "", "", "Helper"));
Output& out = output();
@@ -3942,10 +3894,7 @@ Slice::Gen::ProxyVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "", "Prx");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4076,10 +4025,7 @@ Slice::Gen::DelegateVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "_", "Del");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4154,10 +4100,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "_", "DelM");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4270,7 +4213,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
out << nl << "throw new Ice.UnknownUserException(__ex.ice_name());";
out << eb;
out << eb;
- if(op->returnsData())
+ if(ret || !outParams.empty())
{
out << nl << "IceInternal.BasicStream __is = __og.is();";
out << nl << "__is.startReadEncaps();";
@@ -4358,10 +4301,7 @@ Slice::Gen::DelegateDVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "_", "DelD");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4546,10 +4486,7 @@ Slice::Gen::DispatcherVisitor::visitClassDefStart(const ClassDefPtr& p)
ClassList bases = p->bases();
string absolute = getAbsolute(p, "", "_", "Disp");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4844,10 +4781,7 @@ Slice::Gen::ImplVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "", "I");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -4905,10 +4839,7 @@ Slice::Gen::ImplTieVisitor::visitClassDefStart(const ClassDefPtr& p)
string package = getPackage(p);
string absolute = getAbsolute(p, "", "", "I");
- if(!open(absolute))
- {
- return false;
- }
+ open(absolute);
Output& out = output();
@@ -5005,10 +4936,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
string classNameAMI = "AMI_" + cl->name();
string absoluteAMI = getAbsolute(cl, "", "AMI_", "_" + name);
- if(!open(absoluteAMI))
- {
- return;
- }
+ open(absoluteAMI);
Output& out = output();
@@ -5150,7 +5078,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
out << nl << "throw new Ice.UnknownUserException(__ex.ice_name());";
out << eb;
out << eb;
- if(p->returnsData())
+ if(ret || !outParams.empty())
{
out << nl << "__is.startReadEncaps();";
for(pli = outParams.begin(); pli != outParams.end(); ++pli)
@@ -5235,10 +5163,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
vector<string> paramsAMD = getParamsAsyncCB(p, classPkg);
{
- if(!open(absoluteAMD))
- {
- return;
- }
+ open(absoluteAMD);
Output& out = output();
@@ -5252,10 +5177,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
}
{
- if(!open(absoluteAMDI))
- {
- return;
- }
+ open(absoluteAMDI);
Output& out = output();
diff --git a/cpp/src/slice2java/Gen.h b/cpp/src/slice2java/Gen.h
index 82a2e9b1f1c..161a837872c 100644
--- a/cpp/src/slice2java/Gen.h
+++ b/cpp/src/slice2java/Gen.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/src/slice2java/Main.cpp b/cpp/src/slice2java/Main.cpp
index 1b16f9ddb14..7439180b8f2 100644
--- a/cpp/src/slice2java/Main.cpp
+++ b/cpp/src/slice2java/Main.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.
@@ -8,8 +8,10 @@
// **********************************************************************
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
-#include <Slice/SignalHandler.h>
+#include <Slice/FileTracker.h>
#include <Gen.h>
#ifdef __BCPLUSPLUS__
@@ -19,6 +21,17 @@
using namespace std;
using namespace Slice;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
+
+void
+interruptedCallback(int signal)
+{
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
+}
+
void
usage(const char* n)
{
@@ -88,7 +101,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -174,14 +187,18 @@ main(int argc, char* argv[])
ChecksumMap checksums;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
+
for(i = args.begin(); i != args.end(); ++i)
{
- SignalHandler sigHandler;
-
if(depend)
{
Preprocessor icecpp(argv[0], *i, cppArgs);
- icecpp.printMakefileDependencies(Preprocessor::Java, includePaths);
+ if(!icecpp.printMakefileDependencies(Preprocessor::Java, includePaths))
+ {
+ return EXIT_FAILURE;
+ }
}
else
{
@@ -218,49 +235,84 @@ main(int argc, char* argv[])
p->destroy();
return EXIT_FAILURE;
}
-
+
if(parseStatus == EXIT_FAILURE)
{
status = EXIT_FAILURE;
}
else
{
- Gen gen(argv[0], icecpp.getBaseName(), includePaths, output);
- if(!gen)
- {
- p->destroy();
- return EXIT_FAILURE;
- }
- gen.generate(p, stream);
- if(tie)
+ try
{
- gen.generateTie(p);
+ Gen gen(argv[0], icecpp.getBaseName(), includePaths, output);
+ if(!gen)
+ {
+ p->destroy();
+ return EXIT_FAILURE;
+ }
+ gen.generate(p, stream);
+ if(tie)
+ {
+ gen.generateTie(p);
+ }
+ if(impl)
+ {
+ gen.generateImpl(p);
+ }
+ if(implTie)
+ {
+ gen.generateImplTie(p);
+ }
+ if(!checksumClass.empty())
+ {
+ //
+ // Calculate checksums for the Slice definitions in the unit.
+ //
+ ChecksumMap m = createChecksums(p);
+ copy(m.begin(), m.end(), inserter(checksums, checksums.begin()));
+ }
}
- if(impl)
+ catch(const Slice::FileException& ex)
{
- gen.generateImpl(p);
- }
- if(implTie)
- {
- gen.generateImplTie(p);
- }
- if(!checksumClass.empty())
- {
- //
- // Calculate checksums for the Slice definitions in the unit.
- //
- ChecksumMap m = createChecksums(p);
- copy(m.begin(), m.end(), inserter(checksums, checksums.begin()));
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
+ p->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
}
}
p->destroy();
}
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ // If the translator was interrupted, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
}
if(!checksumClass.empty())
{
- Gen::writeChecksumClass(checksumClass, output, checksums, java2);
+ try
+ {
+ Gen::writeChecksumClass(checksumClass, output, checksums, java2);
+ }
+ catch(const Slice::FileException& ex)
+ {
+ // If a file could not be created, then
+ // cleanup any created files.
+ FileTracker::instance()->cleanup();
+ cerr << argv[0] << ": " << ex.reason() << endl;
+ return EXIT_FAILURE;
+ }
}
return status;
diff --git a/cpp/src/slice2java/Makefile b/cpp/src/slice2java/Makefile
index 5708159b603..ede06823f73 100644
--- a/cpp/src/slice2java/Makefile
+++ b/cpp/src/slice2java/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/src/slice2java/Makefile.mak b/cpp/src/slice2java/Makefile.mak
index 89e6f17751c..4a16bbb3b56 100644
--- a/cpp/src/slice2java/Makefile.mak
+++ b/cpp/src/slice2java/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/src/slice2java/Slice2Java.rc b/cpp/src/slice2java/Slice2Java.rc
index 46104a0a7e8..5f454c00e63 100644
--- a/cpp/src/slice2java/Slice2Java.rc
+++ b/cpp/src/slice2java/Slice2Java.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Java Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2java\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", "slice2java.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2py/.depend b/cpp/src/slice2py/.depend
index 613cd9bedeb..11436074b75 100644
--- a/cpp/src/slice2py/.depend
+++ b/cpp/src/slice2py/.depend
@@ -1 +1 @@
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/PythonUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/SignalHandler.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/StringUtil.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/PythonUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2py/Main.cpp b/cpp/src/slice2py/Main.cpp
index 226ebea9c86..7343ea9f812 100644
--- a/cpp/src/slice2py/Main.cpp
+++ b/cpp/src/slice2py/Main.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.
@@ -11,9 +11,11 @@
#include <IceUtil/IceUtil.h>
#include <IceUtil/Options.h>
#include <IceUtil/StringUtil.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
+#include <Slice/FileTracker.h>
#include <Slice/PythonUtil.h>
-#include <Slice/SignalHandler.h>
#include <cstring>
#include <fstream>
@@ -33,14 +35,15 @@ using namespace std;
using namespace Slice;
using namespace Slice::Python;
-//
-// Callback for Crtl-C signal handling
-//
-static IceUtilInternal::Output _out;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
-static void closeCallback()
+void
+interruptedCallback(int signal)
{
- _out.close();
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
}
//
@@ -70,7 +73,7 @@ class PackageVisitor : public ParserVisitor
{
public:
- PackageVisitor(const string&, const string&, const string&);
+ PackageVisitor(const string&, const string&);
virtual bool visitModuleStart(const ModulePtr&);
virtual void visitModuleEnd(const ModulePtr&);
@@ -82,15 +85,14 @@ private:
static const char* _moduleTag;
static const char* _submoduleTag;
- bool createDirectory(const string&);
+ void createDirectory(const string&);
- bool addModule(const string&, const string&);
- bool addSubmodule(const string&, const string&);
+ void addModule(const string&, const string&);
+ void addSubmodule(const string&, const string&);
- bool readInit(const string&, StringList&, StringList&);
- bool writeInit(const string&, const StringList&, const StringList&);
+ void readInit(const string&, StringList&, StringList&);
+ void writeInit(const string&, const StringList&, const StringList&);
- string _name;
string _module;
StringList _pathStack;
};
@@ -98,8 +100,8 @@ private:
const char* PackageVisitor::_moduleTag = "# Modules:";
const char* PackageVisitor::_submoduleTag = "# Submodules:";
-PackageVisitor::PackageVisitor(const string& name, const string& module, const string& dir) :
- _name(name), _module(module)
+PackageVisitor::PackageVisitor(const string& module, const string& dir) :
+ _module(module)
{
if(dir.empty())
{
@@ -136,27 +138,18 @@ PackageVisitor::visitModuleStart(const ModulePtr& p)
}
for(vector<string>::iterator q = v.begin(); q != v.end(); ++q)
{
- if(q != v.begin() && !addSubmodule(path, fixIdent(*q)))
+ if(q != v.begin())
{
- return false;
+ addSubmodule(path, fixIdent(*q));
}
path += "/" + *q;
- if(!createDirectory(path))
- {
- return false;
- }
+ createDirectory(path);
- if(!addModule(path, _module))
- {
- return false;
- }
+ addModule(path, _module);
}
- if(!addSubmodule(path, name))
- {
- return false;
- }
+ addSubmodule(path, name);
}
path += "/" + name;
@@ -169,26 +162,20 @@ PackageVisitor::visitModuleStart(const ModulePtr& p)
string parentPath = _pathStack.front();
_pathStack.push_front(path);
- if(!createDirectory(path))
- {
- return false;
- }
+ createDirectory(path);
//
// If necessary, add this module to the set of imported modules in __init__.py.
//
- if(!addModule(path, _module))
- {
- return false;
- }
+ addModule(path, _module);
//
// If this is a submodule, then modify the parent's __init__.py to import us.
//
ModulePtr mod = ModulePtr::dynamicCast(p->container());
- if(mod && !addSubmodule(parentPath, name))
+ if(mod)
{
- return false;
+ addSubmodule(parentPath, name);
}
return true;
@@ -201,75 +188,72 @@ PackageVisitor::visitModuleEnd(const ModulePtr& p)
_pathStack.pop_front();
}
-bool
+void
PackageVisitor::createDirectory(const string& dir)
{
struct stat st;
int result;
result = stat(dir.c_str(), &st);
- if(result != 0)
+ if(result == 0)
{
+ if(!(st.st_mode & S_IFDIR))
+ {
+ ostringstream os;
+ os << "failed to create package directory `" << dir
+ << "': file already exists and is not a directory";
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
+ return;
+ }
#ifdef _WIN32
- result = _mkdir(dir.c_str());
+ result = _mkdir(dir.c_str());
#else
- result = mkdir(dir.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
+ result = mkdir(dir.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
#endif
- if(result != 0)
- {
- cerr << _name << ": unable to create `" << dir << "': " << strerror(errno) << endl;
- return false;
- }
+ if(result != 0)
+ {
+ ostringstream os;
+ os << "cannot create directory `" << dir << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
- return true;
+ FileTracker::instance()->addDirectory(dir);
}
-bool
+void
PackageVisitor::addModule(const string& dir, const string& name)
{
//
// Add a module to the set of imported modules in __init__.py.
//
StringList modules, submodules;
- if(readInit(dir, modules, submodules))
+ readInit(dir, modules, submodules);
+ StringList::iterator p = find(modules.begin(), modules.end(), name);
+ if(p == modules.end())
{
- StringList::iterator p = find(modules.begin(), modules.end(), name);
- if(p == modules.end())
- {
- modules.push_back(name);
- return writeInit(dir, modules, submodules);
- }
-
- return true;
+ modules.push_back(name);
+ writeInit(dir, modules, submodules);
}
-
- return false;
}
-bool
+void
PackageVisitor::addSubmodule(const string& dir, const string& name)
{
//
// Add a submodule to the set of imported modules in __init__.py.
//
StringList modules, submodules;
- if(readInit(dir, modules, submodules))
+ readInit(dir, modules, submodules);
+ StringList::iterator p = find(submodules.begin(), submodules.end(), name);
+ if(p == submodules.end())
{
- StringList::iterator p = find(submodules.begin(), submodules.end(), name);
- if(p == submodules.end())
- {
- submodules.push_back(name);
- return writeInit(dir, modules, submodules);
- }
-
- return true;
+ submodules.push_back(name);
+ writeInit(dir, modules, submodules);
}
-
- return false;
}
-bool
+void
PackageVisitor::readInit(const string& dir, StringList& modules, StringList& submodules)
{
string initPath = dir + "/__init__.py";
@@ -280,8 +264,9 @@ PackageVisitor::readInit(const string& dir, StringList& modules, StringList& sub
ifstream in(initPath.c_str());
if(!in)
{
- cerr << _name << ": unable to open `" << initPath << "': " << strerror(errno) << endl;
- return false;
+ ostringstream os;
+ os << "cannot open file `" << initPath << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
ReadState state = PreModules;
@@ -314,8 +299,9 @@ PackageVisitor::readInit(const string& dir, StringList& modules, StringList& sub
if(s.size() < 8)
{
- cerr << _name << ": invalid line `" << s << "' in `" << initPath << "'" << endl;
- return false;
+ ostringstream os;
+ os << "invalid line `" << s << "' in `" << initPath << "'";
+ throw os.str();
}
string name = s.substr(7);
@@ -332,15 +318,14 @@ PackageVisitor::readInit(const string& dir, StringList& modules, StringList& sub
if(state != InSubmodules)
{
- cerr << _name << ": invalid format in `" << initPath << "'" << endl;
- return false;
+ ostringstream os;
+ os << "invalid format in `" << initPath << "'" << endl;
+ throw os.str();
}
}
-
- return true;
}
-bool
+void
PackageVisitor::writeInit(const string& dir, const StringList& modules, const StringList& submodules)
{
string initPath = dir + "/__init__.py";
@@ -348,8 +333,11 @@ PackageVisitor::writeInit(const string& dir, const StringList& modules, const St
ofstream os(initPath.c_str());
if(!os)
{
- return false;
+ ostringstream os;
+ os << "cannot open file `" << initPath << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
}
+ FileTracker::instance()->addFile(initPath);
StringList::const_iterator p;
@@ -367,8 +355,6 @@ PackageVisitor::writeInit(const string& dir, const StringList& modules, const St
{
os << "import " << *p << endl;
}
-
- return true;
}
void
@@ -434,7 +420,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -485,10 +471,12 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
+
+
for(i = args.begin(); i != args.end(); ++i)
{
- SignalHandler sigHandler;
-
Preprocessor icecpp(argv[0], *i, cppArgs);
FILE* cppHandle = icecpp.preprocess(false);
@@ -547,42 +535,67 @@ main(int argc, char* argv[])
{
file = output + '/' + file;
}
- SignalHandler::addFile(file);
-
- SignalHandler::setCallback(closeCallback);
- _out.open(file.c_str());
- if(!_out)
+ try
+ {
+ IceUtilInternal::Output out;
+ out.open(file.c_str());
+ if(!out)
+ {
+ ostringstream os;
+ os << "cannot open`" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
+ FileTracker::instance()->addFile(file);
+
+ printHeader(out);
+ out << "\n# Generated from file `" << base << ".ice'\n";
+
+ //
+ // Generate the Python mapping.
+ //
+ generate(u, all, checksum, includePaths, out);
+
+ out.close();
+
+ //
+ // Create or update the Python package hierarchy.
+ //
+ if(!noPackage)
+ {
+ PackageVisitor visitor(prefix + base + "_ice", output);
+ u->visit(&visitor, false);
+ }
+ }
+ catch(const Slice::FileException& ex)
{
- cerr << argv[0] << ": can't open `" << file << "' for writing" << endl;
+ // If a file could not be created, then cleanup any
+ // created files.
+ FileTracker::instance()->cleanup();
u->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
return EXIT_FAILURE;
}
-
- printHeader(_out);
- _out << "\n# Generated from file `" << base << ".ice'\n";
-
- //
- // Generate the Python mapping.
- //
- generate(u, all, checksum, includePaths, _out);
-
- _out.close();
- SignalHandler::setCallback(0);
-
- //
- // Create or update the Python package hierarchy.
- //
- if(!noPackage)
+ catch(const string& err)
{
- PackageVisitor visitor(argv[0], prefix + base + "_ice", output);
- u->visit(&visitor, false);
+ FileTracker::instance()->cleanup();
+ cerr << argv[0] << ": " << err << endl;
+ status = EXIT_FAILURE;
}
-
}
u->destroy();
}
+
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
+ }
+ }
}
return status;
diff --git a/cpp/src/slice2py/Makefile b/cpp/src/slice2py/Makefile
index 5686d40cc77..05b3cec5dc5 100644
--- a/cpp/src/slice2py/Makefile
+++ b/cpp/src/slice2py/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/src/slice2py/Makefile.mak b/cpp/src/slice2py/Makefile.mak
index b31812043df..96b024beb14 100644
--- a/cpp/src/slice2py/Makefile.mak
+++ b/cpp/src/slice2py/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/src/slice2py/Slice2Py.rc b/cpp/src/slice2py/Slice2Py.rc
index 7087b550a1e..31db7dfc054 100644
--- a/cpp/src/slice2py/Slice2Py.rc
+++ b/cpp/src/slice2py/Slice2Py.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Python Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2py\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", "slice2py.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/src/slice2rb/.depend b/cpp/src/slice2rb/.depend
index 19468433845..09e8a2d1ceb 100644
--- a/cpp/src/slice2rb/.depend
+++ b/cpp/src/slice2rb/.depend
@@ -1 +1 @@
-Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/RubyUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h $(includedir)/Slice/SignalHandler.h
+Main$(OBJEXT): Main.cpp $(includedir)/IceUtil/DisableWarnings.h $(includedir)/IceUtil/Options.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/Slice/Preprocessor.h $(includedir)/Slice/RubyUtil.h $(includedir)/Slice/Parser.h $(includedir)/IceUtil/OutputUtil.h
diff --git a/cpp/src/slice2rb/Main.cpp b/cpp/src/slice2rb/Main.cpp
index da01726693a..2cdd6ec4982 100644
--- a/cpp/src/slice2rb/Main.cpp
+++ b/cpp/src/slice2rb/Main.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.
@@ -9,9 +9,11 @@
#include <IceUtil/DisableWarnings.h>
#include <IceUtil/Options.h>
+#include <IceUtil/CtrlCHandler.h>
+#include <IceUtil/StaticMutex.h>
#include <Slice/Preprocessor.h>
+#include <Slice/FileTracker.h>
#include <Slice/RubyUtil.h>
-#include <Slice/SignalHandler.h>
#include <fstream>
@@ -26,18 +28,21 @@
#include <unistd.h>
#endif
+#include <string.h>
+
using namespace std;
using namespace Slice;
using namespace Slice::Ruby;
-//
-// Callback for Crtl-C signal handling
-//
-static IceUtilInternal::Output _out;
+static IceUtil::StaticMutex _mutex = ICE_STATIC_MUTEX_INITIALIZER;
+static bool _interrupted = false;
-static void closeCallback()
+void
+interruptedCallback(int signal)
{
- _out.close();
+ IceUtil::StaticMutex::Lock lock(_mutex);
+
+ _interrupted = true;
}
void
@@ -99,7 +104,7 @@ main(int argc, char* argv[])
if(opts.isSet("version"))
{
- cout << ICE_STRING_VERSION << endl;
+ cerr << ICE_STRING_VERSION << endl;
return EXIT_SUCCESS;
}
@@ -146,9 +151,11 @@ main(int argc, char* argv[])
int status = EXIT_SUCCESS;
+ IceUtil::CtrlCHandler ctrlCHandler;
+ ctrlCHandler.setCallback(interruptedCallback);
+
for(i = args.begin(); i != args.end(); ++i)
{
- SignalHandler sigHandler;
Preprocessor icecpp(argv[0], *i, cppArgs);
FILE* cppHandle = icecpp.preprocess(false);
@@ -202,31 +209,51 @@ main(int argc, char* argv[])
{
file = output + '/' + file;
}
- SignalHandler::addFile(file);
-
- SignalHandler::setCallback(closeCallback);
- _out.open(file.c_str());
- if(!_out)
+ try
+ {
+ IceUtilInternal::Output out;
+ out.open(file.c_str());
+ if(!out)
+ {
+ ostringstream os;
+ os << "cannot open`" << file << "': " << strerror(errno);
+ throw FileException(__FILE__, __LINE__, os.str());
+ }
+ FileTracker::instance()->addFile(file);
+
+ printHeader(out);
+ out << "\n# Generated from file `" << base << ".ice'\n";
+
+ //
+ // Generate the Ruby mapping.
+ //
+ generate(u, all, checksum, includePaths, out);
+
+ out.close();
+ }
+ catch(const Slice::FileException& ex)
{
- cerr << argv[0] << ": can't open `" << file << "' for writing" << endl;
+ // If a file could not be created, then cleanup
+ // any created files.
+ FileTracker::instance()->cleanup();
u->destroy();
+ cerr << argv[0] << ": " << ex.reason() << endl;
return EXIT_FAILURE;
}
+ }
- printHeader(_out);
- _out << "\n# Generated from file `" << base << ".ice'\n";
+ u->destroy();
+ }
- //
- // Generate the Ruby mapping.
- //
- generate(u, all, checksum, includePaths, _out);
+ {
+ IceUtil::StaticMutex::Lock lock(_mutex);
- _out.close();
- SignalHandler::setCallback(0);
+ if(_interrupted)
+ {
+ FileTracker::instance()->cleanup();
+ return EXIT_FAILURE;
}
-
- u->destroy();
}
}
diff --git a/cpp/src/slice2rb/Makefile b/cpp/src/slice2rb/Makefile
index 18befed6fbe..b579160e246 100644
--- a/cpp/src/slice2rb/Makefile
+++ b/cpp/src/slice2rb/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/src/slice2rb/Makefile.mak b/cpp/src/slice2rb/Makefile.mak
index 0de8e886a72..723f75de9bd 100644
--- a/cpp/src/slice2rb/Makefile.mak
+++ b/cpp/src/slice2rb/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/src/slice2rb/Slice2Rb.rc b/cpp/src/slice2rb/Slice2Rb.rc
index f2bf03920d2..6ff1a72c82a 100644
--- a/cpp/src/slice2rb/Slice2Rb.rc
+++ b/cpp/src/slice2rb/Slice2Rb.rc
@@ -1,8 +1,8 @@
#include "winver.h"
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,3,0,0
- PRODUCTVERSION 3,3,0,0
+ FILEVERSION 3,3,1,0
+ PRODUCTVERSION 3,3,1,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG
@@ -19,12 +19,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "ZeroC, Inc.\0"
VALUE "FileDescription", "Slice To Ruby Translator\0"
- VALUE "FileVersion", "3.3.0\0"
+ VALUE "FileVersion", "3.3.1\0"
VALUE "InternalName", "slice2rb\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", "slice2rb.exe\0"
VALUE "ProductName", "Ice\0"
- VALUE "ProductVersion", "3.3.0\0"
+ VALUE "ProductVersion", "3.3.1\0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/test/Freeze/Makefile b/cpp/test/Freeze/Makefile
index ebd1b9f50e6..6e65f762262 100644
--- a/cpp/test/Freeze/Makefile
+++ b/cpp/test/Freeze/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/test/Freeze/Makefile.mak b/cpp/test/Freeze/Makefile.mak
index 9f380803dcc..8c3fbde6bd0 100644
--- a/cpp/test/Freeze/Makefile.mak
+++ b/cpp/test/Freeze/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/test/Freeze/complex/.gitignore b/cpp/test/Freeze/complex/.gitignore
index 24458ea8bfc..c1641d6cf02 100644
--- a/cpp/test/Freeze/complex/.gitignore
+++ b/cpp/test/Freeze/complex/.gitignore
@@ -6,7 +6,4 @@ Complex.cpp
Complex.h
ComplexDict.h
ComplexDict.cpp
-Grammar.cpp
-Grammar.h
-Scanner.cpp
db/*
diff --git a/cpp/test/Freeze/complex/Client.cpp b/cpp/test/Freeze/complex/Client.cpp
index 60620c526b1..30bb7e6d17a 100644
--- a/cpp/test/Freeze/complex/Client.cpp
+++ b/cpp/test/Freeze/complex/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/test/Freeze/complex/Complex.ice b/cpp/test/Freeze/complex/Complex.ice
index a0de74cda1c..c484cc4c23f 100644
--- a/cpp/test/Freeze/complex/Complex.ice
+++ b/cpp/test/Freeze/complex/Complex.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/test/Freeze/complex/Grammar.cpp b/cpp/test/Freeze/complex/Grammar.cpp
new file mode 100644
index 00000000000..d80355cfbe4
--- /dev/null
+++ b/cpp/test/Freeze/complex/Grammar.cpp
@@ -0,0 +1,1261 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Written by Richard Stallman by simplifying the original so called
+ ``semantic'' parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 1
+
+/* Using locations. */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_NUMBER = 258
+ };
+#endif
+#define TOK_NUMBER 258
+
+
+
+
+/* Copy the first part of user declarations. */
+#line 1 "Grammar.y"
+
+
+// **********************************************************************
+//
+// 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 <NodeI.h>
+#include <Parser.h>
+
+#ifdef _MSC_VER
+// I get these warnings from some bison versions:
+// warning C4102: 'yyoverflowlab' : unreferenced label
+# pragma warning( disable : 4102 )
+// warning C4065: switch statement contains 'default' but no 'case' labels
+# pragma warning( disable : 4065 )
+#endif
+
+using namespace std;
+using namespace Ice;
+
+void
+yyerror(const char* s)
+{
+ parser->error(s);
+}
+
+
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations. */
+
+
+/* Line 214 of yacc.c. */
+#line 126 "Grammar.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+# define YYFREE free
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# define YYSTACK_ALLOC alloca
+# endif
+# else
+# if defined (alloca) || defined (_ALLOCA_H)
+# define YYSTACK_ALLOC alloca
+# else
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's `empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+ && (! defined (__cplusplus) \
+ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ short yyss;
+ YYSTYPE yyvs;
+ };
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined (__GNUC__) && 1 < __GNUC__
+# define YYCOPY(To, From, Count) \
+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+# else
+# define YYCOPY(To, From, Count) \
+ do \
+ { \
+ register YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (To)[yyi] = (From)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined (__STDC__) || defined (__cplusplus)
+ typedef signed char yysigned_char;
+#else
+ typedef short yysigned_char;
+#endif
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 6
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 11
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 8
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 3
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 6
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 12
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 258
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 5, 6, 7, 4, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 5, 7, 11, 15
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+ 9, 0, -1, 10, -1, 3, -1, 10, 4, 10,
+ -1, 5, 10, 6, -1, 10, 7, 10, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned char yyrline[] =
+{
+ 0, 42, 42, 49, 53, 57, 61
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOK_NUMBER", "'+'", "'('", "')'", "'*'",
+ "$accept", "start", "expr", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const unsigned short yytoknum[] =
+{
+ 0, 256, 257, 258, 43, 40, 41, 42
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 8, 9, 10, 10, 10, 10
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 1, 1, 3, 3, 3
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const unsigned char yydefact[] =
+{
+ 0, 3, 0, 0, 2, 0, 1, 0, 0, 5,
+ 4, 6
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+ -1, 3, 4
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+#define YYPACT_NINF -4
+static const yysigned_char yypact[] =
+{
+ 6, -4, 6, 2, 3, -3, -4, 6, 6, -4,
+ 3, 3
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const yysigned_char yypgoto[] =
+{
+ -4, -4, -2
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
+#define YYTABLE_NINF -1
+static const unsigned char yytable[] =
+{
+ 5, 7, 6, 9, 8, 10, 11, 7, 0, 1,
+ 8, 2
+};
+
+static const yysigned_char yycheck[] =
+{
+ 2, 4, 0, 6, 7, 7, 8, 4, -1, 3,
+ 7, 5
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 3, 5, 9, 10, 10, 0, 4, 7, 6,
+ 10, 10
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror. This remains here temporarily
+ to ease the transition to the new meaning of YYERROR, for GCC.
+ Once GCC version 2 has supplanted version 1, this can go. */
+
+#define YYFAIL goto yyerrlab
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY && yylen == 1) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror ("syntax error: cannot back up");\
+ YYERROR; \
+ } \
+while (0)
+
+#define YYTERROR 1
+#define YYERRCODE 256
+
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+ are run). */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N) \
+ ((Current).first_line = (Rhs)[1].first_line, \
+ (Current).first_column = (Rhs)[1].first_column, \
+ (Current).last_line = (Rhs)[N].last_line, \
+ (Current).last_column = (Rhs)[N].last_column)
+#endif
+
+/* YYLEX -- calling `yylex' with the right arguments. */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (&yylval, YYLEX_PARAM)
+#else
+# define YYLEX yylex (&yylval)
+#endif
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+# define YYDSYMPRINT(Args) \
+do { \
+ if (yydebug) \
+ yysymprint Args; \
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yysymprint (stderr, \
+ Token, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short *bottom, short *top)
+#else
+static void
+yy_stack_print (bottom, top)
+ short *bottom;
+ short *top;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (/* Nothing. */; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+ int yyrule;
+#endif
+{
+ int yyi;
+ unsigned int yylno = yyrline[yyrule];
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+ yyrule - 1, yylno);
+ /* Print the symbols being reduced, and their result. */
+ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+ YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+ YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (Rule); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
+#endif
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined (__GLIBC__) && defined (_STRING_H)
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+# if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+# else
+yystrlen (yystr)
+ const char *yystr;
+# endif
+{
+ register const char *yys = yystr;
+
+ while (*yys++ != '\0')
+ continue;
+
+ return yys - yystr - 1;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+# if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+# else
+yystpcpy (yydest, yysrc)
+ char *yydest;
+ const char *yysrc;
+# endif
+{
+ register char *yyd = yydest;
+ register const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ if (yytype < YYNTOKENS)
+ {
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ }
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ switch (yytype)
+ {
+ default:
+ break;
+ }
+ YYFPRINTF (yyoutput, ")");
+}
+
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+ int yytype;
+ YYSTYPE *yyvaluep;
+#endif
+{
+ /* Pacify ``unused variable'' warnings. */
+ (void) yyvaluep;
+
+ switch (yytype)
+ {
+
+ default:
+ break;
+ }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes. */
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+ void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+ /* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far. */
+int yynerrs;
+
+ register int yystate;
+ register int yyn;
+ int yyresult;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ short yyssa[YYINITDEPTH];
+ short *yyss = yyssa;
+ register short *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ register YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK (yyvsp--, yyssp--)
+
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
+ /* When reducing, the number of symbols on the RHS of the reduced
+ rule. */
+ int yylen;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ /* Initialize stack pointers.
+ Waste one element of value and location stack
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+ yyssp = yyss;
+ yyvsp = yyvs;
+
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. so pushing a state here evens the stacks.
+ */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ short *yyss1 = yyss;
+
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow ("parser stack overflow",
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyoverflowlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ short *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyoverflowlab;
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+/* Do appropriate processing given the current state. */
+/* Read a lookahead token if we need one and don't already have one. */
+/* yyresume: */
+
+ /* First try to decide what to do without reference to lookahead token. */
+
+ yyn = yypact[yystate];
+ if (yyn == YYPACT_NINF)
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ `$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 2:
+#line 43 "Grammar.y"
+ {
+ parser->setResult(yyval);
+;}
+ break;
+
+ case 3:
+#line 50 "Grammar.y"
+ {
+ yyval = yyvsp[0];
+;}
+ break;
+
+ case 4:
+#line 54 "Grammar.y"
+ {
+ yyval = new Complex::AddNodeI(yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+ case 5:
+#line 58 "Grammar.y"
+ {
+ yyval = yyvsp[-1];
+;}
+ break;
+
+ case 6:
+#line 62 "Grammar.y"
+ {
+ yyval = new Complex::MultiplyNodeI(yyvsp[-2], yyvsp[0]);
+;}
+ break;
+
+
+ }
+
+/* Line 1000 of yacc.c. */
+#line 1035 "Grammar.tab.c"
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+
+
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+
+ /* Now `shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if YYERROR_VERBOSE
+ yyn = yypact[yystate];
+
+ if (YYPACT_NINF < yyn && yyn < YYLAST)
+ {
+ YYSIZE_T yysize = 0;
+ int yytype = YYTRANSLATE (yychar);
+ const char* yyprefix;
+ char *yymsg;
+ int yyx;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 0;
+
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+ yycount += 1;
+ if (yycount == 5)
+ {
+ yysize = 0;
+ break;
+ }
+ }
+ yysize += (sizeof ("syntax error, unexpected ")
+ + yystrlen (yytname[yytype]));
+ yymsg = (char *) YYSTACK_ALLOC (yysize);
+ if (yymsg != 0)
+ {
+ char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+ yyp = yystpcpy (yyp, yytname[yytype]);
+
+ if (yycount < 5)
+ {
+ yyprefix = ", expecting ";
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ yyp = yystpcpy (yyp, yyprefix);
+ yyp = yystpcpy (yyp, yytname[yyx]);
+ yyprefix = " or ";
+ }
+ }
+ yyerror (yymsg);
+ YYSTACK_FREE (yymsg);
+ }
+ else
+ yyerror ("syntax error; also virtual memory exhausted");
+ }
+ else
+#endif /* YYERROR_VERBOSE */
+ yyerror ("syntax error");
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* If at end of input, pop the error token,
+ then the rest of the stack, then return failure. */
+ if (yychar == YYEOF)
+ for (;;)
+ {
+ YYPOPSTACK;
+ if (yyssp == yyss)
+ YYABORT;
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[*yyssp], yyvsp);
+ }
+ }
+ else
+ {
+ YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+ yydestruct (yytoken, &yylval);
+ yychar = YYEMPTY;
+
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+#ifdef __GNUC__
+ /* Pacify GCC when the user code never invokes YYERROR and the label
+ yyerrorlab therefore never appears in user code. */
+ if (0)
+ goto yyerrorlab;
+#endif
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (yyn != YYPACT_NINF)
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+ YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+ yydestruct (yystos[yystate], yyvsp);
+ YYPOPSTACK;
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here. |
+`----------------------------------------------*/
+yyoverflowlab:
+ yyerror ("parser stack overflow");
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+ return yyresult;
+}
+
+
+#line 67 "Grammar.y"
+
+
diff --git a/cpp/test/Freeze/complex/Grammar.h b/cpp/test/Freeze/complex/Grammar.h
new file mode 100644
index 00000000000..ff8b73a45bb
--- /dev/null
+++ b/cpp/test/Freeze/complex/Grammar.h
@@ -0,0 +1,50 @@
+/* A Bison parser, made by GNU Bison 1.875c. */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* As a special exception, when this file is copied by Bison into a
+ Bison output file, you may use that output file without restriction.
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOK_NUMBER = 258
+ };
+#endif
+#define TOK_NUMBER 258
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+
+
diff --git a/cpp/test/Freeze/complex/Grammar.y b/cpp/test/Freeze/complex/Grammar.y
index fea417e8964..eefb7862b97 100644
--- a/cpp/test/Freeze/complex/Grammar.y
+++ b/cpp/test/Freeze/complex/Grammar.y
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/test/Freeze/complex/Makefile b/cpp/test/Freeze/complex/Makefile
index 8dfd662b5b7..fbe145612a2 100644
--- a/cpp/test/Freeze/complex/Makefile
+++ b/cpp/test/Freeze/complex/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.
@@ -38,8 +38,6 @@ ComplexDict.h ComplexDict.cpp: Complex.ice $(SLICE2FREEZE) $(SLICEPARSERLIB)
clean::
-rm -f ComplexDict.h ComplexDict.cpp
- -rm -f Grammar.cpp Grammar.h
- -rm -f Scanner.cpp
-rm -f db/*
include .depend
diff --git a/cpp/test/Freeze/complex/Makefile.mak b/cpp/test/Freeze/complex/Makefile.mak
index c1a43aea508..3a1980eacec 100644
--- a/cpp/test/Freeze/complex/Makefile.mak
+++ b/cpp/test/Freeze/complex/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.
@@ -55,8 +55,6 @@ Grammar.cpp Grammar.h: Grammar.y
clean::
del /q Complex.cpp Complex.h
- del /q Grammar.cpp Grammar.h
- del /q Scanner.cpp
del /q ComplexDict.h ComplexDict.cpp
for %f in (db\*) do if not %f == db\.gitignore del /q %f
diff --git a/cpp/test/Freeze/complex/NodeI.h b/cpp/test/Freeze/complex/NodeI.h
index b2eea6b9ee3..dd60d8c1f5d 100644
--- a/cpp/test/Freeze/complex/NodeI.h
+++ b/cpp/test/Freeze/complex/NodeI.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/test/Freeze/complex/Parser.cpp b/cpp/test/Freeze/complex/Parser.cpp
index 93ed7e778eb..ef152dc7faa 100644
--- a/cpp/test/Freeze/complex/Parser.cpp
+++ b/cpp/test/Freeze/complex/Parser.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/test/Freeze/complex/Parser.h b/cpp/test/Freeze/complex/Parser.h
index f6e7737e2a0..a52d461bdd2 100644
--- a/cpp/test/Freeze/complex/Parser.h
+++ b/cpp/test/Freeze/complex/Parser.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/test/Freeze/complex/Scanner.cpp b/cpp/test/Freeze/complex/Scanner.cpp
new file mode 100644
index 00000000000..3b980281601
--- /dev/null
+++ b/cpp/test/Freeze/complex/Scanner.cpp
@@ -0,0 +1,1543 @@
+#include <IceUtil/Config.h>
+/* A lexical scanner generated by flex */
+
+/* Scanner skeleton version:
+ * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
+ */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+
+#include <stdio.h>
+#include <unistd.h>
+
+
+/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
+#ifdef c_plusplus
+#ifndef __cplusplus
+#define __cplusplus
+#endif
+#endif
+
+
+#ifdef __cplusplus
+
+#include <stdlib.h>
+
+/* Use prototypes in function declarations. */
+#define YY_USE_PROTOS
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_PROTOS
+#define YY_USE_CONST
+
+#endif /* __STDC__ */
+#endif /* ! __cplusplus */
+
+#ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
+#define YY_USE_CONST
+#define YY_USE_PROTOS
+#endif
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+
+#ifdef YY_USE_PROTOS
+#define YY_PROTO(proto) proto
+#else
+#define YY_PROTO(proto) ()
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN yy_start = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart( yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#define YY_BUF_SIZE 16384
+
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+
+extern int yyleng;
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+/* The funky do-while in the following #define is used to turn the definition
+ * int a single C statement (which needs a semi-colon terminator). This
+ * avoids problems with code like:
+ *
+ * if ( condition_holds )
+ * yyless( 5 );
+ * else
+ * do_something_else();
+ *
+ * Prior to using the do-while the compiler would get upset at the
+ * "else" because it interpreted the "if" statement as being all
+ * done when it reached the ';' after the yyless() call.
+ */
+
+/* Return all but the first 'n' matched characters back to the input stream. */
+
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ *yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
+ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, yytext_ptr )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
+
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+ };
+
+static YY_BUFFER_STATE yy_current_buffer = 0;
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ */
+#define YY_CURRENT_BUFFER yy_current_buffer
+
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+
+
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 1; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart YY_PROTO(( FILE *input_file ));
+
+void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
+void yy_load_buffer_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
+void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
+
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
+static void yy_flex_free YY_PROTO(( void * ));
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! yy_current_buffer ) \
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ yy_current_buffer->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
+
+#define yywrap() 1
+#define YY_SKIP_YYWRAP
+typedef unsigned char YY_CHAR;
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+static int yy_get_next_buffer YY_PROTO(( void ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ yytext_ptr = yy_bp; \
+ yyleng = (int) (yy_cp - yy_bp); \
+ yy_hold_char = *yy_cp; \
+ *yy_cp = '\0'; \
+ yy_c_buf_p = yy_cp;
+
+#define YY_NUM_RULES 4
+#define YY_END_OF_BUFFER 5
+static yyconst short int yy_accept[11] =
+ { 0,
+ 0, 0, 5, 4, 3, 1, 4, 1, 2, 0
+ } ;
+
+static yyconst int yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 3, 4, 5, 1, 1, 1, 1, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 7, 1, 1, 1, 8, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst int yy_meta[9] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1
+ } ;
+
+static yyconst short int yy_base[11] =
+ { 0,
+ 0, 0, 13, 14, 14, 6, 4, 4, 2, 14
+ } ;
+
+static yyconst short int yy_def[11] =
+ { 0,
+ 10, 1, 10, 10, 10, 10, 10, 10, 10, 0
+ } ;
+
+static yyconst short int yy_nxt[23] =
+ { 0,
+ 4, 5, 5, 5, 5, 6, 4, 7, 9, 8,
+ 9, 8, 10, 3, 10, 10, 10, 10, 10, 10,
+ 10, 10
+ } ;
+
+static yyconst short int yy_chk[23] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 9, 8,
+ 7, 6, 3, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "Scanner.l"
+#define INITIAL 0
+#line 2 "Scanner.l"
+
+// **********************************************************************
+//
+// 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 <Parser.h>
+#include <Grammar.h>
+#include <NodeI.h>
+
+#if defined(_MSC_VER) && defined(ICE_64)
+//
+// 'initializing' : conversion from '__int64' to 'int', possible loss of data
+// Puts a pointer-difference into an int
+//
+# pragma warning( 4 : 4244 )
+#endif
+
+using namespace std;
+using namespace Ice;
+
+#define YY_INPUT(buf, result, maxSize) parser->getInput(buf, result, maxSize)
+
+#define YY_NEVER_INTERACTIVE 1
+#line 400 "lex.yy.c"
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
+#ifdef YY_MALLOC_DECL
+YY_MALLOC_DECL
+#else
+#if __STDC__
+#ifndef __cplusplus
+#include <stdlib.h>
+#endif
+#else
+/* Just try to get by without declaring the routines. This will fail
+ * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
+ * or sizeof(void*) != sizeof(int).
+ */
+#endif
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( yy_current_buffer->yy_is_interactive ) \
+ { \
+ int c = '*', n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+ && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" );
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL int yylex YY_PROTO(( void ))
+#endif
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+ YY_USER_ACTION
+
+YY_DECL
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp = NULL, *yy_bp = NULL;
+ register int yy_act;
+
+#line 39 "Scanner.l"
+
+
+#line 554 "lex.yy.c"
+
+ if ( yy_init )
+ {
+ yy_init = 0;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! yy_start )
+ yy_start = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! yy_current_buffer )
+ yy_current_buffer =
+ yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_load_buffer_state();
+ }
+
+ while ( 1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = yy_c_buf_p;
+
+ /* Support of yytext. */
+ *yy_cp = yy_hold_char;
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = yy_start;
+yy_match:
+ do
+ {
+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 11 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 14 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+
+do_action: /* This label is used only to access EOF actions. */
+
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = yy_hold_char;
+ yy_cp = yy_last_accepting_cpos;
+ yy_current_state = yy_last_accepting_state;
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 41 "Scanner.l"
+{
+ *yylvalp = new Complex::NumberNodeI(atoi(yytext));
+ return TOK_NUMBER;
+}
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 46 "Scanner.l"
+/* eat whitespace */
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 48 "Scanner.l"
+{ return *yytext; }
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 50 "Scanner.l"
+ECHO;
+ YY_BREAK
+#line 660 "lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between yy_current_buffer and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yy_current_buffer->yy_input_file = yyin;
+ yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++yy_c_buf_p;
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = yy_c_buf_p;
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ yy_did_buffer_switch_on_eof = 0;
+
+ if ( yywrap() )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p =
+ yytext_ptr + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ yy_c_buf_p =
+ &yy_current_buffer->yy_ch_buf[yy_n_chars];
+
+ yy_current_state = yy_get_previous_state();
+
+ yy_cp = yy_c_buf_p;
+ yy_bp = yytext_ptr + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of yylex */
+
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+
+static int yy_get_next_buffer()
+ {
+ register char *dest = yy_current_buffer->yy_ch_buf;
+ register char *source = yytext_ptr;
+ register int number_to_move, i;
+ int ret_val;
+
+ if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( yy_current_buffer->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+
+ else
+ {
+ int num_to_read =
+ yy_current_buffer->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+#ifdef YY_USES_REJECT
+ YY_FATAL_ERROR(
+"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
+#else
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = yy_current_buffer;
+
+ int yy_c_buf_p_offset =
+ (int) (yy_c_buf_p - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yy_flex_realloc( (void *) b->yy_ch_buf,
+ b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = 0;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = yy_current_buffer->yy_buf_size -
+ number_to_move - 1;
+#endif
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
+ yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ if ( yy_n_chars == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart( yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ yy_current_buffer->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ yy_n_chars += number_to_move;
+ yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
+ yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+
+ yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+
+ return ret_val;
+ }
+
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+static yy_state_type yy_get_previous_state()
+ {
+ register yy_state_type yy_current_state;
+ register char *yy_cp;
+
+ yy_current_state = yy_start;
+
+ for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+ {
+ register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 11 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ }
+
+ return yy_current_state;
+ }
+
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+
+#ifdef YY_USE_PROTOS
+static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
+#else
+static yy_state_type yy_try_NUL_trans( yy_current_state )
+yy_state_type yy_current_state;
+#endif
+ {
+ register int yy_is_jam;
+ register char *yy_cp = yy_c_buf_p;
+
+ register YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ yy_last_accepting_state = yy_current_state;
+ yy_last_accepting_cpos = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 11 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 10);
+
+ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+
+#ifndef YY_NO_UNPUT
+#ifdef YY_USE_PROTOS
+static void yyunput( int c, register char *yy_bp )
+#else
+static void yyunput( c, yy_bp )
+int c;
+register char *yy_bp;
+#endif
+ {
+ register char *yy_cp = yy_c_buf_p;
+
+ /* undo effects of setting up yytext */
+ *yy_cp = yy_hold_char;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ register int number_to_move = yy_n_chars + 2;
+ register char *dest = &yy_current_buffer->yy_ch_buf[
+ yy_current_buffer->yy_buf_size + 2];
+ register char *source =
+ &yy_current_buffer->yy_ch_buf[number_to_move];
+
+ while ( source > yy_current_buffer->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
+
+ if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+
+ yytext_ptr = yy_bp;
+ yy_hold_char = *yy_cp;
+ yy_c_buf_p = yy_cp;
+ }
+#endif /* ifndef YY_NO_UNPUT */
+
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
+ {
+ int c;
+
+ *yy_c_buf_p = yy_hold_char;
+
+ if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+ /* This was really a NUL. */
+ *yy_c_buf_p = '\0';
+
+ else
+ { /* need more input */
+ int offset = yy_c_buf_p - yytext_ptr;
+ ++yy_c_buf_p;
+
+ switch ( yy_get_next_buffer() )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap() )
+ return EOF;
+
+ if ( ! yy_did_buffer_switch_on_eof )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ yy_c_buf_p = yytext_ptr + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
+ *yy_c_buf_p = '\0'; /* preserve yytext */
+ yy_hold_char = *++yy_c_buf_p;
+
+
+ return c;
+ }
+#endif /* YY_NO_INPUT */
+
+#ifdef YY_USE_PROTOS
+void yyrestart( FILE *input_file )
+#else
+void yyrestart( input_file )
+FILE *input_file;
+#endif
+ {
+ if ( ! yy_current_buffer )
+ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+
+ yy_init_buffer( yy_current_buffer, input_file );
+ yy_load_buffer_state();
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+#else
+void yy_switch_to_buffer( new_buffer )
+YY_BUFFER_STATE new_buffer;
+#endif
+ {
+ if ( yy_current_buffer == new_buffer )
+ return;
+
+ if ( yy_current_buffer )
+ {
+ /* Flush out information for old buffer. */
+ *yy_c_buf_p = yy_hold_char;
+ yy_current_buffer->yy_buf_pos = yy_c_buf_p;
+ yy_current_buffer->yy_n_chars = yy_n_chars;
+ }
+
+ yy_current_buffer = new_buffer;
+ yy_load_buffer_state();
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ yy_did_buffer_switch_on_eof = 1;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_load_buffer_state( void )
+#else
+void yy_load_buffer_state()
+#endif
+ {
+ yy_n_chars = yy_current_buffer->yy_n_chars;
+ yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
+ yyin = yy_current_buffer->yy_input_file;
+ yy_hold_char = *yy_c_buf_p;
+ }
+
+
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+#else
+YY_BUFFER_STATE yy_create_buffer( file, size )
+FILE *file;
+int size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer( b, file );
+
+ return b;
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_delete_buffer( YY_BUFFER_STATE b )
+#else
+void yy_delete_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+ {
+ if ( ! b )
+ return;
+
+ if ( b == yy_current_buffer )
+ yy_current_buffer = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yy_flex_free( (void *) b->yy_ch_buf );
+
+ yy_flex_free( (void *) b );
+ }
+
+
+
+#ifdef YY_USE_PROTOS
+void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
+#else
+void yy_init_buffer( b, file )
+YY_BUFFER_STATE b;
+FILE *file;
+#endif
+
+
+ {
+ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+#if YY_ALWAYS_INTERACTIVE
+ b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+ b->yy_is_interactive = 0;
+#else
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+ }
+
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+ {
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == yy_current_buffer )
+ yy_load_buffer_state();
+ }
+
+
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+ {
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return 0;
+
+ b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = 0;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer( b );
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
+#else
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
+#endif
+ {
+ int len;
+ for ( len = 0; yy_str[len]; ++len )
+ ;
+
+ return yy_scan_bytes( yy_str, len );
+ }
+#endif
+
+
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = len + 2;
+ buf = (char *) yy_flex_alloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < len; ++i )
+ buf[i] = bytes[i];
+
+ buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+ }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
+#ifdef YY_USE_PROTOS
+static void yy_push_state( int new_state )
+#else
+static void yy_push_state( new_state )
+int new_state;
+#endif
+ {
+ if ( yy_start_stack_ptr >= yy_start_stack_depth )
+ {
+ yy_size_t new_size;
+
+ yy_start_stack_depth += YY_START_STACK_INCR;
+ new_size = yy_start_stack_depth * sizeof( int );
+
+ if ( ! yy_start_stack )
+ yy_start_stack = (int *) yy_flex_alloc( new_size );
+
+ else
+ yy_start_stack = (int *) yy_flex_realloc(
+ (void *) yy_start_stack, new_size );
+
+ if ( ! yy_start_stack )
+ YY_FATAL_ERROR(
+ "out of memory expanding start-condition stack" );
+ }
+
+ yy_start_stack[yy_start_stack_ptr++] = YY_START;
+
+ BEGIN(new_state);
+ }
+#endif
+
+
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state()
+ {
+ if ( --yy_start_stack_ptr < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN(yy_start_stack[yy_start_stack_ptr]);
+ }
+#endif
+
+
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state()
+ {
+ return yy_start_stack[yy_start_stack_ptr - 1];
+ }
+#endif
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+#ifdef YY_USE_PROTOS
+static void yy_fatal_error( yyconst char msg[] )
+#else
+static void yy_fatal_error( msg )
+char msg[];
+#endif
+ {
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ yytext[yyleng] = yy_hold_char; \
+ yy_c_buf_p = yytext + n; \
+ yy_hold_char = *yy_c_buf_p; \
+ *yy_c_buf_p = '\0'; \
+ yyleng = n; \
+ } \
+ while ( 0 )
+
+
+/* Internal utility routines. */
+
+#ifndef yytext_ptr
+#ifdef YY_USE_PROTOS
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
+#else
+static void yy_flex_strncpy( s1, s2, n )
+char *s1;
+yyconst char *s2;
+int n;
+#endif
+ {
+ register int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+#endif
+
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_alloc( yy_size_t size )
+#else
+static void *yy_flex_alloc( size )
+yy_size_t size;
+#endif
+ {
+ return (void *) malloc( size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
+#else
+static void *yy_flex_realloc( ptr, size )
+void *ptr;
+yy_size_t size;
+#endif
+ {
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return (void *) realloc( (char *) ptr, size );
+ }
+
+#ifdef YY_USE_PROTOS
+static void yy_flex_free( void *ptr )
+#else
+static void yy_flex_free( ptr )
+void *ptr;
+#endif
+ {
+ free( ptr );
+ }
+
+#if YY_MAIN
+int main()
+ {
+ yylex();
+ return 0;
+ }
+#endif
+#line 50 "Scanner.l"
+
diff --git a/cpp/test/Freeze/complex/Scanner.l b/cpp/test/Freeze/complex/Scanner.l
index 5a2f11b4131..abffad71e9f 100644
--- a/cpp/test/Freeze/complex/Scanner.l
+++ b/cpp/test/Freeze/complex/Scanner.l
@@ -2,7 +2,7 @@
// **********************************************************************
//
-// 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/test/Freeze/complex/run.py b/cpp/test/Freeze/complex/run.py
index 19395e6cc75..600ebb883a3 100755
--- a/cpp/test/Freeze/complex/run.py
+++ b/cpp/test/Freeze/complex/run.py
@@ -1,56 +1,41 @@
#!/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.
#
# **********************************************************************
-import os, sys, os.path
+import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+sys.path.append(os.path.join(path[0]))
+from scripts import *
testdir = os.path.dirname(os.path.abspath(__file__))
#
# Clean the contents of the database directory.
#
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting populate...",
-populatePipe = TestUtil.startClient(client, " --dbdir " + testdir + " populate" + " 2>&1")
+populateProc = TestUtil.startClient(client, " --dbdir %s populate" % os.getcwd())
print "ok"
-
-TestUtil.printOutputFromPipe(populatePipe)
-
-populateStatus = TestUtil.closePipe(populatePipe)
-
-if populateStatus:
- sys.exit(1)
+populateProc.waitTestSuccess()
print "starting verification client...",
-clientPipe = TestUtil.startClient(client, " --dbdir " + testdir + " validate" + " 2>&1")
+clientProc = TestUtil.startClient(client, " --dbdir %s validate" % os.getcwd())
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/cpp/test/Freeze/dbmap/Client.cpp b/cpp/test/Freeze/dbmap/Client.cpp
index f8840218143..41f276a1312 100644
--- a/cpp/test/Freeze/dbmap/Client.cpp
+++ b/cpp/test/Freeze/dbmap/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/test/Freeze/dbmap/Makefile b/cpp/test/Freeze/dbmap/Makefile
index 69ba3066372..fe5091cceea 100644
--- a/cpp/test/Freeze/dbmap/Makefile
+++ b/cpp/test/Freeze/dbmap/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/test/Freeze/dbmap/Makefile.mak b/cpp/test/Freeze/dbmap/Makefile.mak
index 94195c4cc13..432cf7ece8f 100644
--- a/cpp/test/Freeze/dbmap/Makefile.mak
+++ b/cpp/test/Freeze/dbmap/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/test/Freeze/dbmap/run.py b/cpp/test/Freeze/dbmap/run.py
index 294171da26c..777e6a55b0a 100755
--- a/cpp/test/Freeze/dbmap/run.py
+++ b/cpp/test/Freeze/dbmap/run.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.
@@ -10,34 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-clientPipe = os.popen(TestUtil.getCommandLine(client, TestUtil.DriverConfig("client")) + " --Freeze.Warn.Rollback=0 " +
- testdir + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
+client = os.path.join(os.getcwd(), "client")
-sys.exit(0)
+clientProc = TestUtil.startClient(client, " --Freeze.Warn.Rollback=0 %s" % os.getcwd())
+clientProc.waitTestSuccess()
diff --git a/cpp/test/Freeze/evictor/Client.cpp b/cpp/test/Freeze/evictor/Client.cpp
index 43bb6eab0ef..51cdb55afc6 100644
--- a/cpp/test/Freeze/evictor/Client.cpp
+++ b/cpp/test/Freeze/evictor/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/test/Freeze/evictor/Makefile b/cpp/test/Freeze/evictor/Makefile
index 9b82ab541af..96010832250 100644
--- a/cpp/test/Freeze/evictor/Makefile
+++ b/cpp/test/Freeze/evictor/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/test/Freeze/evictor/Makefile.mak b/cpp/test/Freeze/evictor/Makefile.mak
index caa3766974b..0b4adee7d64 100644
--- a/cpp/test/Freeze/evictor/Makefile.mak
+++ b/cpp/test/Freeze/evictor/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/test/Freeze/evictor/Server.cpp b/cpp/test/Freeze/evictor/Server.cpp
index 51c4860f6a3..94c2e91a09e 100644
--- a/cpp/test/Freeze/evictor/Server.cpp
+++ b/cpp/test/Freeze/evictor/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/test/Freeze/evictor/Test.ice b/cpp/test/Freeze/evictor/Test.ice
index 6aec231e722..20c1ef5d544 100644
--- a/cpp/test/Freeze/evictor/Test.ice
+++ b/cpp/test/Freeze/evictor/Test.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/test/Freeze/evictor/TestI.cpp b/cpp/test/Freeze/evictor/TestI.cpp
index 3b213b3e93c..82ca1dad78c 100644
--- a/cpp/test/Freeze/evictor/TestI.cpp
+++ b/cpp/test/Freeze/evictor/TestI.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.
@@ -67,14 +67,14 @@ Test::AccountI::transfer2_async(const AMD_Account_transfer2Ptr& cb, int amount,
cb->ice_response();
}
-
class ResponseThread : public IceUtil::Thread, private IceUtil::Monitor<IceUtil::Mutex>
{
public:
ResponseThread(const Test::AMD_Account_transfer3Ptr& cb) :
_cb(cb),
- _response(false)
+ _response(false),
+ _cancelled(false)
{
}
@@ -92,6 +92,13 @@ public:
notify();
}
+ void cancel()
+ {
+ Lock sync(*this);
+ _cancelled = true;
+ notify();
+ }
+
virtual void run()
{
@@ -99,12 +106,12 @@ public:
bool timedOut = false;
- while(!timedOut && _response == false && _exception.get() == 0)
+ while(!timedOut && _response == false && _cancelled == false && _exception.get() == 0)
{
timedOut = !timedWait(IceUtil::Time::seconds(1));
}
- if(timedOut)
+ if(_cancelled)
{
return;
}
@@ -126,11 +133,15 @@ public:
private:
Test::AMD_Account_transfer3Ptr _cb;
bool _response;
+ bool _cancelled;
std::auto_ptr<Ice::UserException> _exception;
};
typedef IceUtil::Handle<ResponseThread> ResponseThreadPtr;
+
+
+
void
Test::AccountI::transfer3_async(const AMD_Account_transfer3Ptr& cb, int amount, const Test::AccountPrx& toAccount, const Current& current)
{
@@ -139,8 +150,8 @@ Test::AccountI::transfer3_async(const AMD_Account_transfer3Ptr& cb, int amount,
//
ResponseThreadPtr thread = new ResponseThread(cb);
- thread->start(33000).detach();
-
+ IceUtil::ThreadControl tc = thread->start(33000);
+
test(_evictor->getCurrentTransaction() != 0);
try
@@ -150,6 +161,8 @@ Test::AccountI::transfer3_async(const AMD_Account_transfer3Ptr& cb, int amount,
}
catch(const Ice::UserException& e)
{
+ tc.detach();
+
//
// Need to rollback here -- "rollback on user exception" does not work
// when the dispatch commits before it gets any response!
@@ -157,9 +170,17 @@ Test::AccountI::transfer3_async(const AMD_Account_transfer3Ptr& cb, int amount,
_evictor->getCurrentTransaction()->rollback();
thread->exception(e);
+
return;
}
+ catch(...)
+ {
+ thread->cancel();
+ tc.join();
+ throw;
+ }
+ tc.detach();
thread->response();
}
@@ -593,7 +614,6 @@ Test::RemoteEvictorI::destroyAllServants(const string& facetName, const Current&
}
}
-
Test::RemoteEvictorFactoryI::RemoteEvictorFactoryI(const ObjectAdapterPtr& adapter,
const std::string& envName) :
_adapter(adapter),
diff --git a/cpp/test/Freeze/evictor/TestI.h b/cpp/test/Freeze/evictor/TestI.h
index c12c3c8957f..06509be5a6a 100644
--- a/cpp/test/Freeze/evictor/TestI.h
+++ b/cpp/test/Freeze/evictor/TestI.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/test/Freeze/evictor/run.py b/cpp/test/Freeze/evictor/run.py
index 9f1f6bf50f4..00a127220d0 100755
--- a/cpp/test/Freeze/evictor/run.py
+++ b/cpp/test/Freeze/evictor/run.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.
@@ -10,24 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Freeze", "evictor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-testOptions = " --Freeze.DbEnv.db.DbHome=" + testdir + "/db" + " --Ice.Config=" + testdir + "/config ";
+testOptions = " --Freeze.DbEnv.db.DbHome=%s --Ice.Config=%s" % (dbdir, os.path.join(os.getcwd(), "config"))
-TestUtil.clientServerTestWithOptions(name, testOptions, testOptions)
-sys.exit(0)
+TestUtil.clientServerTest(additionalServerOptions= testOptions, additionalClientOptions= testOptions)
diff --git a/cpp/test/Freeze/oldevictor/Client.cpp b/cpp/test/Freeze/oldevictor/Client.cpp
index 0d276cb96b6..78369fbc04f 100644
--- a/cpp/test/Freeze/oldevictor/Client.cpp
+++ b/cpp/test/Freeze/oldevictor/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/test/Freeze/oldevictor/Makefile b/cpp/test/Freeze/oldevictor/Makefile
index b3e9b87345b..ed78743d3f4 100644
--- a/cpp/test/Freeze/oldevictor/Makefile
+++ b/cpp/test/Freeze/oldevictor/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/test/Freeze/oldevictor/Makefile.mak b/cpp/test/Freeze/oldevictor/Makefile.mak
index e9b3e884120..9f1289baa21 100644
--- a/cpp/test/Freeze/oldevictor/Makefile.mak
+++ b/cpp/test/Freeze/oldevictor/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/test/Freeze/oldevictor/Server.cpp b/cpp/test/Freeze/oldevictor/Server.cpp
index f15b06ab2b5..e5b874853ae 100644
--- a/cpp/test/Freeze/oldevictor/Server.cpp
+++ b/cpp/test/Freeze/oldevictor/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/test/Freeze/oldevictor/Test.ice b/cpp/test/Freeze/oldevictor/Test.ice
index d43b8d3fb0e..0c667d9b678 100644
--- a/cpp/test/Freeze/oldevictor/Test.ice
+++ b/cpp/test/Freeze/oldevictor/Test.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/test/Freeze/oldevictor/TestI.cpp b/cpp/test/Freeze/oldevictor/TestI.cpp
index 74ce28d8342..9be210f9f0e 100644
--- a/cpp/test/Freeze/oldevictor/TestI.cpp
+++ b/cpp/test/Freeze/oldevictor/TestI.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/test/Freeze/oldevictor/TestI.h b/cpp/test/Freeze/oldevictor/TestI.h
index 1eb4b6cac01..ac09c2961b9 100644
--- a/cpp/test/Freeze/oldevictor/TestI.h
+++ b/cpp/test/Freeze/oldevictor/TestI.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/test/Freeze/oldevictor/run.py b/cpp/test/Freeze/oldevictor/run.py
index 64ef39f758a..b7895100038 100755
--- a/cpp/test/Freeze/oldevictor/run.py
+++ b/cpp/test/Freeze/oldevictor/run.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.
@@ -10,24 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Freeze", "oldevictor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-testOptions = " --Freeze.DbEnv.db.DbHome=" + testdir + "/db" + " --Ice.Config=" + testdir + "/config ";
+testOptions = " --Freeze.DbEnv.db.DbHome=%s --Ice.Config=%s" % (dbdir, os.path.join(os.getcwd(), "config"))
-TestUtil.clientServerTestWithOptions(name, testOptions, testOptions)
-sys.exit(0)
+TestUtil.clientServerTest(additionalServerOptions = testOptions, additionalClientOptions = testOptions)
diff --git a/cpp/test/FreezeScript/Makefile b/cpp/test/FreezeScript/Makefile
index c693715fadb..57956df1560 100644
--- a/cpp/test/FreezeScript/Makefile
+++ b/cpp/test/FreezeScript/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/test/FreezeScript/Makefile.mak b/cpp/test/FreezeScript/Makefile.mak
index 51703a6ffae..05167cc6684 100644
--- a/cpp/test/FreezeScript/Makefile.mak
+++ b/cpp/test/FreezeScript/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/test/FreezeScript/dbmap/Makefile b/cpp/test/FreezeScript/dbmap/Makefile
index e640369634a..370f36574cb 100644
--- a/cpp/test/FreezeScript/dbmap/Makefile
+++ b/cpp/test/FreezeScript/dbmap/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/test/FreezeScript/dbmap/Makefile.mak b/cpp/test/FreezeScript/dbmap/Makefile.mak
index 458d7478da6..df01beafa48 100644
--- a/cpp/test/FreezeScript/dbmap/Makefile.mak
+++ b/cpp/test/FreezeScript/dbmap/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/test/FreezeScript/dbmap/makedb.cpp b/cpp/test/FreezeScript/dbmap/makedb.cpp
index 40840a6cfbd..173a3b6d907 100644
--- a/cpp/test/FreezeScript/dbmap/makedb.cpp
+++ b/cpp/test/FreezeScript/dbmap/makedb.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/test/FreezeScript/dbmap/run.py b/cpp/test/FreezeScript/dbmap/run.py
index ff66087b358..2f74967395e 100755
--- a/cpp/test/FreezeScript/dbmap/run.py
+++ b/cpp/test/FreezeScript/dbmap/run.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.
@@ -10,41 +10,39 @@
import os, sys, re, shutil
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-directory = os.path.dirname(os.path.abspath(__file__))
transformdb = os.path.join(TestUtil.getCppBinDir(), "transformdb")
-dbdir = os.path.join(directory, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-init_dbdir = os.path.join(directory, "db_init")
+init_dbdir = os.path.join(os.getcwd(), "db_init")
if os.path.exists(init_dbdir):
shutil.rmtree(init_dbdir)
os.mkdir(init_dbdir)
-check_dbdir = os.path.join(directory, "db_check")
+check_dbdir = os.path.join(os.getcwd(), "db_check")
if os.path.exists(check_dbdir):
shutil.rmtree(check_dbdir)
os.mkdir(check_dbdir)
-tmp_dbdir = os.path.join(directory, "db_tmp")
+tmp_dbdir = os.path.join(os.getcwd(), "db_tmp")
if os.path.exists(tmp_dbdir):
shutil.rmtree(tmp_dbdir)
os.mkdir(tmp_dbdir)
regex1 = re.compile(r"_old\.ice$", re.IGNORECASE)
files = []
-for file in os.listdir(os.path.join(directory, "fail")):
+for file in os.listdir(os.path.join(os.getcwd(), "fail")):
if(regex1.search(file)):
files.append(file)
@@ -65,15 +63,15 @@ for oldfile in files:
else:
value = "int"
- command = transformdb + " --old " + os.path.join(directory, "fail", oldfile) + " --new " + \
- os.path.join(directory, "fail", newfile) + " -o tmp.xml --key string --value " + value
+ command = transformdb + " --old " + os.path.join(os.getcwd(), "fail", oldfile) + " --new " + \
+ os.path.join(os.getcwd(), "fail", newfile) + " -o tmp.xml --key string --value " + value
if TestUtil.debug:
print command
stdin, stdout, stderr = os.popen3(command)
lines1 = stderr.readlines()
- lines2 = open(os.path.join(directory, "fail", oldfile.replace("_old.ice", ".err")), "r").readlines()
+ lines2 = open(os.path.join(os.getcwd(), "fail", oldfile.replace("_old.ice", ".err")), "r").readlines()
if len(lines1) != len(lines2):
print "failed! (1)"
sys.exit(1)
@@ -94,18 +92,15 @@ print "ok"
print "creating test database...",
sys.stdout.flush()
-makedb = os.path.join(directory, "makedb") + " " + directory
-if TestUtil.debug:
- print "(" + makedb + ")",
-if os.system(makedb) != 0:
- sys.exit(1)
-
+makedb = os.path.join(os.getcwd(), "makedb") + " " + os.getcwd()
+proc = TestUtil.spawn(makedb)
+proc.waitTestSuccess()
print "ok"
-testold = os.path.join(directory, "TestOld.ice")
-testnew = os.path.join(directory, "TestNew.ice")
-initxml = os.path.join(directory, "init.xml")
-checkxml = os.path.join(directory, "check.xml")
+testold = os.path.join(os.getcwd(), "TestOld.ice")
+testnew = os.path.join(os.getcwd(), "TestNew.ice")
+initxml = os.path.join(os.getcwd(), "init.xml")
+checkxml = os.path.join(os.getcwd(), "check.xml")
print "initializing test database...",
sys.stdout.flush()
@@ -142,5 +137,3 @@ if os.system(command) != 0:
sys.exit(1)
print "ok"
-
-sys.exit(0)
diff --git a/cpp/test/FreezeScript/evictor/Makefile b/cpp/test/FreezeScript/evictor/Makefile
index 1473cf68a58..8d83da8a749 100644
--- a/cpp/test/FreezeScript/evictor/Makefile
+++ b/cpp/test/FreezeScript/evictor/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/test/FreezeScript/evictor/Makefile.mak b/cpp/test/FreezeScript/evictor/Makefile.mak
index e624b61eacd..8248921eacc 100644
--- a/cpp/test/FreezeScript/evictor/Makefile.mak
+++ b/cpp/test/FreezeScript/evictor/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/test/FreezeScript/evictor/makedb.cpp b/cpp/test/FreezeScript/evictor/makedb.cpp
index 46df7566cae..615abe98971 100644
--- a/cpp/test/FreezeScript/evictor/makedb.cpp
+++ b/cpp/test/FreezeScript/evictor/makedb.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/test/FreezeScript/evictor/run.py b/cpp/test/FreezeScript/evictor/run.py
index c758e6dba4a..dc1f16fd944 100755
--- a/cpp/test/FreezeScript/evictor/run.py
+++ b/cpp/test/FreezeScript/evictor/run.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.
@@ -10,29 +10,27 @@
import os, sys, re, shutil
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel os.getcwd()!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-directory = os.path.dirname(os.path.abspath(__file__))
transformdb = os.path.join(TestUtil.getCppBinDir(), "transformdb")
-dbdir = os.path.join(directory, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-check_dbdir = os.path.join(directory, "db_check")
+check_dbdir = os.path.join(os.getcwd(), "db_check")
if os.path.exists(check_dbdir):
shutil.rmtree(check_dbdir)
os.mkdir(check_dbdir)
-tmp_dbdir = os.path.join(directory, "db_tmp")
+tmp_dbdir = os.path.join(os.getcwd(), "db_tmp")
if os.path.exists(tmp_dbdir):
shutil.rmtree(tmp_dbdir)
os.mkdir(tmp_dbdir)
@@ -40,49 +38,30 @@ os.mkdir(tmp_dbdir)
print "creating test database...",
sys.stdout.flush()
-makedb = os.path.join(directory, "makedb") + " " + directory
-if TestUtil.debug:
- print "(" + makedb + ")",
-if os.system(makedb) != 0:
- sys.exit(1)
-
+makedb = os.path.join(os.getcwd(), "makedb") + " " + os.getcwd()
+proc = TestUtil.spawn(makedb)
+proc.waitTestSuccess()
print "ok"
-testold = os.path.join(directory, "TestOld.ice")
-testnew = os.path.join(directory, "TestNew.ice")
-transformxml = os.path.join(directory, "transform.xml")
-checkxml = os.path.join(directory, "check.xml")
+testold = os.path.join(os.getcwd(), "TestOld.ice")
+testnew = os.path.join(os.getcwd(), "TestNew.ice")
+transformxml = os.path.join(os.getcwd(), "transform.xml")
+checkxml = os.path.join(os.getcwd(), "check.xml")
print "executing evictor transformations...",
sys.stdout.flush()
command = transformdb + " -e -p --old " + testold + " --new " + testnew + " -f " + transformxml + " " + dbdir + \
" evictor.db " + check_dbdir
-if TestUtil.debug:
- print "(" + command + ")",
-#stdin, stdout, stderr = os.popen3(command)
-#stderr.readlines()
-
-pipe = os.popen(command + " 2>&1")
+proc = TestUtil.spawn(command)
+proc.waitTestSuccess()
print "ok"
-#TestUtil.printOutputFromPipe(pipe)
-
-clientStatus = TestUtil.closePipe(pipe)
-if clientStatus:
- print "failed!"
- sys.exit(1)
-
print "validating database...",
sys.stdout.flush()
command = transformdb + " -e --old " + testnew + " --new " + testnew + " -f " + checkxml + " " + check_dbdir + \
" evictor.db " + tmp_dbdir
-if TestUtil.debug:
- print "(" + command + ")",
-if os.system(command) != 0:
- sys.exit(1)
-
+proc = TestUtil.spawn(command)
+proc.waitTestSuccess()
print "ok"
-
-sys.exit(0)
diff --git a/cpp/test/Glacier2/Makefile b/cpp/test/Glacier2/Makefile
index 8d282d21b0b..d756f0f39cc 100644
--- a/cpp/test/Glacier2/Makefile
+++ b/cpp/test/Glacier2/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/test/Glacier2/Makefile.mak b/cpp/test/Glacier2/Makefile.mak
index df30cc3bd96..3bf3cbebcfb 100644
--- a/cpp/test/Glacier2/Makefile.mak
+++ b/cpp/test/Glacier2/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/test/Glacier2/attack/Backend.ice b/cpp/test/Glacier2/attack/Backend.ice
index 5e93560db7c..8372bf252d3 100644
--- a/cpp/test/Glacier2/attack/Backend.ice
+++ b/cpp/test/Glacier2/attack/Backend.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/test/Glacier2/attack/BackendI.cpp b/cpp/test/Glacier2/attack/BackendI.cpp
index 030cec39b08..11d132b2d47 100644
--- a/cpp/test/Glacier2/attack/BackendI.cpp
+++ b/cpp/test/Glacier2/attack/BackendI.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/test/Glacier2/attack/BackendI.h b/cpp/test/Glacier2/attack/BackendI.h
index 780afd126f9..c1ddc658958 100644
--- a/cpp/test/Glacier2/attack/BackendI.h
+++ b/cpp/test/Glacier2/attack/BackendI.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/test/Glacier2/attack/Client.cpp b/cpp/test/Glacier2/attack/Client.cpp
index a8be93a83dc..e007bc697be 100644
--- a/cpp/test/Glacier2/attack/Client.cpp
+++ b/cpp/test/Glacier2/attack/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/test/Glacier2/attack/Makefile b/cpp/test/Glacier2/attack/Makefile
index 87c82ed2266..6b6c41cae51 100644
--- a/cpp/test/Glacier2/attack/Makefile
+++ b/cpp/test/Glacier2/attack/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/test/Glacier2/attack/Makefile.mak b/cpp/test/Glacier2/attack/Makefile.mak
index 15b3f65c0bb..d80983cc6be 100644
--- a/cpp/test/Glacier2/attack/Makefile.mak
+++ b/cpp/test/Glacier2/attack/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/test/Glacier2/attack/Server.cpp b/cpp/test/Glacier2/attack/Server.cpp
index 695a092dd8c..851aeab57f2 100644
--- a/cpp/test/Glacier2/attack/Server.cpp
+++ b/cpp/test/Glacier2/attack/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/test/Glacier2/attack/run.py b/cpp/test/Glacier2/attack/run.py
index 6c483400c4c..8ad632913ec 100755
--- a/cpp/test/Glacier2/attack/run.py
+++ b/cpp/test/Glacier2/attack/run.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.
@@ -10,34 +10,29 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
+testdir = os.getcwd()
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-args = r' --Glacier2.RoutingTable.MaxSize=10' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + TestUtil.getMappingDir(__file__) + \
- r'/test/Glacier2/attack/passwords" 2>&1'
+args = ' --Glacier2.RoutingTable.MaxSize=10' + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.CryptPasswords="' + os.path.join(testdir, "passwords") + '"'
print "starting router...",
-starterPipe = TestUtil.startServer(router, args)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
+starterProc = TestUtil.startServer(router, args, count=2)
print "ok"
-name = os.path.join("Glacier2", "attack")
-
-TestUtil.mixedClientServerTest(name)
+TestUtil.clientServerTest()
-sys.exit(0)
+starterProc.waitTestSuccess()
diff --git a/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp b/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp
index 7dc0f359220..94fab4b791c 100644
--- a/cpp/test/Glacier2/dynamicFiltering/BackendI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/BackendI.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/test/Glacier2/dynamicFiltering/BackendI.h b/cpp/test/Glacier2/dynamicFiltering/BackendI.h
index 55486f4f4ee..9f33a7df8a0 100644
--- a/cpp/test/Glacier2/dynamicFiltering/BackendI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/BackendI.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/test/Glacier2/dynamicFiltering/Client.cpp b/cpp/test/Glacier2/dynamicFiltering/Client.cpp
index 42f9b301b69..9c6047bac79 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Client.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/Makefile b/cpp/test/Glacier2/dynamicFiltering/Makefile
index 07deed07fa1..f3d623c63a4 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Makefile
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/Makefile.mak b/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
index 82a4ac61cf1..8387777d497 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/Server.cpp b/cpp/test/Glacier2/dynamicFiltering/Server.cpp
index 7230708304e..c85a2eb4c80 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Server.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/SessionI.cpp b/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp
index 3dc7605d9d4..a0913e3241f 100644
--- a/cpp/test/Glacier2/dynamicFiltering/SessionI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/SessionI.h b/cpp/test/Glacier2/dynamicFiltering/SessionI.h
index 93bccd84cab..659c2c9ccfc 100644
--- a/cpp/test/Glacier2/dynamicFiltering/SessionI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/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/test/Glacier2/dynamicFiltering/Test.ice b/cpp/test/Glacier2/dynamicFiltering/Test.ice
index c8220616253..4a9482c99c0 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Test.ice
+++ b/cpp/test/Glacier2/dynamicFiltering/Test.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/test/Glacier2/dynamicFiltering/TestControllerI.cpp b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
index 3ea710dc871..29f05938b68 100644
--- a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.cpp
+++ b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.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/test/Glacier2/dynamicFiltering/TestControllerI.h b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h
index 8e9948411e1..98959e5d3fb 100644
--- a/cpp/test/Glacier2/dynamicFiltering/TestControllerI.h
+++ b/cpp/test/Glacier2/dynamicFiltering/TestControllerI.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/test/Glacier2/dynamicFiltering/run.py b/cpp/test/Glacier2/dynamicFiltering/run.py
index 4ec9f4404bd..a777ef28e9e 100755
--- a/cpp/test/Glacier2/dynamicFiltering/run.py
+++ b/cpp/test/Glacier2/dynamicFiltering/run.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.
@@ -10,25 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-server = os.path.join(testdir, "server")
+server = os.path.join(os.getcwd(), "server")
print "starting server...",
-serverPipe = TestUtil.startServer(server, "")
-TestUtil.getServerPid(serverPipe)
-TestUtil.getAdapterReady(serverPipe, True, 3)
+serverProc = TestUtil.startServer(server, count=3)
print "ok"
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
@@ -42,26 +37,15 @@ args = r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
r' --Ice.Default.Locator="locator:default -p 12012 -t 10000"'
print "starting router...",
-starterPipe = TestUtil.startServer(router, args)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
+starterProc = TestUtil.startServer(router, args, count=2)
print "ok"
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, " 2>&1")
-TestUtil.ignorePid(clientPipe)
+proc = TestUtil.startClient(client)
print "ok"
+proc.waitTestSuccess()
-TestUtil.printOutputFromPipe(clientPipe)
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- TestUtil.killServers()
-
-if clientStatus or TestUtil.serverStatus():
- print >>sys.stderr, "Client status:", clientStatus
- print >>sys.stderr, "Server status:", TestUtil.serverStatus()
- sys.exit(1)
-
-sys.exit(0)
+serverProc.waitTestSuccess()
+starterProc.waitTestSuccess()
diff --git a/cpp/test/Glacier2/router/Callback.ice b/cpp/test/Glacier2/router/Callback.ice
index 78ddfca1ec1..a0c9da6e151 100644
--- a/cpp/test/Glacier2/router/Callback.ice
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/CallbackI.cpp b/cpp/test/Glacier2/router/CallbackI.cpp
index 3e08c9390ac..ab684d02d64 100644
--- a/cpp/test/Glacier2/router/CallbackI.cpp
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/CallbackI.h b/cpp/test/Glacier2/router/CallbackI.h
index e6af7981181..c2d4b91729d 100644
--- a/cpp/test/Glacier2/router/CallbackI.h
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/Client.cpp b/cpp/test/Glacier2/router/Client.cpp
index 57ccbca328f..ee02193888d 100644
--- a/cpp/test/Glacier2/router/Client.cpp
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/Makefile b/cpp/test/Glacier2/router/Makefile
index f5dd405aece..9cfdb6267df 100644
--- a/cpp/test/Glacier2/router/Makefile
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/Makefile.mak b/cpp/test/Glacier2/router/Makefile.mak
index f9d5ec79341..8036341e142 100644
--- a/cpp/test/Glacier2/router/Makefile.mak
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/Server.cpp b/cpp/test/Glacier2/router/Server.cpp
index 838266fa14a..549283cad68 100644
--- a/cpp/test/Glacier2/router/Server.cpp
+++ b/cpp/test/Glacier2/router/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/test/Glacier2/router/run.py b/cpp/test/Glacier2/router/run.py
index b8843334466..9fb9a8e2240 100755
--- a/cpp/test/Glacier2/router/run.py
+++ b/cpp/test/Glacier2/router/run.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.
@@ -10,31 +10,30 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+sys.path.append(os.path.join(path[0]))
+from scripts import *
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
def startRouter(buffered):
- args = r' --Ice.Warn.Dispatch=0' + \
- r' --Ice.Warn.Connections=0' + \
- r' --Glacier2.Filter.Category.Accept="c1 c2"' + \
- r' --Glacier2.Filter.Category.AcceptUser="2"' + \
- r' --Glacier2.SessionTimeout="30"' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName="Glacier2"' + \
- r' --Glacier2.CryptPasswords="' + TestUtil.getMappingDir(__file__) + r'/test/Glacier2/router/passwords"'
+ args = ' --Ice.Warn.Dispatch=0' + \
+ ' --Ice.Warn.Connections=0' + \
+ ' --Glacier2.Filter.Category.Accept="c1 c2"' + \
+ ' --Glacier2.Filter.Category.AcceptUser="2"' + \
+ ' --Glacier2.SessionTimeout="30"' + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
+ ' --Ice.Admin.InstanceName="Glacier2"' + \
+ ' --Glacier2.CryptPasswords="%s"' % os.path.join(os.getcwd(), "passwords")
if buffered:
args += ' --Glacier2.Client.Buffered=1 --Glacier2.Server.Buffered=1'
@@ -43,48 +42,31 @@ def startRouter(buffered):
args += ' --Glacier2.Client.Buffered=0 --Glacier2.Server.Buffered=0'
print "starting router in unbuffered mode...",
- starterPipe = TestUtil.startServer(router, args + " 2>&1")
- TestUtil.getServerPid(starterPipe)
+ starterProc = TestUtil.startServer(router, args, count=2)
- #
- # For this test we don't want to add the router to the server threads
- # since we want the the router to run over two calls to
- # mixedClientServerTest
- #
- TestUtil.getAdapterReady(starterPipe, False, 2)
print "ok"
-
- routerThread = TestUtil.ReaderThread(starterPipe);
- routerThread.start()
-
- return routerThread
+ return starterProc
name = os.path.join("Glacier2", "router")
#
# We first run the test with unbuffered mode.
#
-routerThread = startRouter(False)
-TestUtil.mixedClientServerTestWithOptions(name, "", " --shutdown")
-routerThread.join()
-if routerThread.getStatus():
- sys.exit(1)
+starterProc = startRouter(False)
+TestUtil.clientServerTest(name, additionalClientOptions = " --shutdown")
+starterProc.waitTestSuccess()
#
# Then we run the test in buffered mode.
#
-routerThread = startRouter(True)
-TestUtil.mixedClientServerTest(name)
+starterProc = startRouter(True)
+TestUtil.clientServerTest()
#
# We run the test again, to check whether the glacier router can
# handle multiple clients. Also, when we run for the second time, we
# want the client to shutdown the router after running the tests.
#
-TestUtil.mixedClientServerTestWithOptions(name, "", " --shutdown")
-
-routerThread.join()
-if routerThread.getStatus():
- sys.exit(1)
+TestUtil.clientServerTest(name, additionalClientOptions = " --shutdown")
-sys.exit(0)
+starterProc.waitTestSuccess()
diff --git a/cpp/test/Glacier2/sessionControl/Client.cpp b/cpp/test/Glacier2/sessionControl/Client.cpp
index de298a3d13d..aae0cdaecce 100644
--- a/cpp/test/Glacier2/sessionControl/Client.cpp
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/Makefile b/cpp/test/Glacier2/sessionControl/Makefile
index ca476a29b56..f3aba1cd709 100644
--- a/cpp/test/Glacier2/sessionControl/Makefile
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/Makefile.mak b/cpp/test/Glacier2/sessionControl/Makefile.mak
index 997ac0142ae..ac2ae0a3184 100644
--- a/cpp/test/Glacier2/sessionControl/Makefile.mak
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/Server.cpp b/cpp/test/Glacier2/sessionControl/Server.cpp
index 2c243e7db70..477fe5b8f83 100644
--- a/cpp/test/Glacier2/sessionControl/Server.cpp
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/Session.ice b/cpp/test/Glacier2/sessionControl/Session.ice
index de3e345a130..3668057e9d5 100644
--- a/cpp/test/Glacier2/sessionControl/Session.ice
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/SessionI.cpp b/cpp/test/Glacier2/sessionControl/SessionI.cpp
index 816f38084ce..ad5c1fca423 100644
--- a/cpp/test/Glacier2/sessionControl/SessionI.cpp
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/SessionI.h b/cpp/test/Glacier2/sessionControl/SessionI.h
index 08d95498633..a392362644e 100644
--- a/cpp/test/Glacier2/sessionControl/SessionI.h
+++ b/cpp/test/Glacier2/sessionControl/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/test/Glacier2/sessionControl/run.py b/cpp/test/Glacier2/sessionControl/run.py
index 790b71662a5..5ebf8f58c26 100755
--- a/cpp/test/Glacier2/sessionControl/run.py
+++ b/cpp/test/Glacier2/sessionControl/run.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.
@@ -10,44 +10,36 @@
import os, sys, time
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Glacier2", "sessionControl")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-server = os.path.join(testdir, "server")
+server = os.path.join(os.getcwd(), "server")
print "starting server...",
-serverPipe = TestUtil.startServer(server, " 2>&1")
-TestUtil.getServerPid(serverPipe)
-TestUtil.getAdapterReady(serverPipe)
+serverProc = TestUtil.startServer(server)
print "ok"
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-args = r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Ice.Admin.Endpoints="tcp -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.Server.Endpoints="default -p 12349 -t 10000"' + \
- r' --Glacier2.SessionManager="SessionManager:tcp -p 12010 -t 10000"' \
- r' --Glacier2.PermissionsVerifier="Glacier2/NullPermissionsVerifier" 2>&1'
+args = ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Ice.Admin.Endpoints="tcp -p 12348 -t 10000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.Server.Endpoints="default -p 12349 -t 10000"' + \
+ ' --Glacier2.SessionManager="SessionManager:tcp -p 12010 -t 10000"' \
+ ' --Glacier2.PermissionsVerifier="Glacier2/NullPermissionsVerifier"'
print "starting router...",
-starterPipe = TestUtil.startServer(router, args)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
+starterProc = TestUtil.startServer(router, args, count = 2)
print "ok"
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
#
# The test may sporadically fail without this slight pause.
@@ -55,16 +47,9 @@ client = os.path.join(testdir, "client")
time.sleep(1)
print "starting client...",
-clientPipe = TestUtil.startClient(client, " 2>&1")
-#TestUtil.getServerPid(clientPipe)
+clientProc = TestUtil.startClient(client)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- TestUtil.killServers()
-
-if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+serverProc.waitTestSuccess()
+starterProc.waitTestSuccess()
diff --git a/cpp/test/Glacier2/ssl/Client.cpp b/cpp/test/Glacier2/ssl/Client.cpp
index 532890834fe..b19af8b7c46 100644
--- a/cpp/test/Glacier2/ssl/Client.cpp
+++ b/cpp/test/Glacier2/ssl/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/test/Glacier2/ssl/Makefile b/cpp/test/Glacier2/ssl/Makefile
index 878c3e8395d..cb8be764bf3 100644
--- a/cpp/test/Glacier2/ssl/Makefile
+++ b/cpp/test/Glacier2/ssl/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/test/Glacier2/ssl/Makefile.mak b/cpp/test/Glacier2/ssl/Makefile.mak
index 86660e5e7ac..b8d76d100e3 100644
--- a/cpp/test/Glacier2/ssl/Makefile.mak
+++ b/cpp/test/Glacier2/ssl/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/test/Glacier2/ssl/Server.cpp b/cpp/test/Glacier2/ssl/Server.cpp
index 1ee3e1bcb6a..f053535ffec 100644
--- a/cpp/test/Glacier2/ssl/Server.cpp
+++ b/cpp/test/Glacier2/ssl/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/test/Glacier2/ssl/run.py b/cpp/test/Glacier2/ssl/run.py
index 2c39f0d3e09..4f9f9418da0 100755
--- a/cpp/test/Glacier2/ssl/run.py
+++ b/cpp/test/Glacier2/ssl/run.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.
@@ -10,63 +10,48 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Glacier2", "ssl")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-server = os.path.join(testdir, "server")
+server = os.path.join(os.getcwd(), "server")
print "starting server...",
-serverPipe = TestUtil.startServer(server, " 2>&1")
-TestUtil.getServerPid(serverPipe)
-TestUtil.getAdapterReady(serverPipe)
+serverProc = TestUtil.startServer(server)
print "ok"
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-args = r' --Ice.Warn.Dispatch=0' + \
- r' --Glacier2.AddSSLContext=1' + \
- r' --Glacier2.Client.Endpoints="tcp -h 127.0.0.1 -p 12347 -t 10000:ssl -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12349 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.SessionManager="sessionmanager:tcp -h 127.0.0.1 -p 12350 -t 10000"' + \
- r' --Glacier2.PermissionsVerifier="Glacier2/NullPermissionsVerifier"' + \
- r' --Glacier2.SSLSessionManager="sslsessionmanager:tcp -h 127.0.0.1 -p 12350 -t 10000"' + \
- r' --Glacier2.SSLPermissionsVerifier="sslverifier:tcp -h 127.0.0.1 -p 12350 -t 10000"'
+args = ' --Ice.Warn.Dispatch=0' + \
+ ' --Glacier2.AddSSLContext=1' + \
+ ' --Glacier2.Client.Endpoints="tcp -h 127.0.0.1 -p 12347 -t 10000:ssl -h 127.0.0.1 -p 12348 -t 10000"' + \
+ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12349 -t 10000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.SessionManager="sessionmanager:tcp -h 127.0.0.1 -p 12350 -t 10000"' + \
+ ' --Glacier2.PermissionsVerifier="Glacier2/NullPermissionsVerifier"' + \
+ ' --Glacier2.SSLSessionManager="sslsessionmanager:tcp -h 127.0.0.1 -p 12350 -t 10000"' + \
+ ' --Glacier2.SSLPermissionsVerifier="sslverifier:tcp -h 127.0.0.1 -p 12350 -t 10000"'
routerCfg = TestUtil.DriverConfig("server")
routerCfg.protocol = "ssl"
print "starting router...",
-starterPipe = TestUtil.startServer(router, args + " 2>&1", routerCfg)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
+starterProc = TestUtil.startServer(router, args, routerCfg, count = 2)
print "ok"
clientCfg = TestUtil.DriverConfig("client")
clientCfg.protocol = "ssl"
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, "", clientCfg)
+clientProc = TestUtil.startClient(client, "", clientCfg)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- TestUtil.killServers()
-
-if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+serverProc.waitTestSuccess()
+starterProc.waitTestSuccess()
diff --git a/cpp/test/Glacier2/staticFiltering/Backend.ice b/cpp/test/Glacier2/staticFiltering/Backend.ice
index 5e93560db7c..8372bf252d3 100644
--- a/cpp/test/Glacier2/staticFiltering/Backend.ice
+++ b/cpp/test/Glacier2/staticFiltering/Backend.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/test/Glacier2/staticFiltering/BackendI.cpp b/cpp/test/Glacier2/staticFiltering/BackendI.cpp
index 030cec39b08..11d132b2d47 100644
--- a/cpp/test/Glacier2/staticFiltering/BackendI.cpp
+++ b/cpp/test/Glacier2/staticFiltering/BackendI.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/test/Glacier2/staticFiltering/BackendI.h b/cpp/test/Glacier2/staticFiltering/BackendI.h
index 780afd126f9..c1ddc658958 100644
--- a/cpp/test/Glacier2/staticFiltering/BackendI.h
+++ b/cpp/test/Glacier2/staticFiltering/BackendI.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/test/Glacier2/staticFiltering/Client.cpp b/cpp/test/Glacier2/staticFiltering/Client.cpp
index 76fd5267528..0c87fe89c7a 100644
--- a/cpp/test/Glacier2/staticFiltering/Client.cpp
+++ b/cpp/test/Glacier2/staticFiltering/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/test/Glacier2/staticFiltering/Makefile b/cpp/test/Glacier2/staticFiltering/Makefile
index a9bb950c507..bd031d64020 100644
--- a/cpp/test/Glacier2/staticFiltering/Makefile
+++ b/cpp/test/Glacier2/staticFiltering/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/test/Glacier2/staticFiltering/Makefile.mak b/cpp/test/Glacier2/staticFiltering/Makefile.mak
index aa9ab231db0..5bcd12f5f89 100644
--- a/cpp/test/Glacier2/staticFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/staticFiltering/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/test/Glacier2/staticFiltering/Server.cpp b/cpp/test/Glacier2/staticFiltering/Server.cpp
index dcc701d5239..0bd96ffcc83 100644
--- a/cpp/test/Glacier2/staticFiltering/Server.cpp
+++ b/cpp/test/Glacier2/staticFiltering/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/test/Glacier2/staticFiltering/run.py b/cpp/test/Glacier2/staticFiltering/run.py
index d99b5ef2525..24a35181cf5 100755
--- a/cpp/test/Glacier2/staticFiltering/run.py
+++ b/cpp/test/Glacier2/staticFiltering/run.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.
@@ -10,16 +10,15 @@
import os, sys, time, socket
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+sys.path.append(os.path.join(path[0]))
+from scripts import *
hostname = socket.gethostname()
fqdn = socket.getfqdn()
@@ -159,13 +158,13 @@ testcases = [
if not limitedTests:
testcases.extend([
('testing reject all',
- (r'', r'*', r'', '', '', ''),
+ ('', '*', '', '', '', ''),
[(False, 'helloA:tcp -h %s -p 12010' % fqdn),
(False, 'helloB:tcp -h %s -p 12010' % hostname),
(False, 'helloC:tcp -h 127.0.0.1 -p 12010'),
(True, 'bar @ foo')], []),
('testing loopback only rule',
- (r'127.0.0.1 localhost', r'', r'', '', '', ''),
+ ('127.0.0.1 localhost', '', '', '', '', ''),
[(False, 'hello:tcp -h %s -p 12010' % fqdn),
(False, 'hello:tcp -h %s -p 12010' % hostname),
(False, '127.0.0.1:tcp -h %s -p 12010' % hostname),
@@ -173,23 +172,44 @@ if not limitedTests:
(False, 'localhost/127.0.0.1:tcp -h %s -p 12010' % hostname),
(True, 'localhost:tcp -h 127.0.0.1 -p 12010'),
(True, 'localhost/127.0.0.1:tcp -h localhost -p 12010'),
- (True, r'hello:tcp -h 127.0.0.1 -p 12010'),
- (True, r'hello/somecat:tcp -h localhost -p 12010')], []),
+ (True, 'hello:tcp -h 127.0.0.1 -p 12010'),
+ (True, 'hello/somecat:tcp -h localhost -p 12010')], []),
+ ('testing port filter rule',
+ ('127.0.0.1:12010 localhost:12010', '', '', '', '', ''),
+ [(False, 'hello1:tcp -h 127.0.0.1 -p 12011'),
+ (False, 'hello2:tcp -h localhost -p 12011'),
+ (False, 'hello5:tcp -h %s -p 12010' % hostname),
+ (True, 'hello3:tcp -h 127.0.0.1 -p 12010'),
+ (True, 'hello4:tcp -h localhost -p 12010')], []),
+ ('testing reject port filter rule',
+ ('', '127.0.0.1:[0-12009,12011-65535] localhost:[0-12009,12011-65535]', '', '', '', ''),
+ [(False, 'hello1:tcp -h 127.0.0.1 -p 12011'),
+ (False, 'hello2:tcp -h localhost -p 12011'),
+ (True, 'hello5:tcp -h %s -p 12010' % hostname),
+ (True, 'hello3:tcp -h 127.0.0.1 -p 12010'),
+ (True, 'hello4:tcp -h localhost -p 12010')], []),
+ ('testing port filter rule with wildcard address rule',
+ ('*:12010', '', '', '', '', ''),
+ [(False, 'hello1:tcp -h 127.0.0.1 -p 12011'),
+ (False, 'hello2:tcp -h localhost -p 12011'),
+ (True, 'hello5:tcp -h %s -p 12010' % hostname),
+ (True, 'hello3:tcp -h 127.0.0.1 -p 12010'),
+ (True, 'hello4:tcp -h localhost -p 12010')], []),
('testing domain filter rule (accept)',
- ("*" + domainname, r'', r'', '', '', ''),
+ ("*" + domainname, '', '', '', '', ''),
[(True, 'hello:tcp -h %s -p 12010' % fqdn),
(False, 'hello:tcp -h %s -p 12010' % hostname)], []),
('testing domain filter rule (reject)',
- (r'', "*" + domainname, r'', '', '', ''),
+ ('', "*" + domainname, '', '', '', ''),
[(False, 'hello:tcp -h %s -p 12010' % fqdn),
(True, 'hello:tcp -h %s -p 12010' % hostname),
(True, 'bar:tcp -h 127.0.0.1 -p 12010')], []),
('testing domain filter rule (mixed)',
- ("127.0.0.1", fqdn, r'', '', '', ''),
+ ("127.0.0.1", fqdn, '', '', '', ''),
[(False, 'hello:tcp -h %s -p 12010:tcp -h 127.0.0.1 -p 12010' % fqdn),
(True, 'bar:tcp -h 127.0.0.1 -p 12010')], []),
('testing maximum proxy length rule',
- (r'', r'', r'40', '', '', ''),
+ ('', '', '40', '', '', ''),
[(True, 'hello:tcp -h 127.0.0.1 -p 12010'),
(False, '012345678901234567890123456789012345678901234567890123456789:tcp -h 127.0.0.1 -p 12010')], []),
])
@@ -212,13 +232,12 @@ def pingProgress():
for testcase in testcases:
description, args, attacks, xtraConfig = testcase
acceptFilter, rejectFilter, maxEndpoints, categoryFilter, idFilter, adapterFilter = args
- testdir = os.path.dirname(os.path.abspath(__file__))
#
# The test client performs multiple tests during one 'run'. We could
# use command line arguments to pass the test cases in, but a
# configuration file is easier.
#
- attackcfg = file(os.path.join(testdir, 'attack.cfg'), 'w')
+ attackcfg = file(os.path.join(os.getcwd(), 'attack.cfg'), 'w')
accepts=0
rejects=0
sys.stdout.write(description)
@@ -238,30 +257,28 @@ for testcase in testcases:
hostArg = ""
if limitedTests:
hostArg = " --Ice.Default.Host=127.0.0.1"
-
-
#
# This test causes connections to be terminated which will cause
# warnings if we use the default test flags. So we need to define
# our own.
#
- commonClientOptions = " --Ice.NullHandleAbort=1 --Ice.PrintProcessId=1 --Ice.Warn.Connections=0 " + hostArg
- commonServerOptions = r' --Ice.PrintProcessId --Ice.PrintAdapterReady --Ice.NullHandleAbort=1' + \
- r' --Ice.ServerIdleTime=600 --Ice.ThreadPool.Server.Size=2 --Ice.ThreadPool.Server.SizeMax=10' + \
- r' --Glacier2.RoutingTable.MaxSize=10 --Ice.Warn.Connections=0 ' + hostArg
+ commonClientOptions = " --Ice.NullHandleAbort=1 --Ice.Warn.Connections=0 " + hostArg
+ commonServerOptions = ' --Ice.PrintAdapterReady --Ice.NullHandleAbort=1' + \
+ ' --Ice.ServerIdleTime=600 --Ice.ThreadPool.Server.Size=2 --Ice.ThreadPool.Server.SizeMax=10' + \
+ ' --Glacier2.RoutingTable.MaxSize=10 --Ice.Warn.Connections=0 ' + hostArg
#
# We cannot use the TestUtil options because they use localhost as the default host which doesn't really work for
# these tests.
#
- routerArgs = " --Ice.Config=" + os.path.join(testdir, "router.cfg") + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 60000"' + \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 60000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + os.path.dirname(os.path.abspath(__file__)) + r'/passwords"'
+ routerArgs = " --Ice.Config=" + os.path.join(os.getcwd(), "router.cfg") + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 60000"' + \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 60000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.CryptPasswords="' + os.path.join(os.getcwd(), "passwords") + '"'
- routerConfig = file(os.path.join(testdir, "router.cfg"), "w")
+ routerConfig = file(os.path.join(os.getcwd(), "router.cfg"), "w")
routerConfig.write("Ice.Default.Locator=locator:tcp -h %s -p 12010\n" % hostname)
routerConfig.write("Glacier2.Client.Trace.Reject=0\n")
@@ -299,27 +316,23 @@ for testcase in testcases:
routerDriver.host = None
routerDriver.overrides = commonServerOptions + routerArgs
- starterPipe = TestUtil.startServer(router, " 2>&1", routerDriver)
- TestUtil.getServerPid(starterPipe)
- TestUtil.getAdapterReady(starterPipe, True, 2)
+ starterProc = TestUtil.startServer(router, config=routerDriver, count=2)
pingProgress()
if TestUtil.protocol != "ssl":
- serverConfig = file(os.path.join(testdir, "server.cfg"), "w")
- serverOptions = ' --Ice.Config=' + os.path.join(testdir, "server.cfg") + " "
+ serverConfig = file(os.path.join(os.getcwd(), "server.cfg"), "w")
+ serverOptions = ' --Ice.Config=' + os.path.join(os.getcwd(), "server.cfg") + " "
serverConfig.write("BackendAdapter.Endpoints=tcp -p 12010 -t 20000\n")
serverConfig.close()
else:
serverOptions = ""
- serverCmd = os.path.join(testdir, 'server')
+ serverCmd = os.path.join(os.getcwd(), 'server')
serverDriver = TestUtil.DriverConfig("server")
if serverDriver.host == "127.0.0.1":
serverDriver.host = None
serverDriver.overrides = commonServerOptions
- serverPipe = TestUtil.startServer(serverCmd, serverOptions + " 2>&1", serverDriver)
- TestUtil.getServerPid(serverPipe)
- TestUtil.getAdapterReady(serverPipe)
+ serverProc = TestUtil.startServer(serverCmd, serverOptions, serverDriver)
pingProgress()
sys.stdout.write(' ')
@@ -329,22 +342,13 @@ for testcase in testcases:
# The client is responsible for reporting success or failure. A test
# failure will result in an assertion and the test will abort.
#
- clientCmd = os.path.join(testdir, 'client')
+ clientCmd = os.path.join(os.getcwd(), 'client')
clientDriver = TestUtil.DriverConfig("client")
if clientDriver.host == "127.0.0.1":
clientDriver.host = None
clientDriver.host = commonClientOptions
- clientArgs = " --Ice.Config=" + os.path.join(testdir, 'attack.cfg') + " "
- clientPipe = TestUtil.startClient(clientCmd, clientArgs + " 2>&1", clientDriver)
- TestUtil.ignorePid(clientPipe)
-
- TestUtil.printOutputFromPipe(clientPipe)
-
- clientStatus = TestUtil.closePipe(clientPipe)
- if clientStatus:
- TestUtil.killServers()
-
- if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+ clientArgs = " --Ice.Config=" + os.path.join(os.getcwd(), 'attack.cfg') + " "
+ clientProc = TestUtil.startClient(clientCmd, clientArgs, clientDriver)
+ clientProc.waitTestSuccess()
+ serverProc.waitTestSuccess()
+ starterProc.waitTestSuccess()
diff --git a/cpp/test/Ice/Makefile b/cpp/test/Ice/Makefile
index 0bb058399ff..f344aa259de 100644
--- a/cpp/test/Ice/Makefile
+++ b/cpp/test/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.
@@ -32,7 +32,8 @@ SUBDIRS = proxy \
servantLocator \
interceptor \
stringConverter \
- background
+ background \
+ udp
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cpp/test/Ice/Makefile.mak b/cpp/test/Ice/Makefile.mak
index 08e2e0d839a..58f3c8aabac 100644
--- a/cpp/test/Ice/Makefile.mak
+++ b/cpp/test/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.
@@ -32,7 +32,8 @@ SUBDIRS = proxy \
servantLocator \
interceptor \
stringConverter \
- background
+ background \
+ udp
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cpp/test/Ice/adapterDeactivation/AllTests.cpp b/cpp/test/Ice/adapterDeactivation/AllTests.cpp
index 82d48f243eb..a9d206f5189 100644
--- a/cpp/test/Ice/adapterDeactivation/AllTests.cpp
+++ b/cpp/test/Ice/adapterDeactivation/AllTests.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/test/Ice/adapterDeactivation/Client.cpp b/cpp/test/Ice/adapterDeactivation/Client.cpp
index 90817ddda7a..1a9d5d849de 100644
--- a/cpp/test/Ice/adapterDeactivation/Client.cpp
+++ b/cpp/test/Ice/adapterDeactivation/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/test/Ice/adapterDeactivation/Collocated.cpp b/cpp/test/Ice/adapterDeactivation/Collocated.cpp
index 00805b51a45..15d5e0c29b9 100644
--- a/cpp/test/Ice/adapterDeactivation/Collocated.cpp
+++ b/cpp/test/Ice/adapterDeactivation/Collocated.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/test/Ice/adapterDeactivation/Makefile b/cpp/test/Ice/adapterDeactivation/Makefile
index 950164077a6..a7cd27c6f24 100644
--- a/cpp/test/Ice/adapterDeactivation/Makefile
+++ b/cpp/test/Ice/adapterDeactivation/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/test/Ice/adapterDeactivation/Makefile.mak b/cpp/test/Ice/adapterDeactivation/Makefile.mak
index bb8effb6b9a..e54ee78546d 100644
--- a/cpp/test/Ice/adapterDeactivation/Makefile.mak
+++ b/cpp/test/Ice/adapterDeactivation/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/test/Ice/adapterDeactivation/ServantLocatorI.cpp b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
index 7f98372cc39..20b569155c3 100644
--- a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.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/test/Ice/adapterDeactivation/ServantLocatorI.h b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h
index 598e01a240c..315a3724689 100644
--- a/cpp/test/Ice/adapterDeactivation/ServantLocatorI.h
+++ b/cpp/test/Ice/adapterDeactivation/ServantLocatorI.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/test/Ice/adapterDeactivation/Server.cpp b/cpp/test/Ice/adapterDeactivation/Server.cpp
index 9eaf6af5609..8a20e8144b8 100644
--- a/cpp/test/Ice/adapterDeactivation/Server.cpp
+++ b/cpp/test/Ice/adapterDeactivation/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/test/Ice/adapterDeactivation/Test.ice b/cpp/test/Ice/adapterDeactivation/Test.ice
index e8e64e9ae9b..251f56be662 100644
--- a/cpp/test/Ice/adapterDeactivation/Test.ice
+++ b/cpp/test/Ice/adapterDeactivation/Test.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/test/Ice/adapterDeactivation/TestI.cpp b/cpp/test/Ice/adapterDeactivation/TestI.cpp
index 66b33f0ad0d..8ad6b2b6475 100644
--- a/cpp/test/Ice/adapterDeactivation/TestI.cpp
+++ b/cpp/test/Ice/adapterDeactivation/TestI.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/test/Ice/adapterDeactivation/TestI.h b/cpp/test/Ice/adapterDeactivation/TestI.h
index f2fb0c1e145..535d1b39bff 100644
--- a/cpp/test/Ice/adapterDeactivation/TestI.h
+++ b/cpp/test/Ice/adapterDeactivation/TestI.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/test/Ice/adapterDeactivation/run.py b/cpp/test/Ice/adapterDeactivation/run.py
index 789ff1b7f41..545214a74c7 100755
--- a/cpp/test/Ice/adapterDeactivation/run.py
+++ b/cpp/test/Ice/adapterDeactivation/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "adapterDeactivation")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/background/.gitignore b/cpp/test/Ice/background/.gitignore
index 70003eefc96..fea0e98422a 100644
--- a/cpp/test/Ice/background/.gitignore
+++ b/cpp/test/Ice/background/.gitignore
@@ -3,7 +3,7 @@
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
client
server
-libTestTransport.so.3.3.0
+libTestTransport.so.3.3.1
libTestTransport.so.33
libTestTransport.so
Test.cpp
diff --git a/cpp/test/Ice/background/Acceptor.cpp b/cpp/test/Ice/background/Acceptor.cpp
index 2dfdb7df81a..aa7a1902fdd 100644
--- a/cpp/test/Ice/background/Acceptor.cpp
+++ b/cpp/test/Ice/background/Acceptor.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/test/Ice/background/Acceptor.h b/cpp/test/Ice/background/Acceptor.h
index adbb1fd3f83..d8fa464cc3e 100644
--- a/cpp/test/Ice/background/Acceptor.h
+++ b/cpp/test/Ice/background/Acceptor.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/test/Ice/background/AllTests.cpp b/cpp/test/Ice/background/AllTests.cpp
index d96e71e6584..5da5b39ee7b 100644
--- a/cpp/test/Ice/background/AllTests.cpp
+++ b/cpp/test/Ice/background/AllTests.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/test/Ice/background/Client.cpp b/cpp/test/Ice/background/Client.cpp
index 4b9f91dcaa2..d5a4512755c 100644
--- a/cpp/test/Ice/background/Client.cpp
+++ b/cpp/test/Ice/background/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.
@@ -46,7 +46,7 @@ main(int argc, char* argv[])
initData.properties->setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
initData.properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
string defaultProtocol = initData.properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
diff --git a/cpp/test/Ice/background/Configuration.cpp b/cpp/test/Ice/background/Configuration.cpp
index 78a28bd8626..fbfe11c5d2a 100644
--- a/cpp/test/Ice/background/Configuration.cpp
+++ b/cpp/test/Ice/background/Configuration.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/test/Ice/background/Configuration.h b/cpp/test/Ice/background/Configuration.h
index 586c439a845..713f9441278 100644
--- a/cpp/test/Ice/background/Configuration.h
+++ b/cpp/test/Ice/background/Configuration.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/test/Ice/background/Connector.cpp b/cpp/test/Ice/background/Connector.cpp
index ce85707a254..14c46290148 100644
--- a/cpp/test/Ice/background/Connector.cpp
+++ b/cpp/test/Ice/background/Connector.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/test/Ice/background/Connector.h b/cpp/test/Ice/background/Connector.h
index 2c790130272..4aeaaa5c804 100644
--- a/cpp/test/Ice/background/Connector.h
+++ b/cpp/test/Ice/background/Connector.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/test/Ice/background/EndpointFactory.cpp b/cpp/test/Ice/background/EndpointFactory.cpp
index e15b1b1cfd9..cbe947e8898 100644
--- a/cpp/test/Ice/background/EndpointFactory.cpp
+++ b/cpp/test/Ice/background/EndpointFactory.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/test/Ice/background/EndpointFactory.h b/cpp/test/Ice/background/EndpointFactory.h
index bdbe06c7b8e..e4003182f45 100644
--- a/cpp/test/Ice/background/EndpointFactory.h
+++ b/cpp/test/Ice/background/EndpointFactory.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/test/Ice/background/EndpointI.cpp b/cpp/test/Ice/background/EndpointI.cpp
index 52c5819e9bc..d40e33ffd4b 100644
--- a/cpp/test/Ice/background/EndpointI.cpp
+++ b/cpp/test/Ice/background/EndpointI.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/test/Ice/background/EndpointI.h b/cpp/test/Ice/background/EndpointI.h
index 08b72735dca..65c7d47f158 100644
--- a/cpp/test/Ice/background/EndpointI.h
+++ b/cpp/test/Ice/background/EndpointI.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/test/Ice/background/Makefile b/cpp/test/Ice/background/Makefile
index 2e2d0a51bca..08563352b3b 100644
--- a/cpp/test/Ice/background/Makefile
+++ b/cpp/test/Ice/background/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/test/Ice/background/Makefile.mak b/cpp/test/Ice/background/Makefile.mak
index d842afa28a7..da97c3ec53d 100644
--- a/cpp/test/Ice/background/Makefile.mak
+++ b/cpp/test/Ice/background/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/test/Ice/background/PluginI.cpp b/cpp/test/Ice/background/PluginI.cpp
index e8a0c4bac48..3910ab9ff54 100644
--- a/cpp/test/Ice/background/PluginI.cpp
+++ b/cpp/test/Ice/background/PluginI.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/test/Ice/background/PluginI.h b/cpp/test/Ice/background/PluginI.h
index b0702ebd7e6..87dffe59ec2 100644
--- a/cpp/test/Ice/background/PluginI.h
+++ b/cpp/test/Ice/background/PluginI.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/test/Ice/background/Server.cpp b/cpp/test/Ice/background/Server.cpp
index 0894fa0f617..76a316d2f44 100644
--- a/cpp/test/Ice/background/Server.cpp
+++ b/cpp/test/Ice/background/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.
@@ -139,7 +139,7 @@ main(int argc, char* argv[])
initData.properties->setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
initData.properties->setProperty("Ice.Plugin.Test", "TestTransport:createTestTransport");
string defaultProtocol = initData.properties->getPropertyWithDefault("Ice.Default.Protocol", "tcp");
diff --git a/cpp/test/Ice/background/Test.ice b/cpp/test/Ice/background/Test.ice
index 11ef1c5a63a..e4707ef2706 100644
--- a/cpp/test/Ice/background/Test.ice
+++ b/cpp/test/Ice/background/Test.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/test/Ice/background/TestI.cpp b/cpp/test/Ice/background/TestI.cpp
index 7c09dc983eb..a99c633058e 100644
--- a/cpp/test/Ice/background/TestI.cpp
+++ b/cpp/test/Ice/background/TestI.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/test/Ice/background/TestI.h b/cpp/test/Ice/background/TestI.h
index 515c39b19d9..9ccfe8aac95 100644
--- a/cpp/test/Ice/background/TestI.h
+++ b/cpp/test/Ice/background/TestI.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/test/Ice/background/Transceiver.cpp b/cpp/test/Ice/background/Transceiver.cpp
index 2d895dd0527..c64e841174d 100644
--- a/cpp/test/Ice/background/Transceiver.cpp
+++ b/cpp/test/Ice/background/Transceiver.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/test/Ice/background/Transceiver.h b/cpp/test/Ice/background/Transceiver.h
index 06fc9eeddc4..a87521b2a10 100644
--- a/cpp/test/Ice/background/Transceiver.h
+++ b/cpp/test/Ice/background/Transceiver.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/test/Ice/background/run.py b/cpp/test/Ice/background/run.py
index ffa6acdbc2b..bb34e7d35b7 100755
--- a/cpp/test/Ice/background/run.py
+++ b/cpp/test/Ice/background/run.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.
@@ -10,21 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "background")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.addLdPath(testdir)
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/binding/AllTests.cpp b/cpp/test/Ice/binding/AllTests.cpp
index 82608b81ff3..6176c13723d 100644
--- a/cpp/test/Ice/binding/AllTests.cpp
+++ b/cpp/test/Ice/binding/AllTests.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/test/Ice/binding/Client.cpp b/cpp/test/Ice/binding/Client.cpp
index 4e611895de7..aa569dcf1e9 100644
--- a/cpp/test/Ice/binding/Client.cpp
+++ b/cpp/test/Ice/binding/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/test/Ice/binding/Makefile b/cpp/test/Ice/binding/Makefile
index a198d297cad..bcb5eb4e8a4 100644
--- a/cpp/test/Ice/binding/Makefile
+++ b/cpp/test/Ice/binding/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/test/Ice/binding/Makefile.mak b/cpp/test/Ice/binding/Makefile.mak
index eddb323bbc2..11a5b582373 100644
--- a/cpp/test/Ice/binding/Makefile.mak
+++ b/cpp/test/Ice/binding/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/test/Ice/binding/Server.cpp b/cpp/test/Ice/binding/Server.cpp
index e1b6c6744be..a1cfe19e968 100644
--- a/cpp/test/Ice/binding/Server.cpp
+++ b/cpp/test/Ice/binding/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/test/Ice/binding/Test.ice b/cpp/test/Ice/binding/Test.ice
index 5baef2fb7d4..40783e4535c 100644
--- a/cpp/test/Ice/binding/Test.ice
+++ b/cpp/test/Ice/binding/Test.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/test/Ice/binding/TestI.cpp b/cpp/test/Ice/binding/TestI.cpp
index 38d5aa00a3d..381617f7527 100644
--- a/cpp/test/Ice/binding/TestI.cpp
+++ b/cpp/test/Ice/binding/TestI.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/test/Ice/binding/TestI.h b/cpp/test/Ice/binding/TestI.h
index 2cad3a607e1..896837708eb 100644
--- a/cpp/test/Ice/binding/TestI.h
+++ b/cpp/test/Ice/binding/TestI.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/test/Ice/binding/run.py b/cpp/test/Ice/binding/run.py
index 02f04424efa..bb34e7d35b7 100755
--- a/cpp/test/Ice/binding/run.py
+++ b/cpp/test/Ice/binding/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/checksum/client/.depend b/cpp/test/Ice/checksum/.depend
index 42e582646ee..6c6cf6a29ce 100644
--- a/cpp/test/Ice/checksum/client/.depend
+++ b/cpp/test/Ice/checksum/.depend
@@ -1,7 +1,7 @@
-Test$(OBJEXT): Test.cpp ./Test.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)/IceUtil/Unicode.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-Types$(OBJEXT): Types.cpp ./Types.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)/IceUtil/Unicode.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ../../../include/TestCommon.h ./Test.h $(includedir)/Ice/SliceChecksumDict.h
-AllTests$(OBJEXT): AllTests.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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h ../../../include/TestCommon.h ./Test.h
+Test$(OBJEXT): Test.cpp ./Test.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 $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Types$(OBJEXT): Types.cpp ./Types.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 $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.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 ../../include/TestCommon.h ./Test.h $(includedir)/Ice/SliceChecksumDict.h
+AllTests$(OBJEXT): AllTests.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 $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h ../../include/TestCommon.h ./Test.h
Test.cpp: Test.ice $(slicedir)/Ice/SliceChecksumDict.ice
Types.cpp: Types.ice
Test.ice: $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/test/Ice/checksum/.gitignore b/cpp/test/Ice/checksum/.gitignore
new file mode 100644
index 00000000000..66eb6771fc6
--- /dev/null
+++ b/cpp/test/Ice/checksum/.gitignore
@@ -0,0 +1,13 @@
+// Generated by makegitignore.py
+
+// IMPORTANT: Do not edit this file -- any edits made here will be lost!
+client
+Test.cpp
+Types.cpp
+Test.h
+Types.h
+server
+Test.cpp
+Types.cpp
+Test.h
+Types.h
diff --git a/cpp/test/Ice/checksum/client/AllTests.cpp b/cpp/test/Ice/checksum/AllTests.cpp
index 775874b3b9d..ddac9b3242d 100644
--- a/cpp/test/Ice/checksum/client/AllTests.cpp
+++ b/cpp/test/Ice/checksum/AllTests.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/test/Ice/checksum/client/Client.cpp b/cpp/test/Ice/checksum/Client.cpp
index ef9abc94e5b..828b4d80c5a 100644
--- a/cpp/test/Ice/checksum/client/Client.cpp
+++ b/cpp/test/Ice/checksum/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/test/Ice/checksum/Makefile b/cpp/test/Ice/checksum/Makefile
index 1d6613575cd..4a56331df5e 100644
--- a/cpp/test/Ice/checksum/Makefile
+++ b/cpp/test/Ice/checksum/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.
@@ -9,10 +9,30 @@
top_srcdir = ../../..
+CLIENT = client
+
+TARGETS = $(CLIENT)
+
+COBJS = Test.o \
+ Types.o \
+ Client.o \
+ AllTests.o
+
+SRCS = $(COBJS:.o=.cpp)
+
+SLICE_SRCS = Test.ice Types.ice
+
include $(top_srcdir)/config/Make.rules
-SUBDIRS = client \
- server
+CPPFLAGS := -I. -I../../include $(CPPFLAGS)
+
+SLICE2CPPFLAGS := --checksum $(SLICE2CPPFLAGS)
+
+$(CLIENT): $(COBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(COBJS) $(LIBS)
+
+SUBDIRS = server
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
@@ -20,3 +40,6 @@ $(EVERYTHING)::
echo "making $@ in $$subdir"; \
( cd $$subdir && $(MAKE) $@ ) || exit 1; \
done
+
+
+include .depend
diff --git a/cpp/test/Ice/checksum/Makefile.mak b/cpp/test/Ice/checksum/Makefile.mak
index 27ee90aab10..1c30d9c4edb 100644
--- a/cpp/test/Ice/checksum/Makefile.mak
+++ b/cpp/test/Ice/checksum/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.
@@ -9,12 +9,40 @@
top_srcdir = ..\..\..
-!include $(top_srcdir)\config\Make.rules.mak
+CLIENT = client.exe
-SUBDIRS = client \
- server
+TARGETS = $(CLIENT)
+
+COBJS = Test.obj \
+ Types.obj \
+ Client.obj \
+ AllTests.obj
+
+SRCS = $(COBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+SLICE2CPPFLAGS = --checksum $(SLICE2CPPFLAGS)
+CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(GENERATE_PDB)" == "yes"
+PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+!endif
+
+$(CLIENT): $(COBJS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Test.cpp Test.h
+ del /q Types.cpp Types.h
+
+SUBDIRS = server
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
@echo "making $@ in %i" && \
cmd /c "cd %i && $(MAKE) -nologo -f Makefile.mak $@" || exit 1
+
+!include .depend
diff --git a/cpp/test/Ice/checksum/client/Test.ice b/cpp/test/Ice/checksum/Test.ice
index 254b497efe0..23a669c413e 100644
--- a/cpp/test/Ice/checksum/client/Test.ice
+++ b/cpp/test/Ice/checksum/Test.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/cs/test/Ice/checksum/client/Types.ice b/cpp/test/Ice/checksum/Types.ice
index ea5e644a755..f9f05a43e4c 100644
--- a/cs/test/Ice/checksum/client/Types.ice
+++ b/cpp/test/Ice/checksum/Types.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/test/Ice/checksum/client/Makefile b/cpp/test/Ice/checksum/client/Makefile
deleted file mode 100644
index 0991485cef6..00000000000
--- a/cpp/test/Ice/checksum/client/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. 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
-
-TARGETS = $(CLIENT)
-
-COBJS = Test.o \
- Types.o \
- Client.o \
- AllTests.o
-
-SRCS = $(COBJS:.o=.cpp)
-
-SLICE_SRCS = Test.ice Types.ice
-
-include $(top_srcdir)/config/Make.rules
-
-CPPFLAGS := -I. -I../../../include $(CPPFLAGS)
-
-SLICE2CPPFLAGS := --checksum $(SLICE2CPPFLAGS)
-
-$(CLIENT): $(COBJS)
- rm -f $@
- $(CXX) $(LDFLAGS) -o $@ $(COBJS) $(LIBS)
-
-include .depend
diff --git a/cpp/test/Ice/checksum/run.py b/cpp/test/Ice/checksum/run.py
index 97845fd0f6d..ba52f388067 100755
--- a/cpp/test/Ice/checksum/run.py
+++ b/cpp/test/Ice/checksum/run.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.
@@ -10,20 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "checksum")
-
-server = os.path.join("server", "server")
-client = os.path.join("client", "client")
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", server, client)
-sys.exit(0)
+server = os.path.join(os.getcwd(), "server", "server")
+TestUtil.clientServerTest(server = server)
diff --git a/cpp/test/Ice/checksum/server/.depend b/cpp/test/Ice/checksum/server/.depend
index 61546153aaf..33046eb19dd 100644
--- a/cpp/test/Ice/checksum/server/.depend
+++ b/cpp/test/Ice/checksum/server/.depend
@@ -1,7 +1,7 @@
-Test$(OBJEXT): Test.cpp ./Test.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)/IceUtil/Unicode.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-Types$(OBJEXT): Types.cpp ./Types.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)/IceUtil/Unicode.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
-TestI$(OBJEXT): TestI.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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h ./TestI.h ./Test.h
-Server$(OBJEXT): Server.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/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)/IceUtil/Unicode.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/Plugin.h $(includedir)/Ice/IconvStringConverter.h ./TestI.h ./Test.h $(includedir)/Ice/SliceChecksumDict.h
+Test$(OBJEXT): Test.cpp ./Test.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 $(includedir)/Ice/SliceChecksumDict.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+Types$(OBJEXT): Types.cpp ./Types.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 $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h $(includedir)/IceUtil/Iterator.h $(includedir)/IceUtil/ScopedArray.h
+TestI$(OBJEXT): TestI.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 $(includedir)/Ice/SliceChecksums.h $(includedir)/Ice/SliceChecksumDict.h ./TestI.h ./Test.h
+Server$(OBJEXT): Server.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 ./TestI.h ./Test.h $(includedir)/Ice/SliceChecksumDict.h
Test.cpp: Test.ice $(slicedir)/Ice/SliceChecksumDict.ice
Types.cpp: Types.ice
Test.ice: $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/test/Ice/checksum/server/Makefile b/cpp/test/Ice/checksum/server/Makefile
index 9c4963f1b65..352c3f3734a 100644
--- a/cpp/test/Ice/checksum/server/Makefile
+++ b/cpp/test/Ice/checksum/server/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/test/Ice/checksum/server/Makefile.mak b/cpp/test/Ice/checksum/server/Makefile.mak
index 470535c3215..cd1c0eacd22 100644
--- a/cpp/test/Ice/checksum/server/Makefile.mak
+++ b/cpp/test/Ice/checksum/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/test/Ice/checksum/server/Server.cpp b/cpp/test/Ice/checksum/server/Server.cpp
index de5882be733..1ca63e1a3de 100644
--- a/cpp/test/Ice/checksum/server/Server.cpp
+++ b/cpp/test/Ice/checksum/server/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/test/Ice/checksum/server/Test.ice b/cpp/test/Ice/checksum/server/Test.ice
index 254b497efe0..23a669c413e 100644
--- a/cpp/test/Ice/checksum/server/Test.ice
+++ b/cpp/test/Ice/checksum/server/Test.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/test/Ice/checksum/server/TestI.cpp b/cpp/test/Ice/checksum/server/TestI.cpp
index e0b18fd5ee4..a779da2d3a2 100644
--- a/cpp/test/Ice/checksum/server/TestI.cpp
+++ b/cpp/test/Ice/checksum/server/TestI.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/test/Ice/checksum/server/TestI.h b/cpp/test/Ice/checksum/server/TestI.h
index 227f691001c..df1e1a23bb4 100644
--- a/cpp/test/Ice/checksum/server/TestI.h
+++ b/cpp/test/Ice/checksum/server/TestI.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/test/Ice/checksum/server/Types.ice b/cpp/test/Ice/checksum/server/Types.ice
index e85192aef7e..27bac1ecdd4 100644
--- a/cpp/test/Ice/checksum/server/Types.ice
+++ b/cpp/test/Ice/checksum/server/Types.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/test/Ice/custom/AllTests.cpp b/cpp/test/Ice/custom/AllTests.cpp
index 99274844d76..5846917f591 100644
--- a/cpp/test/Ice/custom/AllTests.cpp
+++ b/cpp/test/Ice/custom/AllTests.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/test/Ice/custom/Client.cpp b/cpp/test/Ice/custom/Client.cpp
index c7fd7126733..e3470ac97e5 100644
--- a/cpp/test/Ice/custom/Client.cpp
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/Collocated.cpp b/cpp/test/Ice/custom/Collocated.cpp
index 43089c64c82..f3e7aa1aea9 100644
--- a/cpp/test/Ice/custom/Collocated.cpp
+++ b/cpp/test/Ice/custom/Collocated.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/test/Ice/custom/Makefile b/cpp/test/Ice/custom/Makefile
index 665a0f07266..aeae83d05df 100644
--- a/cpp/test/Ice/custom/Makefile
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/Makefile.mak b/cpp/test/Ice/custom/Makefile.mak
index 6317c5c3841..33fddcc6972 100644
--- a/cpp/test/Ice/custom/Makefile.mak
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/MyByteSeq.cpp b/cpp/test/Ice/custom/MyByteSeq.cpp
index ac8f4626e50..e7b0ef49d31 100644
--- a/cpp/test/Ice/custom/MyByteSeq.cpp
+++ b/cpp/test/Ice/custom/MyByteSeq.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/test/Ice/custom/MyByteSeq.h b/cpp/test/Ice/custom/MyByteSeq.h
index a35b91c2205..a2492462853 100644
--- a/cpp/test/Ice/custom/MyByteSeq.h
+++ b/cpp/test/Ice/custom/MyByteSeq.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/test/Ice/custom/Server.cpp b/cpp/test/Ice/custom/Server.cpp
index 034a9937e13..13e9f6ee8a3 100644
--- a/cpp/test/Ice/custom/Server.cpp
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/ServerAMD.cpp b/cpp/test/Ice/custom/ServerAMD.cpp
index a184c26b7a6..27b6caedb47 100644
--- a/cpp/test/Ice/custom/ServerAMD.cpp
+++ b/cpp/test/Ice/custom/ServerAMD.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/test/Ice/custom/StringConverterI.cpp b/cpp/test/Ice/custom/StringConverterI.cpp
index f7d78d92923..a1746ef589c 100644
--- a/cpp/test/Ice/custom/StringConverterI.cpp
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/StringConverterI.h b/cpp/test/Ice/custom/StringConverterI.h
index 4f7a284f73f..f2063a63f62 100644
--- a/cpp/test/Ice/custom/StringConverterI.h
+++ b/cpp/test/Ice/custom/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/test/Ice/custom/Test.ice b/cpp/test/Ice/custom/Test.ice
index be33728f42c..b39ae032e65 100644
--- a/cpp/test/Ice/custom/Test.ice
+++ b/cpp/test/Ice/custom/Test.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/test/Ice/custom/TestAMD.ice b/cpp/test/Ice/custom/TestAMD.ice
index b033d5ce734..a0d85e5ccc9 100644
--- a/cpp/test/Ice/custom/TestAMD.ice
+++ b/cpp/test/Ice/custom/TestAMD.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/test/Ice/custom/TestAMDI.cpp b/cpp/test/Ice/custom/TestAMDI.cpp
index 91e498b19cb..72759ac1852 100644
--- a/cpp/test/Ice/custom/TestAMDI.cpp
+++ b/cpp/test/Ice/custom/TestAMDI.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/test/Ice/custom/TestAMDI.h b/cpp/test/Ice/custom/TestAMDI.h
index 4d4ff8220fa..346db3b17a4 100644
--- a/cpp/test/Ice/custom/TestAMDI.h
+++ b/cpp/test/Ice/custom/TestAMDI.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/test/Ice/custom/TestI.cpp b/cpp/test/Ice/custom/TestI.cpp
index 0d4733ea8f6..21a51097ddc 100644
--- a/cpp/test/Ice/custom/TestI.cpp
+++ b/cpp/test/Ice/custom/TestI.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/test/Ice/custom/TestI.h b/cpp/test/Ice/custom/TestI.h
index 7a6e2e81a13..736a124c892 100644
--- a/cpp/test/Ice/custom/TestI.h
+++ b/cpp/test/Ice/custom/TestI.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/test/Ice/custom/Wstring.ice b/cpp/test/Ice/custom/Wstring.ice
index 3a0c510b0fb..d4707772b6a 100644
--- a/cpp/test/Ice/custom/Wstring.ice
+++ b/cpp/test/Ice/custom/Wstring.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/test/Ice/custom/WstringAMD.ice b/cpp/test/Ice/custom/WstringAMD.ice
index 314c4074c53..05a5ab2ee36 100644
--- a/cpp/test/Ice/custom/WstringAMD.ice
+++ b/cpp/test/Ice/custom/WstringAMD.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/test/Ice/custom/WstringAMDI.cpp b/cpp/test/Ice/custom/WstringAMDI.cpp
index 5f6c1cfc758..7c5bc82b2a0 100644
--- a/cpp/test/Ice/custom/WstringAMDI.cpp
+++ b/cpp/test/Ice/custom/WstringAMDI.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/test/Ice/custom/WstringAMDI.h b/cpp/test/Ice/custom/WstringAMDI.h
index 8c045166273..d0d44b75788 100644
--- a/cpp/test/Ice/custom/WstringAMDI.h
+++ b/cpp/test/Ice/custom/WstringAMDI.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/test/Ice/custom/WstringI.cpp b/cpp/test/Ice/custom/WstringI.cpp
index 99b27913456..c69bbc6b8f2 100644
--- a/cpp/test/Ice/custom/WstringI.cpp
+++ b/cpp/test/Ice/custom/WstringI.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/test/Ice/custom/WstringI.h b/cpp/test/Ice/custom/WstringI.h
index e69052abd6b..20457dffba4 100644
--- a/cpp/test/Ice/custom/WstringI.h
+++ b/cpp/test/Ice/custom/WstringI.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/test/Ice/custom/run.py b/cpp/test/Ice/custom/run.py
index e3615b0dd26..8b6d12458d7 100755
--- a/cpp/test/Ice/custom/run.py
+++ b/cpp/test/Ice/custom/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "custom")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server = "serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/exceptions/AllTests.cpp b/cpp/test/Ice/exceptions/AllTests.cpp
index 113eaade64b..492680e5075 100644
--- a/cpp/test/Ice/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/exceptions/AllTests.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/test/Ice/exceptions/Client.cpp b/cpp/test/Ice/exceptions/Client.cpp
index bc2535af1b2..5e19deeac36 100644
--- a/cpp/test/Ice/exceptions/Client.cpp
+++ b/cpp/test/Ice/exceptions/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/test/Ice/exceptions/Collocated.cpp b/cpp/test/Ice/exceptions/Collocated.cpp
index 7e8834ec0cf..4a636ba458f 100644
--- a/cpp/test/Ice/exceptions/Collocated.cpp
+++ b/cpp/test/Ice/exceptions/Collocated.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/test/Ice/exceptions/Makefile b/cpp/test/Ice/exceptions/Makefile
index 04854387ee3..d600088ce92 100644
--- a/cpp/test/Ice/exceptions/Makefile
+++ b/cpp/test/Ice/exceptions/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/test/Ice/exceptions/Makefile.mak b/cpp/test/Ice/exceptions/Makefile.mak
index 65e22f9e9ad..992533302c5 100644
--- a/cpp/test/Ice/exceptions/Makefile.mak
+++ b/cpp/test/Ice/exceptions/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/test/Ice/exceptions/Server.cpp b/cpp/test/Ice/exceptions/Server.cpp
index c4fd831fc7e..48c08627983 100644
--- a/cpp/test/Ice/exceptions/Server.cpp
+++ b/cpp/test/Ice/exceptions/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/test/Ice/exceptions/ServerAMD.cpp b/cpp/test/Ice/exceptions/ServerAMD.cpp
index 09ea5d28266..9ee5097a071 100644
--- a/cpp/test/Ice/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/exceptions/ServerAMD.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/test/Ice/exceptions/Test.ice b/cpp/test/Ice/exceptions/Test.ice
index 6dabee04667..37f9b6fb8ae 100644
--- a/cpp/test/Ice/exceptions/Test.ice
+++ b/cpp/test/Ice/exceptions/Test.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/test/Ice/exceptions/TestAMD.ice b/cpp/test/Ice/exceptions/TestAMD.ice
index fdf46b0ae5e..c5520cdf66a 100644
--- a/cpp/test/Ice/exceptions/TestAMD.ice
+++ b/cpp/test/Ice/exceptions/TestAMD.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/test/Ice/exceptions/TestAMDI.cpp b/cpp/test/Ice/exceptions/TestAMDI.cpp
index 457a815e7d9..ceabd3f8238 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/exceptions/TestAMDI.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/test/Ice/exceptions/TestAMDI.h b/cpp/test/Ice/exceptions/TestAMDI.h
index 59850fca657..20535c54f1c 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/exceptions/TestAMDI.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/test/Ice/exceptions/TestI.cpp b/cpp/test/Ice/exceptions/TestI.cpp
index 237b81b569e..1982bc72983 100644
--- a/cpp/test/Ice/exceptions/TestI.cpp
+++ b/cpp/test/Ice/exceptions/TestI.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/test/Ice/exceptions/TestI.h b/cpp/test/Ice/exceptions/TestI.h
index d432297ce94..27b93142bc5 100644
--- a/cpp/test/Ice/exceptions/TestI.h
+++ b/cpp/test/Ice/exceptions/TestI.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/test/Ice/exceptions/run.py b/cpp/test/Ice/exceptions/run.py
index 1fe8ff8f01d..8b6d12458d7 100755
--- a/cpp/test/Ice/exceptions/run.py
+++ b/cpp/test/Ice/exceptions/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server = "serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/facets/AllTests.cpp b/cpp/test/Ice/facets/AllTests.cpp
index eb6e21eb91c..74de8cc783c 100644
--- a/cpp/test/Ice/facets/AllTests.cpp
+++ b/cpp/test/Ice/facets/AllTests.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/test/Ice/facets/Client.cpp b/cpp/test/Ice/facets/Client.cpp
index 9a55383614c..2f98020352e 100644
--- a/cpp/test/Ice/facets/Client.cpp
+++ b/cpp/test/Ice/facets/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/test/Ice/facets/Collocated.cpp b/cpp/test/Ice/facets/Collocated.cpp
index d933582db53..847f63b0f69 100644
--- a/cpp/test/Ice/facets/Collocated.cpp
+++ b/cpp/test/Ice/facets/Collocated.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/test/Ice/facets/Makefile b/cpp/test/Ice/facets/Makefile
index 6e6d1d5ed16..92b4e2c4de2 100644
--- a/cpp/test/Ice/facets/Makefile
+++ b/cpp/test/Ice/facets/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/test/Ice/facets/Makefile.mak b/cpp/test/Ice/facets/Makefile.mak
index 8731619d4b4..1e31f48504a 100644
--- a/cpp/test/Ice/facets/Makefile.mak
+++ b/cpp/test/Ice/facets/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/test/Ice/facets/Server.cpp b/cpp/test/Ice/facets/Server.cpp
index 20a3b3ccebf..11b02cc050e 100644
--- a/cpp/test/Ice/facets/Server.cpp
+++ b/cpp/test/Ice/facets/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/test/Ice/facets/Test.ice b/cpp/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/cpp/test/Ice/facets/Test.ice
+++ b/cpp/test/Ice/facets/Test.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/test/Ice/facets/TestI.cpp b/cpp/test/Ice/facets/TestI.cpp
index 57d92dca40d..99b8c022433 100644
--- a/cpp/test/Ice/facets/TestI.cpp
+++ b/cpp/test/Ice/facets/TestI.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/test/Ice/facets/TestI.h b/cpp/test/Ice/facets/TestI.h
index ebe790b5b44..ed18223934c 100644
--- a/cpp/test/Ice/facets/TestI.h
+++ b/cpp/test/Ice/facets/TestI.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/test/Ice/facets/run.py b/cpp/test/Ice/facets/run.py
index b3afa6aeb5f..545214a74c7 100755
--- a/cpp/test/Ice/facets/run.py
+++ b/cpp/test/Ice/facets/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/faultTolerance/AllTests.cpp b/cpp/test/Ice/faultTolerance/AllTests.cpp
index 1323c373d2a..d103f3f72b6 100644
--- a/cpp/test/Ice/faultTolerance/AllTests.cpp
+++ b/cpp/test/Ice/faultTolerance/AllTests.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/test/Ice/faultTolerance/Client.cpp b/cpp/test/Ice/faultTolerance/Client.cpp
index 925967647ec..cf107c6e5dd 100644
--- a/cpp/test/Ice/faultTolerance/Client.cpp
+++ b/cpp/test/Ice/faultTolerance/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/test/Ice/faultTolerance/Makefile b/cpp/test/Ice/faultTolerance/Makefile
index a198d297cad..bcb5eb4e8a4 100644
--- a/cpp/test/Ice/faultTolerance/Makefile
+++ b/cpp/test/Ice/faultTolerance/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/test/Ice/faultTolerance/Makefile.mak b/cpp/test/Ice/faultTolerance/Makefile.mak
index eddb323bbc2..11a5b582373 100644
--- a/cpp/test/Ice/faultTolerance/Makefile.mak
+++ b/cpp/test/Ice/faultTolerance/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/test/Ice/faultTolerance/Server.cpp b/cpp/test/Ice/faultTolerance/Server.cpp
index 4f61142de68..c973e163e0e 100644
--- a/cpp/test/Ice/faultTolerance/Server.cpp
+++ b/cpp/test/Ice/faultTolerance/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/test/Ice/faultTolerance/Test.ice b/cpp/test/Ice/faultTolerance/Test.ice
index 2b22a369bb5..fc1881aaf43 100644
--- a/cpp/test/Ice/faultTolerance/Test.ice
+++ b/cpp/test/Ice/faultTolerance/Test.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/test/Ice/faultTolerance/TestI.cpp b/cpp/test/Ice/faultTolerance/TestI.cpp
index 30ee8d28beb..886fef29621 100644
--- a/cpp/test/Ice/faultTolerance/TestI.cpp
+++ b/cpp/test/Ice/faultTolerance/TestI.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/test/Ice/faultTolerance/TestI.h b/cpp/test/Ice/faultTolerance/TestI.h
index 6e70144d173..b0d75279c8a 100644
--- a/cpp/test/Ice/faultTolerance/TestI.h
+++ b/cpp/test/Ice/faultTolerance/TestI.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/test/Ice/faultTolerance/run.py b/cpp/test/Ice/faultTolerance/run.py
index 5b579189936..7634b1e52fc 100755
--- a/cpp/test/Ice/faultTolerance/run.py
+++ b/cpp/test/Ice/faultTolerance/run.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.
@@ -10,32 +10,26 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "faultTolerance")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-server = os.path.join(testdir, "server")
-client = os.path.join(testdir, "client")
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
num = 12
base = 12340
+serverProc = []
for i in range(0, num):
print "starting server #%d..." % (i + 1),
- serverPipe = TestUtil.startServer(server, "%d" % (base + i))
- TestUtil.getServerPid(serverPipe)
- TestUtil.getAdapterReady(serverPipe)
+ serverProc.append(TestUtil.startServer(server, "%d" % (base + i)))
print "ok"
ports = ""
@@ -43,15 +37,9 @@ for i in range(0, num):
ports = "%s %d" % (ports, base + i)
print "starting client...",
-clientPipe = TestUtil.startClient(client, ports)
+clientProc = TestUtil.startClient(client, ports)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- TestUtil.killServers()
-
-if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/cpp/test/Ice/gc/Client.cpp b/cpp/test/Ice/gc/Client.cpp
index 66c5784d131..cd25c8a4024 100644
--- a/cpp/test/Ice/gc/Client.cpp
+++ b/cpp/test/Ice/gc/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/test/Ice/gc/Makefile b/cpp/test/Ice/gc/Makefile
index 9d17208f57e..399e3178502 100644
--- a/cpp/test/Ice/gc/Makefile
+++ b/cpp/test/Ice/gc/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/test/Ice/gc/Makefile.mak b/cpp/test/Ice/gc/Makefile.mak
index cc26888eeeb..e29bea64ecb 100644
--- a/cpp/test/Ice/gc/Makefile.mak
+++ b/cpp/test/Ice/gc/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/test/Ice/gc/Test.ice b/cpp/test/Ice/gc/Test.ice
index cf1aed63fd1..45f11e75f96 100644
--- a/cpp/test/Ice/gc/Test.ice
+++ b/cpp/test/Ice/gc/Test.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/test/Ice/gc/run.py b/cpp/test/Ice/gc/run.py
index bef91a20641..03a703b953c 100755
--- a/cpp/test/Ice/gc/run.py
+++ b/cpp/test/Ice/gc/run.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.
@@ -10,34 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+client = os.path.join(os.getcwd(), "client")
-name = os.path.join("Ice", "gc")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-seedfile = testdir + "/seed"
-clientPipe = TestUtil.startClient(client, seedfile)
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
+seedfile = os.path.join(os.getcwd(), "seed")
+TestUtil.simpleTest(client, seedfile)
+TestUtil.startClient(client, seedfile)
os.remove(seedfile)
-
-sys.exit(0)
diff --git a/cpp/test/Ice/hold/AllTests.cpp b/cpp/test/Ice/hold/AllTests.cpp
index 6a3c518efce..e0eadceefc8 100644
--- a/cpp/test/Ice/hold/AllTests.cpp
+++ b/cpp/test/Ice/hold/AllTests.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/test/Ice/hold/Client.cpp b/cpp/test/Ice/hold/Client.cpp
index 92b1babf5b2..f936da8ff84 100644
--- a/cpp/test/Ice/hold/Client.cpp
+++ b/cpp/test/Ice/hold/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/test/Ice/hold/Makefile b/cpp/test/Ice/hold/Makefile
index fe815d0c18f..98578f97979 100644
--- a/cpp/test/Ice/hold/Makefile
+++ b/cpp/test/Ice/hold/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/test/Ice/hold/Makefile.mak b/cpp/test/Ice/hold/Makefile.mak
index eddb323bbc2..11a5b582373 100644
--- a/cpp/test/Ice/hold/Makefile.mak
+++ b/cpp/test/Ice/hold/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/test/Ice/hold/Server.cpp b/cpp/test/Ice/hold/Server.cpp
index 386362b289b..6f90c9b5012 100644
--- a/cpp/test/Ice/hold/Server.cpp
+++ b/cpp/test/Ice/hold/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/test/Ice/hold/Test.ice b/cpp/test/Ice/hold/Test.ice
index f5f84f390e8..153c5c6d0e8 100644
--- a/cpp/test/Ice/hold/Test.ice
+++ b/cpp/test/Ice/hold/Test.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/test/Ice/hold/TestI.cpp b/cpp/test/Ice/hold/TestI.cpp
index 4a913d1464f..bcbc389d813 100644
--- a/cpp/test/Ice/hold/TestI.cpp
+++ b/cpp/test/Ice/hold/TestI.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/test/Ice/hold/TestI.h b/cpp/test/Ice/hold/TestI.h
index 2a1353f731e..646772b2793 100644
--- a/cpp/test/Ice/hold/TestI.h
+++ b/cpp/test/Ice/hold/TestI.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/test/Ice/hold/run.py b/cpp/test/Ice/hold/run.py
index e67fb9482ac..bb34e7d35b7 100755
--- a/cpp/test/Ice/hold/run.py
+++ b/cpp/test/Ice/hold/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "hold")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/inheritance/AllTests.cpp b/cpp/test/Ice/inheritance/AllTests.cpp
index 664db8a8c88..5e879721c1d 100644
--- a/cpp/test/Ice/inheritance/AllTests.cpp
+++ b/cpp/test/Ice/inheritance/AllTests.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/test/Ice/inheritance/Client.cpp b/cpp/test/Ice/inheritance/Client.cpp
index 1a22d626f7e..3213ab3ff50 100644
--- a/cpp/test/Ice/inheritance/Client.cpp
+++ b/cpp/test/Ice/inheritance/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/test/Ice/inheritance/Collocated.cpp b/cpp/test/Ice/inheritance/Collocated.cpp
index 880d16cb055..3d22c775e7f 100644
--- a/cpp/test/Ice/inheritance/Collocated.cpp
+++ b/cpp/test/Ice/inheritance/Collocated.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/test/Ice/inheritance/Makefile b/cpp/test/Ice/inheritance/Makefile
index 6e6d1d5ed16..92b4e2c4de2 100644
--- a/cpp/test/Ice/inheritance/Makefile
+++ b/cpp/test/Ice/inheritance/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/test/Ice/inheritance/Makefile.mak b/cpp/test/Ice/inheritance/Makefile.mak
index 8731619d4b4..1e31f48504a 100644
--- a/cpp/test/Ice/inheritance/Makefile.mak
+++ b/cpp/test/Ice/inheritance/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/test/Ice/inheritance/Server.cpp b/cpp/test/Ice/inheritance/Server.cpp
index 5b1d32b8c72..6d8ed92c695 100644
--- a/cpp/test/Ice/inheritance/Server.cpp
+++ b/cpp/test/Ice/inheritance/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/test/Ice/inheritance/Test.ice b/cpp/test/Ice/inheritance/Test.ice
index 47289592a2d..116d652defd 100644
--- a/cpp/test/Ice/inheritance/Test.ice
+++ b/cpp/test/Ice/inheritance/Test.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/test/Ice/inheritance/TestI.cpp b/cpp/test/Ice/inheritance/TestI.cpp
index 8eb9500deef..f98cffdd226 100644
--- a/cpp/test/Ice/inheritance/TestI.cpp
+++ b/cpp/test/Ice/inheritance/TestI.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/test/Ice/inheritance/TestI.h b/cpp/test/Ice/inheritance/TestI.h
index e6b20bd96de..df4750fba5e 100644
--- a/cpp/test/Ice/inheritance/TestI.h
+++ b/cpp/test/Ice/inheritance/TestI.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/test/Ice/inheritance/run.py b/cpp/test/Ice/inheritance/run.py
index 7ecff0e5ae5..545214a74c7 100755
--- a/cpp/test/Ice/inheritance/run.py
+++ b/cpp/test/Ice/inheritance/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp b/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
index 4504017b5f8..81d6c6aef64 100644
--- a/cpp/test/Ice/interceptor/AMDInterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/AMDInterceptorI.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/test/Ice/interceptor/AMDInterceptorI.h b/cpp/test/Ice/interceptor/AMDInterceptorI.h
index 5026cfc8315..ca974138f10 100644
--- a/cpp/test/Ice/interceptor/AMDInterceptorI.h
+++ b/cpp/test/Ice/interceptor/AMDInterceptorI.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/test/Ice/interceptor/Client.cpp b/cpp/test/Ice/interceptor/Client.cpp
index f66f28af317..ccb8d811a24 100644
--- a/cpp/test/Ice/interceptor/Client.cpp
+++ b/cpp/test/Ice/interceptor/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/test/Ice/interceptor/InterceptorI.cpp b/cpp/test/Ice/interceptor/InterceptorI.cpp
index 36925d34eb6..e297daa7995 100644
--- a/cpp/test/Ice/interceptor/InterceptorI.cpp
+++ b/cpp/test/Ice/interceptor/InterceptorI.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/test/Ice/interceptor/InterceptorI.h b/cpp/test/Ice/interceptor/InterceptorI.h
index 5f34642054a..ecf7ac0fa55 100644
--- a/cpp/test/Ice/interceptor/InterceptorI.h
+++ b/cpp/test/Ice/interceptor/InterceptorI.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/test/Ice/interceptor/Makefile b/cpp/test/Ice/interceptor/Makefile
index 81aee060862..5dd803f8a6a 100644
--- a/cpp/test/Ice/interceptor/Makefile
+++ b/cpp/test/Ice/interceptor/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/test/Ice/interceptor/Makefile.mak b/cpp/test/Ice/interceptor/Makefile.mak
index c7666fe2a05..05fa494095e 100644
--- a/cpp/test/Ice/interceptor/Makefile.mak
+++ b/cpp/test/Ice/interceptor/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/test/Ice/interceptor/MyObjectI.cpp b/cpp/test/Ice/interceptor/MyObjectI.cpp
index 08a3b3b2975..be783cdaa71 100644
--- a/cpp/test/Ice/interceptor/MyObjectI.cpp
+++ b/cpp/test/Ice/interceptor/MyObjectI.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/test/Ice/interceptor/MyObjectI.h b/cpp/test/Ice/interceptor/MyObjectI.h
index 38d4b5aee6b..fc37c8fd26f 100644
--- a/cpp/test/Ice/interceptor/MyObjectI.h
+++ b/cpp/test/Ice/interceptor/MyObjectI.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/test/Ice/interceptor/Test.ice b/cpp/test/Ice/interceptor/Test.ice
index 129779d5470..6d6873a9df4 100644
--- a/cpp/test/Ice/interceptor/Test.ice
+++ b/cpp/test/Ice/interceptor/Test.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/test/Ice/interceptor/TestI.cpp b/cpp/test/Ice/interceptor/TestI.cpp
index ba57ae6bd22..9e0950aab7e 100644
--- a/cpp/test/Ice/interceptor/TestI.cpp
+++ b/cpp/test/Ice/interceptor/TestI.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/test/Ice/interceptor/run.py b/cpp/test/Ice/interceptor/run.py
index 60ee1442e7b..cc291cb1472 100755
--- a/cpp/test/Ice/interceptor/run.py
+++ b/cpp/test/Ice/interceptor/run.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.
@@ -10,30 +10,16 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+client = os.path.join(os.getcwd(), "client")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-clientPipe = TestUtil.startClient(client, " --Ice.Warn.Dispatch=0")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+TestUtil.simpleTest(client, " --Ice.Warn.Dispatch=0")
diff --git a/cpp/test/Ice/location/AllTests.cpp b/cpp/test/Ice/location/AllTests.cpp
index 701c6333168..1c41791f45b 100644
--- a/cpp/test/Ice/location/AllTests.cpp
+++ b/cpp/test/Ice/location/AllTests.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.
@@ -34,6 +34,9 @@ allTests(const Ice::CommunicatorPtr& communicator, const string& ref)
TestLocatorPrx locator = TestLocatorPrx::uncheckedCast(communicator->getDefaultLocator());
test(manager);
+ TestLocatorRegistryPrx registry = TestLocatorRegistryPrx::checkedCast(locator->getRegistry());
+ test(registry);
+
cout << "testing stringToProxy... " << flush;
Ice::ObjectPrx base = communicator->stringToProxy("test @ TestAdapter");
Ice::ObjectPrx base2 = communicator->stringToProxy("test @ TestAdapter");
@@ -288,6 +291,7 @@ allTests(const Ice::CommunicatorPtr& communicator, const string& ref)
cout << "ok" << endl;
cout << "testing proxy from server... " << flush;
+ obj = TestIntfPrx::checkedCast(communicator->stringToProxy("test@TestAdapter"));
HelloPrx hello = obj->getHello();
test(hello->ice_getAdapterId() == "TestAdapter");
hello->sayHello();
@@ -296,7 +300,251 @@ allTests(const Ice::CommunicatorPtr& communicator, const string& ref)
hello->sayHello();
cout << "ok" << endl;
+ cout << "testing locator request queuing... " << flush;
+ hello = obj->getReplicatedHello()->ice_locatorCacheTimeout(0)->ice_connectionCached(false);
+ count = locator->getRequestCount();
+ hello->ice_ping();
+ test(++count == locator->getRequestCount());
+ int i;
+ for(i = 0; i < 1000; i++)
+ {
+ class AMICallback : public Test::AMI_Hello_sayHello
+ {
+ public:
+ virtual void
+ ice_exception(const Ice::Exception&)
+ {
+ test(false);
+ }
+
+ virtual void
+ ice_response()
+ {
+ }
+ };
+ hello->sayHello_async(new AMICallback());
+ }
+ test(locator->getRequestCount() > count && locator->getRequestCount() < count + 500);
+ count = locator->getRequestCount();
+ hello = hello->ice_adapterId("unknown");
+ for(i = 0; i < 1000; i++)
+ {
+ class AMICallback : public Test::AMI_Hello_sayHello
+ {
+ public:
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ test(dynamic_cast<const Ice::NotRegisteredException*>(&ex));
+ }
+
+ virtual void
+ ice_response()
+ {
+ test(false);
+ }
+ };
+ hello->sayHello_async(new AMICallback());
+ }
+ test(locator->getRequestCount() > count && locator->getRequestCount() < count + 500);
+ cout << "ok" << endl;
+
+ cout << "testing adapter locator cache... " << flush;
+
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter3")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::NotRegisteredException& ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id == "TestAdapter3");
+ }
+ registry->setAdapterDirectProxy("TestAdapter3", locator->findAdapterById("TestAdapter"));
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter3")->ice_ping();
+ registry->setAdapterDirectProxy("TestAdapter3", communicator->stringToProxy("dummy:tcp"));
+ communicator->stringToProxy("test@TestAdapter3")->ice_ping();
+ }
+ catch(const Ice::LocalException&)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter3")->ice_locatorCacheTimeout(0)->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter3")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ registry->setAdapterDirectProxy("TestAdapter3", locator->findAdapterById("TestAdapter"));
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter3")->ice_ping();
+ }
+ catch(const Ice::LocalException&)
+ {
+ test(false);
+ }
+ cout << "ok" <<endl;
+
+ cout << "testing well-known object locator cache... " << flush;
+
+ registry->addObject(communicator->stringToProxy("test3@TestUnknown"));
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::NotRegisteredException& ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id == "TestUnknown");
+ }
+ registry->addObject(communicator->stringToProxy("test3@TestAdapter4")); // Update
+ registry->setAdapterDirectProxy("TestAdapter4", communicator->stringToProxy("dummy:tcp"));
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ registry->setAdapterDirectProxy("TestAdapter4", locator->findAdapterById("TestAdapter"));
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ }
+ catch(const Ice::LocalException&)
+ {
+ test(false);
+ }
+
+ registry->setAdapterDirectProxy("TestAdapter4", communicator->stringToProxy("dummy:tcp"));
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ }
+ catch(const Ice::LocalException&)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter4")->ice_locatorCacheTimeout(0)->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ try
+ {
+ communicator->stringToProxy("test@TestAdapter4")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
+ registry->addObject(communicator->stringToProxy("test3@TestAdapter"));
+ try
+ {
+ communicator->stringToProxy("test3")->ice_ping();
+ }
+ catch(const Ice::LocalException&)
+ {
+ test(false);
+ }
+
+ registry->addObject(communicator->stringToProxy("test4"));
+ try
+ {
+ communicator->stringToProxy("test4")->ice_ping();
+ test(false);
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ }
+ cout << "ok" << endl;
+
+ cout << "testing locator cache background updates... " << flush;
+ {
+ Ice::InitializationData initData;
+ initData.properties = communicator->getProperties()->clone();
+ initData.properties->setProperty("Ice.BackgroundLocatorCacheUpdates", "1");
+ Ice::CommunicatorPtr ic = Ice::initialize(initData);
+
+ registry->setAdapterDirectProxy("TestAdapter5", locator->findAdapterById("TestAdapter"));
+ registry->addObject(communicator->stringToProxy("test3@TestAdapter"));
+
+ int count = locator->getRequestCount();
+ ic->stringToProxy("test@TestAdapter5")->ice_locatorCacheTimeout(0)->ice_ping(); // No locator cache.
+ ic->stringToProxy("test3")->ice_locatorCacheTimeout(0)->ice_ping(); // No locator cache.
+ count += 3;
+ test(count == locator->getRequestCount());
+ registry->setAdapterDirectProxy("TestAdapter5", 0);
+ registry->addObject(communicator->stringToProxy("test3:tcp"));
+ ic->stringToProxy("test@TestAdapter5")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+ ic->stringToProxy("test3")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+ test(count == locator->getRequestCount());
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(1200));
+
+ // The following requets should trigger the background updates but still use the cached endpoints
+ // and therefore succeed.
+ ic->stringToProxy("test@TestAdapter5")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+ ic->stringToProxy("test3")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+
+ try
+ {
+ while(true)
+ {
+ ic->stringToProxy("test@TestAdapter5")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(10));
+ }
+ }
+ catch(const Ice::LocalException&)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ try
+ {
+ while(true)
+ {
+ ic->stringToProxy("test3")->ice_locatorCacheTimeout(1)->ice_ping(); // 1s timeout.
+ IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(10));
+ }
+ }
+ catch(const Ice::LocalException&)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ ic->destroy();
+ }
+ cout << "ok" << endl;
+
cout << "testing proxy from server after shutdown... " << flush;
+ hello = obj->getReplicatedHello();
obj->shutdown();
manager->startServer();
hello->sayHello();
@@ -352,9 +600,6 @@ allTests(const Ice::CommunicatorPtr& communicator, const string& ref)
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("Hello", "default");
adapter->setLocator(locator);
- TestLocatorRegistryPrx registry = TestLocatorRegistryPrx::checkedCast(locator->getRegistry());
- test(registry);
-
Ice::Identity id;
id.name = IceUtil::generateUUID();
registry->addObject(adapter->add(new HelloI, id));
diff --git a/cpp/test/Ice/location/Client.cpp b/cpp/test/Ice/location/Client.cpp
index 02bf3cbfcea..f539313d775 100644
--- a/cpp/test/Ice/location/Client.cpp
+++ b/cpp/test/Ice/location/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/test/Ice/location/Makefile b/cpp/test/Ice/location/Makefile
index fa5f12dbed4..652292a62c0 100644
--- a/cpp/test/Ice/location/Makefile
+++ b/cpp/test/Ice/location/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/test/Ice/location/Makefile.mak b/cpp/test/Ice/location/Makefile.mak
index 63d8cd29198..37abe3f52c4 100644
--- a/cpp/test/Ice/location/Makefile.mak
+++ b/cpp/test/Ice/location/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/test/Ice/location/Server.cpp b/cpp/test/Ice/location/Server.cpp
index 1b68823f5ca..f4e218c1c83 100644
--- a/cpp/test/Ice/location/Server.cpp
+++ b/cpp/test/Ice/location/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/test/Ice/location/ServerLocator.cpp b/cpp/test/Ice/location/ServerLocator.cpp
index ebe8055e680..3221166c1e5 100644
--- a/cpp/test/Ice/location/ServerLocator.cpp
+++ b/cpp/test/Ice/location/ServerLocator.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.
@@ -22,7 +22,14 @@ ServerLocatorRegistry::setAdapterDirectProxy_async(const Ice::AMD_LocatorRegistr
const std::string& adapter, const ::Ice::ObjectPrx& object,
const ::Ice::Current&)
{
- _adapters[adapter] = object;
+ if(!object)
+ {
+ _adapters.erase(adapter);
+ }
+ else
+ {
+ _adapters[adapter] = object;
+ }
cb->ice_response();
}
@@ -32,8 +39,16 @@ ServerLocatorRegistry::setReplicatedAdapterDirectProxy_async(
const std::string& adapter, const ::std::string& replicaGroup, const ::Ice::ObjectPrx& object,
const ::Ice::Current&)
{
- _adapters[adapter] = object;
- _adapters[replicaGroup] = object;
+ if(!object)
+ {
+ _adapters.erase(adapter);
+ _adapters.erase(replicaGroup);
+ }
+ else
+ {
+ _adapters[adapter] = object;
+ _adapters[replicaGroup] = object;
+ }
cb->ice_response();
}
diff --git a/cpp/test/Ice/location/ServerLocator.h b/cpp/test/Ice/location/ServerLocator.h
index d8f206788b8..eee6dc224d4 100644
--- a/cpp/test/Ice/location/ServerLocator.h
+++ b/cpp/test/Ice/location/ServerLocator.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/test/Ice/location/Test.ice b/cpp/test/Ice/location/Test.ice
index ad6a3995e9f..95702e5cd4d 100644
--- a/cpp/test/Ice/location/Test.ice
+++ b/cpp/test/Ice/location/Test.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.
@@ -39,7 +39,7 @@ interface ServerManager
interface Hello
{
- void sayHello();
+ ["ami"] void sayHello();
};
interface TestIntf
diff --git a/cpp/test/Ice/location/TestI.cpp b/cpp/test/Ice/location/TestI.cpp
index 3c0ad05aaf3..b35c819d037 100644
--- a/cpp/test/Ice/location/TestI.cpp
+++ b/cpp/test/Ice/location/TestI.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.
@@ -60,6 +60,7 @@ ServerManagerI::startServer(const Ice::Current& current)
Ice::ObjectPtr object = new TestI(adapter, adapter2, _registry);
_registry->addObject(adapter->add(object, serverCommunicator->stringToIdentity("test")));
_registry->addObject(adapter->add(object, serverCommunicator->stringToIdentity("test2")));
+ adapter->add(object, serverCommunicator->stringToIdentity("test3"));
adapter->activate();
adapter2->activate();
diff --git a/cpp/test/Ice/location/TestI.h b/cpp/test/Ice/location/TestI.h
index 2923d4f75ad..5375f3ca533 100644
--- a/cpp/test/Ice/location/TestI.h
+++ b/cpp/test/Ice/location/TestI.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/test/Ice/location/run.py b/cpp/test/Ice/location/run.py
index 177ebe2fb41..bb34e7d35b7 100755
--- a/cpp/test/Ice/location/run.py
+++ b/cpp/test/Ice/location/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "location")
-
-TestUtil.mixedClientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp
index 0cfc0527a03..5245d075cd6 100644
--- a/cpp/test/Ice/objects/AllTests.cpp
+++ b/cpp/test/Ice/objects/AllTests.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/test/Ice/objects/Client.cpp b/cpp/test/Ice/objects/Client.cpp
index cfeab114e19..8a26d7b2d64 100644
--- a/cpp/test/Ice/objects/Client.cpp
+++ b/cpp/test/Ice/objects/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/test/Ice/objects/Collocated.cpp b/cpp/test/Ice/objects/Collocated.cpp
index e973cb5d831..4768eda710f 100644
--- a/cpp/test/Ice/objects/Collocated.cpp
+++ b/cpp/test/Ice/objects/Collocated.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/test/Ice/objects/Makefile b/cpp/test/Ice/objects/Makefile
index b23f6811e60..0905612f80c 100644
--- a/cpp/test/Ice/objects/Makefile
+++ b/cpp/test/Ice/objects/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/test/Ice/objects/Makefile.mak b/cpp/test/Ice/objects/Makefile.mak
index 86674b54f6c..6f5d598c2fa 100644
--- a/cpp/test/Ice/objects/Makefile.mak
+++ b/cpp/test/Ice/objects/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/test/Ice/objects/Server.cpp b/cpp/test/Ice/objects/Server.cpp
index 524e9e59109..5bb0dcfc9bb 100644
--- a/cpp/test/Ice/objects/Server.cpp
+++ b/cpp/test/Ice/objects/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/test/Ice/objects/Test.ice b/cpp/test/Ice/objects/Test.ice
index 0e11babc49a..b8cca29c9fd 100644
--- a/cpp/test/Ice/objects/Test.ice
+++ b/cpp/test/Ice/objects/Test.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/test/Ice/objects/TestI.cpp b/cpp/test/Ice/objects/TestI.cpp
index f16f90e40e2..51cab366ed7 100644
--- a/cpp/test/Ice/objects/TestI.cpp
+++ b/cpp/test/Ice/objects/TestI.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/test/Ice/objects/TestI.h b/cpp/test/Ice/objects/TestI.h
index 0f06e552b9c..55d7188fbc5 100644
--- a/cpp/test/Ice/objects/TestI.h
+++ b/cpp/test/Ice/objects/TestI.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/test/Ice/objects/run.py b/cpp/test/Ice/objects/run.py
index 81b178ba4f4..545214a74c7 100755
--- a/cpp/test/Ice/objects/run.py
+++ b/cpp/test/Ice/objects/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/operations/AllTests.cpp b/cpp/test/Ice/operations/AllTests.cpp
index 9daf54807bd..568de3a52bc 100644
--- a/cpp/test/Ice/operations/AllTests.cpp
+++ b/cpp/test/Ice/operations/AllTests.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/test/Ice/operations/BatchOneways.cpp b/cpp/test/Ice/operations/BatchOneways.cpp
index f680567a0a1..2ac5faab6f9 100644
--- a/cpp/test/Ice/operations/BatchOneways.cpp
+++ b/cpp/test/Ice/operations/BatchOneways.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/test/Ice/operations/Client.cpp b/cpp/test/Ice/operations/Client.cpp
index 294758aab1b..e9dcec14db2 100644
--- a/cpp/test/Ice/operations/Client.cpp
+++ b/cpp/test/Ice/operations/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/test/Ice/operations/Collocated.cpp b/cpp/test/Ice/operations/Collocated.cpp
index 28066a06d73..187e0dd2fa3 100644
--- a/cpp/test/Ice/operations/Collocated.cpp
+++ b/cpp/test/Ice/operations/Collocated.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/test/Ice/operations/Makefile b/cpp/test/Ice/operations/Makefile
index 023984f2088..241830419fd 100644
--- a/cpp/test/Ice/operations/Makefile
+++ b/cpp/test/Ice/operations/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/test/Ice/operations/Makefile.mak b/cpp/test/Ice/operations/Makefile.mak
index bc6aca77a71..1bff524ac8a 100644
--- a/cpp/test/Ice/operations/Makefile.mak
+++ b/cpp/test/Ice/operations/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/test/Ice/operations/Oneways.cpp b/cpp/test/Ice/operations/Oneways.cpp
index 37249e078b8..84f1f4cf826 100644
--- a/cpp/test/Ice/operations/Oneways.cpp
+++ b/cpp/test/Ice/operations/Oneways.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/test/Ice/operations/OnewaysAMI.cpp b/cpp/test/Ice/operations/OnewaysAMI.cpp
index cbebba5f050..9c78f935f0a 100644
--- a/cpp/test/Ice/operations/OnewaysAMI.cpp
+++ b/cpp/test/Ice/operations/OnewaysAMI.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/test/Ice/operations/Server.cpp b/cpp/test/Ice/operations/Server.cpp
index 662fc695be8..58119af02b0 100644
--- a/cpp/test/Ice/operations/Server.cpp
+++ b/cpp/test/Ice/operations/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/test/Ice/operations/ServerAMD.cpp b/cpp/test/Ice/operations/ServerAMD.cpp
index 5fc95fec111..a86331941ac 100644
--- a/cpp/test/Ice/operations/ServerAMD.cpp
+++ b/cpp/test/Ice/operations/ServerAMD.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/test/Ice/operations/Test.ice b/cpp/test/Ice/operations/Test.ice
index 6ac0d17e461..447b3c8b17b 100644
--- a/cpp/test/Ice/operations/Test.ice
+++ b/cpp/test/Ice/operations/Test.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/test/Ice/operations/TestAMD.ice b/cpp/test/Ice/operations/TestAMD.ice
index 15765de83a1..384a7d3c4e4 100644
--- a/cpp/test/Ice/operations/TestAMD.ice
+++ b/cpp/test/Ice/operations/TestAMD.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/test/Ice/operations/TestAMDI.cpp b/cpp/test/Ice/operations/TestAMDI.cpp
index bbc0e49bb93..f79c036a9e1 100644
--- a/cpp/test/Ice/operations/TestAMDI.cpp
+++ b/cpp/test/Ice/operations/TestAMDI.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/test/Ice/operations/TestAMDI.h b/cpp/test/Ice/operations/TestAMDI.h
index 94112cd5ecb..66221ddbede 100644
--- a/cpp/test/Ice/operations/TestAMDI.h
+++ b/cpp/test/Ice/operations/TestAMDI.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/test/Ice/operations/TestI.cpp b/cpp/test/Ice/operations/TestI.cpp
index 82bf41369b9..a12e1ee1f38 100644
--- a/cpp/test/Ice/operations/TestI.cpp
+++ b/cpp/test/Ice/operations/TestI.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/test/Ice/operations/TestI.h b/cpp/test/Ice/operations/TestI.h
index bd74000a471..9aba20231aa 100644
--- a/cpp/test/Ice/operations/TestI.h
+++ b/cpp/test/Ice/operations/TestI.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/test/Ice/operations/Twoways.cpp b/cpp/test/Ice/operations/Twoways.cpp
index a6b1ff3f608..d91636c0458 100644
--- a/cpp/test/Ice/operations/Twoways.cpp
+++ b/cpp/test/Ice/operations/Twoways.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/test/Ice/operations/TwowaysAMI.cpp b/cpp/test/Ice/operations/TwowaysAMI.cpp
index ec33762e7bf..8ec3c58a02f 100644
--- a/cpp/test/Ice/operations/TwowaysAMI.cpp
+++ b/cpp/test/Ice/operations/TwowaysAMI.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/test/Ice/operations/run.py b/cpp/test/Ice/operations/run.py
index 04d358c2981..8b6d12458d7 100755
--- a/cpp/test/Ice/operations/run.py
+++ b/cpp/test/Ice/operations/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server = "serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp
index 739e13c75d1..672e10e5e29 100644
--- a/cpp/test/Ice/proxy/AllTests.cpp
+++ b/cpp/test/Ice/proxy/AllTests.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/test/Ice/proxy/Client.cpp b/cpp/test/Ice/proxy/Client.cpp
index 12473165ead..394be5c412d 100644
--- a/cpp/test/Ice/proxy/Client.cpp
+++ b/cpp/test/Ice/proxy/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/test/Ice/proxy/Collocated.cpp b/cpp/test/Ice/proxy/Collocated.cpp
index a0591e283c8..6791e6d01e5 100644
--- a/cpp/test/Ice/proxy/Collocated.cpp
+++ b/cpp/test/Ice/proxy/Collocated.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/test/Ice/proxy/Makefile b/cpp/test/Ice/proxy/Makefile
index fa5e7fc65a8..5452eb40687 100644
--- a/cpp/test/Ice/proxy/Makefile
+++ b/cpp/test/Ice/proxy/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/test/Ice/proxy/Makefile.mak b/cpp/test/Ice/proxy/Makefile.mak
index 65e22f9e9ad..992533302c5 100644
--- a/cpp/test/Ice/proxy/Makefile.mak
+++ b/cpp/test/Ice/proxy/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/test/Ice/proxy/Server.cpp b/cpp/test/Ice/proxy/Server.cpp
index 97666b421db..b049adb543b 100644
--- a/cpp/test/Ice/proxy/Server.cpp
+++ b/cpp/test/Ice/proxy/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/test/Ice/proxy/ServerAMD.cpp b/cpp/test/Ice/proxy/ServerAMD.cpp
index dfdac47daa1..24144c3155c 100644
--- a/cpp/test/Ice/proxy/ServerAMD.cpp
+++ b/cpp/test/Ice/proxy/ServerAMD.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/test/Ice/proxy/Test.ice b/cpp/test/Ice/proxy/Test.ice
index 61b6b6d06b7..90db7303858 100644
--- a/cpp/test/Ice/proxy/Test.ice
+++ b/cpp/test/Ice/proxy/Test.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/test/Ice/proxy/TestAMD.ice b/cpp/test/Ice/proxy/TestAMD.ice
index 2b85bd8b961..12b39fc4028 100644
--- a/cpp/test/Ice/proxy/TestAMD.ice
+++ b/cpp/test/Ice/proxy/TestAMD.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/test/Ice/proxy/TestAMDI.cpp b/cpp/test/Ice/proxy/TestAMDI.cpp
index 9e66360feef..45fb4d31a14 100644
--- a/cpp/test/Ice/proxy/TestAMDI.cpp
+++ b/cpp/test/Ice/proxy/TestAMDI.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/test/Ice/proxy/TestAMDI.h b/cpp/test/Ice/proxy/TestAMDI.h
index 917f0cf941f..4116c1d89e3 100644
--- a/cpp/test/Ice/proxy/TestAMDI.h
+++ b/cpp/test/Ice/proxy/TestAMDI.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/test/Ice/proxy/TestI.cpp b/cpp/test/Ice/proxy/TestI.cpp
index 60041bed049..e6f974394de 100644
--- a/cpp/test/Ice/proxy/TestI.cpp
+++ b/cpp/test/Ice/proxy/TestI.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/test/Ice/proxy/TestI.h b/cpp/test/Ice/proxy/TestI.h
index 20c5699ddab..074d20ec1bf 100644
--- a/cpp/test/Ice/proxy/TestI.h
+++ b/cpp/test/Ice/proxy/TestI.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/test/Ice/proxy/run.py b/cpp/test/Ice/proxy/run.py
index f991276d917..8b6d12458d7 100755
--- a/cpp/test/Ice/proxy/run.py
+++ b/cpp/test/Ice/proxy/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server = "serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/retry/AllTests.cpp b/cpp/test/Ice/retry/AllTests.cpp
index 02da9c58b03..75534d4c271 100644
--- a/cpp/test/Ice/retry/AllTests.cpp
+++ b/cpp/test/Ice/retry/AllTests.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/test/Ice/retry/Client.cpp b/cpp/test/Ice/retry/Client.cpp
index 3970dc2778f..25720ba2e6d 100644
--- a/cpp/test/Ice/retry/Client.cpp
+++ b/cpp/test/Ice/retry/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/test/Ice/retry/Makefile b/cpp/test/Ice/retry/Makefile
index fe815d0c18f..98578f97979 100644
--- a/cpp/test/Ice/retry/Makefile
+++ b/cpp/test/Ice/retry/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/test/Ice/retry/Makefile.mak b/cpp/test/Ice/retry/Makefile.mak
index eddb323bbc2..11a5b582373 100644
--- a/cpp/test/Ice/retry/Makefile.mak
+++ b/cpp/test/Ice/retry/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/test/Ice/retry/Server.cpp b/cpp/test/Ice/retry/Server.cpp
index daf97d0dc2f..5defa4c5321 100644
--- a/cpp/test/Ice/retry/Server.cpp
+++ b/cpp/test/Ice/retry/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/test/Ice/retry/Test.ice b/cpp/test/Ice/retry/Test.ice
index c82abeb80eb..6a48fa388a3 100644
--- a/cpp/test/Ice/retry/Test.ice
+++ b/cpp/test/Ice/retry/Test.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/test/Ice/retry/TestI.cpp b/cpp/test/Ice/retry/TestI.cpp
index f82c7cd5506..fa4e04fc0fa 100644
--- a/cpp/test/Ice/retry/TestI.cpp
+++ b/cpp/test/Ice/retry/TestI.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/test/Ice/retry/TestI.h b/cpp/test/Ice/retry/TestI.h
index 7db847e344e..53020911ce7 100644
--- a/cpp/test/Ice/retry/TestI.h
+++ b/cpp/test/Ice/retry/TestI.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/test/Ice/retry/run.py b/cpp/test/Ice/retry/run.py
index f0bc8d57120..bb34e7d35b7 100755
--- a/cpp/test/Ice/retry/run.py
+++ b/cpp/test/Ice/retry/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "retry")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/servantLocator/AllTests.cpp b/cpp/test/Ice/servantLocator/AllTests.cpp
index 7a0298e954a..eae1f57adb3 100644
--- a/cpp/test/Ice/servantLocator/AllTests.cpp
+++ b/cpp/test/Ice/servantLocator/AllTests.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/test/Ice/servantLocator/Client.cpp b/cpp/test/Ice/servantLocator/Client.cpp
index f31c0020b7a..0d1b8c62fec 100644
--- a/cpp/test/Ice/servantLocator/Client.cpp
+++ b/cpp/test/Ice/servantLocator/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/test/Ice/servantLocator/Collocated.cpp b/cpp/test/Ice/servantLocator/Collocated.cpp
index ee39e54be86..c9b69f04534 100644
--- a/cpp/test/Ice/servantLocator/Collocated.cpp
+++ b/cpp/test/Ice/servantLocator/Collocated.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/test/Ice/servantLocator/Makefile b/cpp/test/Ice/servantLocator/Makefile
index 33ebfe81a7c..deb4cf435de 100644
--- a/cpp/test/Ice/servantLocator/Makefile
+++ b/cpp/test/Ice/servantLocator/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/test/Ice/servantLocator/Makefile.mak b/cpp/test/Ice/servantLocator/Makefile.mak
index 98fc37c2e20..ae37a54ebf4 100644
--- a/cpp/test/Ice/servantLocator/Makefile.mak
+++ b/cpp/test/Ice/servantLocator/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/test/Ice/servantLocator/ServantLocatorI.cpp b/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
index 187139936fd..39900eb1c75 100644
--- a/cpp/test/Ice/servantLocator/ServantLocatorI.cpp
+++ b/cpp/test/Ice/servantLocator/ServantLocatorI.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/test/Ice/servantLocator/ServantLocatorI.h b/cpp/test/Ice/servantLocator/ServantLocatorI.h
index 6e3ad5c28bd..7d1fa1a888c 100644
--- a/cpp/test/Ice/servantLocator/ServantLocatorI.h
+++ b/cpp/test/Ice/servantLocator/ServantLocatorI.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/test/Ice/servantLocator/Server.cpp b/cpp/test/Ice/servantLocator/Server.cpp
index 57d05423f71..c86051fb746 100644
--- a/cpp/test/Ice/servantLocator/Server.cpp
+++ b/cpp/test/Ice/servantLocator/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/test/Ice/servantLocator/ServerAMD.cpp b/cpp/test/Ice/servantLocator/ServerAMD.cpp
index 45acabb6687..10d0d3ee3bf 100644
--- a/cpp/test/Ice/servantLocator/ServerAMD.cpp
+++ b/cpp/test/Ice/servantLocator/ServerAMD.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/test/Ice/servantLocator/Test.ice b/cpp/test/Ice/servantLocator/Test.ice
index c3d55c60d18..939677d9a20 100644
--- a/cpp/test/Ice/servantLocator/Test.ice
+++ b/cpp/test/Ice/servantLocator/Test.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/test/Ice/servantLocator/TestAMD.ice b/cpp/test/Ice/servantLocator/TestAMD.ice
index 3c3bea9d4e5..a79360a26f8 100644
--- a/cpp/test/Ice/servantLocator/TestAMD.ice
+++ b/cpp/test/Ice/servantLocator/TestAMD.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/test/Ice/servantLocator/TestAMDI.cpp b/cpp/test/Ice/servantLocator/TestAMDI.cpp
index f54e11183ce..3b81d783fed 100644
--- a/cpp/test/Ice/servantLocator/TestAMDI.cpp
+++ b/cpp/test/Ice/servantLocator/TestAMDI.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/test/Ice/servantLocator/TestAMDI.h b/cpp/test/Ice/servantLocator/TestAMDI.h
index e65f7d51c96..25ae4d991c6 100644
--- a/cpp/test/Ice/servantLocator/TestAMDI.h
+++ b/cpp/test/Ice/servantLocator/TestAMDI.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/test/Ice/servantLocator/TestI.cpp b/cpp/test/Ice/servantLocator/TestI.cpp
index 63ada5520d5..2eed4a212ac 100644
--- a/cpp/test/Ice/servantLocator/TestI.cpp
+++ b/cpp/test/Ice/servantLocator/TestI.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/test/Ice/servantLocator/TestI.h b/cpp/test/Ice/servantLocator/TestI.h
index bc1c79931b5..6629c7c04b7 100644
--- a/cpp/test/Ice/servantLocator/TestI.h
+++ b/cpp/test/Ice/servantLocator/TestI.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/test/Ice/servantLocator/run.py b/cpp/test/Ice/servantLocator/run.py
index 527b3b391e9..8b6d12458d7 100755
--- a/cpp/test/Ice/servantLocator/run.py
+++ b/cpp/test/Ice/servantLocator/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "servantLocator")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server = "serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cpp/test/Ice/slicing/Makefile b/cpp/test/Ice/slicing/Makefile
index abc765da098..df037d2defd 100644
--- a/cpp/test/Ice/slicing/Makefile
+++ b/cpp/test/Ice/slicing/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/test/Ice/slicing/Makefile.mak b/cpp/test/Ice/slicing/Makefile.mak
index 0f872430199..325a3850fa7 100644
--- a/cpp/test/Ice/slicing/Makefile.mak
+++ b/cpp/test/Ice/slicing/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/test/Ice/slicing/exceptions/AllTests.cpp b/cpp/test/Ice/slicing/exceptions/AllTests.cpp
index a2ddff8d614..127222edafe 100644
--- a/cpp/test/Ice/slicing/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/slicing/exceptions/AllTests.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/test/Ice/slicing/exceptions/Client.cpp b/cpp/test/Ice/slicing/exceptions/Client.cpp
index 4b9266dd07d..7e8187993e6 100644
--- a/cpp/test/Ice/slicing/exceptions/Client.cpp
+++ b/cpp/test/Ice/slicing/exceptions/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/test/Ice/slicing/exceptions/Makefile b/cpp/test/Ice/slicing/exceptions/Makefile
index ead19bbd67f..a2f381c6177 100644
--- a/cpp/test/Ice/slicing/exceptions/Makefile
+++ b/cpp/test/Ice/slicing/exceptions/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/test/Ice/slicing/exceptions/Makefile.mak b/cpp/test/Ice/slicing/exceptions/Makefile.mak
index c8ddfe6897c..2b6c7f89b98 100644
--- a/cpp/test/Ice/slicing/exceptions/Makefile.mak
+++ b/cpp/test/Ice/slicing/exceptions/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/test/Ice/slicing/exceptions/Server.cpp b/cpp/test/Ice/slicing/exceptions/Server.cpp
index c40db1692cf..1a729ff6b90 100644
--- a/cpp/test/Ice/slicing/exceptions/Server.cpp
+++ b/cpp/test/Ice/slicing/exceptions/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/test/Ice/slicing/exceptions/ServerAMD.cpp b/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
index 8b7aebac42a..cc27bf32563 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/exceptions/ServerAMD.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/test/Ice/slicing/exceptions/ServerPrivate.ice b/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice
index 489a184d3e5..e2ae8cb3696 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerPrivate.ice
+++ b/cpp/test/Ice/slicing/exceptions/ServerPrivate.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/test/Ice/slicing/exceptions/ServerPrivateAMD.ice b/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
index 70594699e96..3eadbad9ede 100644
--- a/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
+++ b/cpp/test/Ice/slicing/exceptions/ServerPrivateAMD.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/test/Ice/slicing/exceptions/Test.ice b/cpp/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/cpp/test/Ice/slicing/exceptions/Test.ice
+++ b/cpp/test/Ice/slicing/exceptions/Test.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/test/Ice/slicing/exceptions/TestAMD.ice b/cpp/test/Ice/slicing/exceptions/TestAMD.ice
index c241f17a01d..f878338c995 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMD.ice
+++ b/cpp/test/Ice/slicing/exceptions/TestAMD.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/test/Ice/slicing/exceptions/TestAMDI.cpp b/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
index 9d4ccded871..289be65c24a 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestAMDI.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/test/Ice/slicing/exceptions/TestAMDI.h b/cpp/test/Ice/slicing/exceptions/TestAMDI.h
index 8e4894a7ddb..e204437e967 100644
--- a/cpp/test/Ice/slicing/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/slicing/exceptions/TestAMDI.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/test/Ice/slicing/exceptions/TestI.cpp b/cpp/test/Ice/slicing/exceptions/TestI.cpp
index 68c149e8dc9..de4e45c88a3 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.cpp
+++ b/cpp/test/Ice/slicing/exceptions/TestI.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/test/Ice/slicing/exceptions/TestI.h b/cpp/test/Ice/slicing/exceptions/TestI.h
index 0e9351d7ee9..113345f4a09 100644
--- a/cpp/test/Ice/slicing/exceptions/TestI.h
+++ b/cpp/test/Ice/slicing/exceptions/TestI.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/test/Ice/slicing/exceptions/run.py b/cpp/test/Ice/slicing/exceptions/run.py
index e5effa1c47e..fe714d9d4d1 100755
--- a/cpp/test/Ice/slicing/exceptions/run.py
+++ b/cpp/test/Ice/slicing/exceptions/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
-sys.exit(0)
+TestUtil.clientServerTest(server = "serveramd")
diff --git a/cpp/test/Ice/slicing/objects/AllTests.cpp b/cpp/test/Ice/slicing/objects/AllTests.cpp
index f92fb7d57ff..a6e472d6404 100644
--- a/cpp/test/Ice/slicing/objects/AllTests.cpp
+++ b/cpp/test/Ice/slicing/objects/AllTests.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/test/Ice/slicing/objects/Client.cpp b/cpp/test/Ice/slicing/objects/Client.cpp
index bdc2e4ea9a5..80922fba0d8 100644
--- a/cpp/test/Ice/slicing/objects/Client.cpp
+++ b/cpp/test/Ice/slicing/objects/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/test/Ice/slicing/objects/ClientPrivate.ice b/cpp/test/Ice/slicing/objects/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/cpp/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/cpp/test/Ice/slicing/objects/ClientPrivate.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/test/Ice/slicing/objects/Forward.ice b/cpp/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/cpp/test/Ice/slicing/objects/Forward.ice
+++ b/cpp/test/Ice/slicing/objects/Forward.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/test/Ice/slicing/objects/Makefile b/cpp/test/Ice/slicing/objects/Makefile
index 790670cdac1..d9eb266b58a 100644
--- a/cpp/test/Ice/slicing/objects/Makefile
+++ b/cpp/test/Ice/slicing/objects/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/test/Ice/slicing/objects/Makefile.mak b/cpp/test/Ice/slicing/objects/Makefile.mak
index fd4bf454485..b71ef11025f 100644
--- a/cpp/test/Ice/slicing/objects/Makefile.mak
+++ b/cpp/test/Ice/slicing/objects/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/test/Ice/slicing/objects/Server.cpp b/cpp/test/Ice/slicing/objects/Server.cpp
index c40db1692cf..1a729ff6b90 100644
--- a/cpp/test/Ice/slicing/objects/Server.cpp
+++ b/cpp/test/Ice/slicing/objects/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/test/Ice/slicing/objects/ServerAMD.cpp b/cpp/test/Ice/slicing/objects/ServerAMD.cpp
index 8b7aebac42a..cc27bf32563 100644
--- a/cpp/test/Ice/slicing/objects/ServerAMD.cpp
+++ b/cpp/test/Ice/slicing/objects/ServerAMD.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/test/Ice/slicing/objects/ServerPrivate.ice b/cpp/test/Ice/slicing/objects/ServerPrivate.ice
index 95ceaa7f750..2f4189919c4 100644
--- a/cpp/test/Ice/slicing/objects/ServerPrivate.ice
+++ b/cpp/test/Ice/slicing/objects/ServerPrivate.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/test/Ice/slicing/objects/ServerPrivateAMD.ice b/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice
index 3112495277f..18265cf711c 100644
--- a/cpp/test/Ice/slicing/objects/ServerPrivateAMD.ice
+++ b/cpp/test/Ice/slicing/objects/ServerPrivateAMD.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/test/Ice/slicing/objects/Test.ice b/cpp/test/Ice/slicing/objects/Test.ice
index 0ce49886fc9..2fa79937f53 100644
--- a/cpp/test/Ice/slicing/objects/Test.ice
+++ b/cpp/test/Ice/slicing/objects/Test.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/test/Ice/slicing/objects/TestAMD.ice b/cpp/test/Ice/slicing/objects/TestAMD.ice
index 96fa308cc7f..f9d187d345b 100644
--- a/cpp/test/Ice/slicing/objects/TestAMD.ice
+++ b/cpp/test/Ice/slicing/objects/TestAMD.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/test/Ice/slicing/objects/TestAMDI.cpp b/cpp/test/Ice/slicing/objects/TestAMDI.cpp
index bb30d2037a0..d0315d23518 100644
--- a/cpp/test/Ice/slicing/objects/TestAMDI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestAMDI.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/test/Ice/slicing/objects/TestAMDI.h b/cpp/test/Ice/slicing/objects/TestAMDI.h
index 9c77862afc9..7aceca89f9b 100644
--- a/cpp/test/Ice/slicing/objects/TestAMDI.h
+++ b/cpp/test/Ice/slicing/objects/TestAMDI.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/test/Ice/slicing/objects/TestI.cpp b/cpp/test/Ice/slicing/objects/TestI.cpp
index 3ea649e55d9..af6f77c9be8 100644
--- a/cpp/test/Ice/slicing/objects/TestI.cpp
+++ b/cpp/test/Ice/slicing/objects/TestI.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/test/Ice/slicing/objects/TestI.h b/cpp/test/Ice/slicing/objects/TestI.h
index f22095ad507..739e3343e24 100644
--- a/cpp/test/Ice/slicing/objects/TestI.h
+++ b/cpp/test/Ice/slicing/objects/TestI.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/test/Ice/slicing/objects/run.py b/cpp/test/Ice/slicing/objects/run.py
index 11ef0384e8f..c50a9b03948 100755
--- a/cpp/test/Ice/slicing/objects/run.py
+++ b/cpp/test/Ice/slicing/objects/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
-sys.exit(0)
+TestUtil.clientServerTest(server = "serveramd")
diff --git a/cpp/test/Ice/stream/Client.cpp b/cpp/test/Ice/stream/Client.cpp
index 498b28d571b..5ea7856c6aa 100644
--- a/cpp/test/Ice/stream/Client.cpp
+++ b/cpp/test/Ice/stream/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/test/Ice/stream/Makefile b/cpp/test/Ice/stream/Makefile
index cfbf2b4e263..c961dad31a6 100644
--- a/cpp/test/Ice/stream/Makefile
+++ b/cpp/test/Ice/stream/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/test/Ice/stream/Makefile.mak b/cpp/test/Ice/stream/Makefile.mak
index b0d2f9cac0b..94485cc6e31 100644
--- a/cpp/test/Ice/stream/Makefile.mak
+++ b/cpp/test/Ice/stream/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/test/Ice/stream/Test.ice b/cpp/test/Ice/stream/Test.ice
index 880c83444ee..dafd2f02d41 100644
--- a/cpp/test/Ice/stream/Test.ice
+++ b/cpp/test/Ice/stream/Test.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/test/Ice/stream/run.py b/cpp/test/Ice/stream/run.py
index 05426ad10cc..fb3ed194b36 100755
--- a/cpp/test/Ice/stream/run.py
+++ b/cpp/test/Ice/stream/run.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.
@@ -10,29 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-client = os.path.join(os.path.dirname(os.path.abspath(__file__)), "client")
-
-print "starting test...",
-clientPipe = TestUtil.startClient(client, "")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- TestUtil.killServers()
- sys.exit(1)
-
-sys.exit(0)
+client = os.path.join(os.getcwd(), "client")
+TestUtil.simpleTest(client)
diff --git a/cpp/test/Ice/stringConverter/Client.cpp b/cpp/test/Ice/stringConverter/Client.cpp
index 4c532163e80..0baf9636b56 100644
--- a/cpp/test/Ice/stringConverter/Client.cpp
+++ b/cpp/test/Ice/stringConverter/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/test/Ice/stringConverter/Makefile b/cpp/test/Ice/stringConverter/Makefile
index 617328d6169..6e560cb728c 100644
--- a/cpp/test/Ice/stringConverter/Makefile
+++ b/cpp/test/Ice/stringConverter/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/test/Ice/stringConverter/Makefile.mak b/cpp/test/Ice/stringConverter/Makefile.mak
index b6ba1835d57..084d8af4c23 100644
--- a/cpp/test/Ice/stringConverter/Makefile.mak
+++ b/cpp/test/Ice/stringConverter/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/test/Ice/stringConverter/Test.ice b/cpp/test/Ice/stringConverter/Test.ice
index 7ba6f78e3d3..3a1fdbb6865 100644
--- a/cpp/test/Ice/stringConverter/Test.ice
+++ b/cpp/test/Ice/stringConverter/Test.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/test/Ice/stringConverter/run.py b/cpp/test/Ice/stringConverter/run.py
index 2625cd6ad55..c21c5254d3b 100755
--- a/cpp/test/Ice/stringConverter/run.py
+++ b/cpp/test/Ice/stringConverter/run.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.
@@ -10,30 +10,16 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+client = os.path.join(os.getcwd(), "client")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-clientPipe = TestUtil.startClient(client, "")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+TestUtil.simpleTest(client)
diff --git a/cpp/test/Ice/timeout/AllTests.cpp b/cpp/test/Ice/timeout/AllTests.cpp
index 7762b44c6bf..63e5a77a1a2 100644
--- a/cpp/test/Ice/timeout/AllTests.cpp
+++ b/cpp/test/Ice/timeout/AllTests.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/test/Ice/timeout/Client.cpp b/cpp/test/Ice/timeout/Client.cpp
index 50b816c00e7..dae8b16f9a3 100644
--- a/cpp/test/Ice/timeout/Client.cpp
+++ b/cpp/test/Ice/timeout/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/test/Ice/timeout/Makefile b/cpp/test/Ice/timeout/Makefile
index fe815d0c18f..98578f97979 100644
--- a/cpp/test/Ice/timeout/Makefile
+++ b/cpp/test/Ice/timeout/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/test/Ice/timeout/Makefile.mak b/cpp/test/Ice/timeout/Makefile.mak
index eddb323bbc2..11a5b582373 100644
--- a/cpp/test/Ice/timeout/Makefile.mak
+++ b/cpp/test/Ice/timeout/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/test/Ice/timeout/Server.cpp b/cpp/test/Ice/timeout/Server.cpp
index 49e3480bc03..2595f77a2db 100644
--- a/cpp/test/Ice/timeout/Server.cpp
+++ b/cpp/test/Ice/timeout/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/test/Ice/timeout/Test.ice b/cpp/test/Ice/timeout/Test.ice
index 82531c5901e..4ba0c07ab71 100644
--- a/cpp/test/Ice/timeout/Test.ice
+++ b/cpp/test/Ice/timeout/Test.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/test/Ice/timeout/TestI.cpp b/cpp/test/Ice/timeout/TestI.cpp
index 53a9950d93d..c2c6bcc6066 100644
--- a/cpp/test/Ice/timeout/TestI.cpp
+++ b/cpp/test/Ice/timeout/TestI.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/test/Ice/timeout/TestI.h b/cpp/test/Ice/timeout/TestI.h
index f2acd5ad601..5960cb692f8 100644
--- a/cpp/test/Ice/timeout/TestI.h
+++ b/cpp/test/Ice/timeout/TestI.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/test/Ice/timeout/run.py b/cpp/test/Ice/timeout/run.py
index f04e73b903a..bb34e7d35b7 100755
--- a/cpp/test/Ice/timeout/run.py
+++ b/cpp/test/Ice/timeout/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "timeout")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cpp/test/Ice/udp/.depend b/cpp/test/Ice/udp/.depend
new file mode 100644
index 00000000000..48c9e922a19
--- /dev/null
+++ b/cpp/test/Ice/udp/.depend
@@ -0,0 +1,7 @@
+Test$(OBJEXT): Test.cpp ./Test.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 $(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/Application.h $(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/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 ../../include/TestCommon.h ./Test.h
+AllTests$(OBJEXT): AllTests.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 ../../include/TestCommon.h ./Test.h
+TestI$(OBJEXT): TestI.cpp $(includedir)/IceUtil/IceUtil.h $(includedir)/IceUtil/Config.h $(includedir)/IceUtil/AbstractMutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Exception.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/Cache.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/CountDownLatch.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/CtrlCHandler.h $(includedir)/IceUtil/Functional.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/RWRecMutex.h $(includedir)/IceUtil/Thread.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/RecMutex.h $(includedir)/IceUtil/StaticMutex.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/UUID.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/Ice/Handle.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)/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)/Ice/BuiltinSequences.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/OutgoingAsync.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)/Ice/Stream.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/FactoryTableDef.h $(includedir)/Ice/UserExceptionFactoryF.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h ./TestI.h ./Test.h
+Server$(OBJEXT): Server.cpp $(includedir)/Ice/Application.h $(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/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 ../../include/TestCommon.h
+Test.cpp: Test.ice
+Test.ice: $(SLICE2CPP) $(SLICEPARSERLIB)
diff --git a/cpp/test/Ice/checksum/client/.gitignore b/cpp/test/Ice/udp/.gitignore
index 02593a09c8e..67872faa673 100644
--- a/cpp/test/Ice/checksum/client/.gitignore
+++ b/cpp/test/Ice/udp/.gitignore
@@ -2,7 +2,6 @@
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
client
+server
Test.cpp
-Types.cpp
Test.h
-Types.h
diff --git a/cpp/test/Ice/udp/AllTests.cpp b/cpp/test/Ice/udp/AllTests.cpp
new file mode 100644
index 00000000000..19b79b0c2c2
--- /dev/null
+++ b/cpp/test/Ice/udp/AllTests.cpp
@@ -0,0 +1,148 @@
+// **********************************************************************
+//
+// 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 <TestCommon.h>
+#include <Test.h>
+
+using namespace std;
+using namespace Ice;
+using namespace Test;
+
+class PingReplyI : public PingReply, public IceUtil::Monitor<IceUtil::Mutex>
+{
+public:
+
+ virtual void
+ reply(const Ice::Current&)
+ {
+ Lock sync(*this);
+ ++_replies;
+ notify();
+ }
+
+ void
+ reset()
+ {
+ _replies = 0;
+ }
+
+ bool
+ waitReply(int expectedReplies, const IceUtil::Time& timeout)
+ {
+ Lock sync(*this);
+ IceUtil::Time end = IceUtil::Time::now() + timeout;
+ while(_replies < expectedReplies)
+ {
+ IceUtil::Time delay = end - IceUtil::Time::now();
+ if(delay > IceUtil::Time::seconds(0))
+ {
+ timedWait(delay);
+ }
+ else
+ {
+ break;
+ }
+ }
+ return _replies == expectedReplies;
+ }
+
+private:
+
+ int _replies;
+};
+
+typedef IceUtil::Handle<PingReplyI> PingReplyIPtr;
+
+TestIntfPrx
+allTests(const CommunicatorPtr& communicator)
+{
+ communicator->getProperties()->setProperty("ReplyAdapter.Endpoints", "udp -p 12030");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ReplyAdapter");
+ PingReplyIPtr replyI = new PingReplyI;
+ PingReplyPrx reply = PingReplyPrx::uncheckedCast(adapter->addWithUUID(replyI))->ice_datagram();
+ adapter->activate();
+
+ cout << "testing udp... " << flush;
+ ObjectPrx base = communicator->stringToProxy("test:udp -p 12010")->ice_datagram();
+ TestIntfPrx obj = TestIntfPrx::uncheckedCast(base);
+
+ replyI->reset();
+ obj->ping(reply);
+ obj->ping(reply);
+ obj->ping(reply);
+ bool ret = replyI->waitReply(3, IceUtil::Time::seconds(2));
+ test(ret == true);
+
+ Test::ByteSeq seq;
+ try
+ {
+ seq.resize(1024);
+ while(true)
+ {
+ seq.resize(seq.size() * 2 + 10);
+ replyI->reset();
+ obj->sendByteSeq(seq, reply);
+ replyI->waitReply(1, IceUtil::Time::seconds(10));
+ }
+ }
+ catch(const DatagramLimitException&)
+ {
+ test(seq.size() > 16384);
+ }
+
+ communicator->getProperties()->setProperty("Ice.UDP.SndSize", "64000");
+ seq.resize(50000);
+ try
+ {
+ replyI->reset();
+ obj->sendByteSeq(seq, reply);
+ test(!replyI->waitReply(1, IceUtil::Time::milliSeconds(500)));
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ test(false);
+ }
+
+ cout << "ok" << endl;
+
+ cout << "testing udp multicast... " << flush;
+ string host;
+ if(communicator->getProperties()->getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ base = communicator->stringToProxy("test:udp -h " + host + " -p 12020")->ice_datagram();
+ obj = TestIntfPrx::uncheckedCast(base);
+
+ replyI->reset();
+ obj->ping(reply);
+ if(!replyI->waitReply(5, IceUtil::Time::seconds(2)))
+ {
+ cout << "failed (is a firewall enabled?)" << endl;
+ return obj;
+ }
+
+ replyI->reset();
+ obj->ping(reply);
+ if(!replyI->waitReply(5, IceUtil::Time::seconds(2)))
+ {
+ cout << "failed (is a firewall enabled?)" << endl;
+ return obj;
+ }
+
+ cout << "ok" << endl;
+
+ return obj;
+}
diff --git a/cpp/test/Ice/udp/Client.cpp b/cpp/test/Ice/udp/Client.cpp
new file mode 100644
index 00000000000..b6a24ad19dc
--- /dev/null
+++ b/cpp/test/Ice/udp/Client.cpp
@@ -0,0 +1,63 @@
+// **********************************************************************
+//
+// 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 <TestCommon.h>
+#include <Test.h>
+
+using namespace std;
+using namespace Test;
+
+int
+run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+{
+ TestIntfPrx allTests(const Ice::CommunicatorPtr&);
+ TestIntfPrx obj = allTests(communicator);
+ obj->shutdown();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties(argc, argv);
+
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.UDP.SndSize", "16384");
+
+ communicator = Ice::initialize(argc, argv, initData);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if(communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cpp/test/Ice/udp/Makefile b/cpp/test/Ice/udp/Makefile
new file mode 100644
index 00000000000..bcb5eb4e8a4
--- /dev/null
+++ b/cpp/test/Ice/udp/Makefile
@@ -0,0 +1,43 @@
+# **********************************************************************
+#
+# 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 = Test.o \
+
+COBJS = Client.o \
+ AllTests.o
+
+SOBJS = TestI.o \
+ Server.o
+
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
+ $(SOBJS:.o=.cpp)
+
+SLICE_SRCS = Test.ice
+
+include $(top_srcdir)/config/Make.rules
+
+CPPFLAGS := -I. -I../../include $(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/test/Ice/udp/Makefile.mak b/cpp/test/Ice/udp/Makefile.mak
new file mode 100644
index 00000000000..11a5b582373
--- /dev/null
+++ b/cpp/test/Ice/udp/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)
+
+COBJS = Test.obj \
+ Client.obj \
+ AllTests.obj
+
+SOBJS = Test.obj \
+ TestI.obj \
+ Server.obj
+
+SRCS = $(COBJS:.obj=.cpp) \
+ $(SOBJS:.obj=.cpp)
+
+!include $(top_srcdir)/config/Make.rules.mak
+
+CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+
+!if "$(GENERATE_PDB)" == "yes"
+CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
+!endif
+
+$(CLIENT): $(COBJS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+$(SERVER): $(SOBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ @if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
+ $(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
+
+clean::
+ del /q Test.cpp Test.h
+
+!include .depend
diff --git a/cpp/test/Ice/udp/Server.cpp b/cpp/test/Ice/udp/Server.cpp
new file mode 100644
index 00000000000..bcaa010beea
--- /dev/null
+++ b/cpp/test/Ice/udp/Server.cpp
@@ -0,0 +1,82 @@
+// **********************************************************************
+//
+// 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 <TestI.h>
+
+using namespace std;
+
+int
+run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
+{
+ Ice::PropertiesPtr properties = communicator->getProperties();
+ if(argc == 2 && string(argv[1]) == "1")
+ {
+ properties->setProperty("TestAdapter.Endpoints", "udp -p 12010");
+ Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("TestAdapter");
+ adapter->add(new TestIntfI, communicator->stringToIdentity("test"));
+ adapter->activate();
+ }
+
+ string host;
+ if(properties->getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ properties->setProperty("McastTestAdapter.Endpoints", "udp -h " + host + " -p 12020");
+ Ice::ObjectAdapterPtr mcastAdapter = communicator->createObjectAdapter("McastTestAdapter");
+ mcastAdapter->add(new TestIntfI, communicator->stringToIdentity("test"));
+ mcastAdapter->activate();
+
+ communicator->waitForShutdown();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ int status;
+ Ice::CommunicatorPtr communicator;
+
+ try
+ {
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties(argc, argv);
+
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.UDP.RcvSize", "16384");
+
+ communicator = Ice::initialize(argc, argv, initData);
+ status = run(argc, argv, communicator);
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+
+ if(communicator)
+ {
+ try
+ {
+ communicator->destroy();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ cerr << ex << endl;
+ status = EXIT_FAILURE;
+ }
+ }
+
+ return status;
+}
diff --git a/cs/test/Glacier2/attack/Backend.ice b/cpp/test/Ice/udp/Test.ice
index 5e93560db7c..0d4af4d441a 100644
--- a/cs/test/Glacier2/attack/Backend.ice
+++ b/cpp/test/Ice/udp/Test.ice
@@ -1,20 +1,29 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-#ifndef BACKEND_ICE
-#define BACKEND_ICE
+#ifndef TEST_ICE
+#define TEST_ICE
module Test
{
-interface Backend
+interface PingReply
{
+ void reply();
+};
+
+sequence<byte> ByteSeq;
+
+interface TestIntf
+{
+ void ping(PingReply* reply);
+ void sendByteSeq(ByteSeq seq, PingReply* reply);
void shutdown();
};
diff --git a/cpp/test/Ice/udp/TestI.cpp b/cpp/test/Ice/udp/TestI.cpp
new file mode 100644
index 00000000000..55657e25ada
--- /dev/null
+++ b/cpp/test/Ice/udp/TestI.cpp
@@ -0,0 +1,47 @@
+// **********************************************************************
+//
+// 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 <IceUtil/IceUtil.h>
+#include <Ice/Ice.h>
+#include <TestI.h>
+
+using namespace std;
+using namespace Ice;
+
+void
+TestIntfI::ping(const Test::PingReplyPrx& reply, const Current& current)
+{
+ try
+ {
+ reply->reply();
+ }
+ catch(const Ice::Exception&)
+ {
+ assert(false);
+ }
+}
+
+void
+TestIntfI::sendByteSeq(const Test::ByteSeq&, const Test::PingReplyPrx& reply, const Current& current)
+{
+ try
+ {
+ reply->reply();
+ }
+ catch(const Ice::Exception&)
+ {
+ assert(false);
+ }
+}
+
+void
+TestIntfI::shutdown(const Current& current)
+{
+ current.adapter->getCommunicator()->shutdown();
+}
diff --git a/cpp/test/Ice/udp/TestI.h b/cpp/test/Ice/udp/TestI.h
new file mode 100644
index 00000000000..ce404a0f264
--- /dev/null
+++ b/cpp/test/Ice/udp/TestI.h
@@ -0,0 +1,24 @@
+// **********************************************************************
+//
+// 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 TEST_I_H
+#define TEST_I_H
+
+#include <Test.h>
+
+class TestIntfI : public Test::TestIntf
+{
+public:
+
+ virtual void ping(const Test::PingReplyPrx&, const Ice::Current&);
+ virtual void sendByteSeq(const Test::ByteSeq&, const Test::PingReplyPrx&, const Ice::Current&);
+ virtual void shutdown(const Ice::Current&);
+};
+
+#endif
diff --git a/cpp/test/Ice/udp/run.py b/cpp/test/Ice/udp/run.py
new file mode 100755
index 00000000000..95f47bc2952
--- /dev/null
+++ b/cpp/test/Ice/udp/run.py
@@ -0,0 +1,40 @@
+#!/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 os, sys
+
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
+
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
+
+num = 5
+
+serverProc = []
+for i in range(0, num):
+ print "starting server #%d..." % (i + 1),
+ serverProc.append(TestUtil.startServer(server, "%d" % (i + 1) , adapter="McastTestAdapter"))
+ print "ok"
+
+print "starting client...",
+clientProc = TestUtil.startClient(client)
+print "ok"
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/cpp/test/IceBox/Makefile b/cpp/test/IceBox/Makefile
index a446bc8b096..a4c3eea4f26 100644
--- a/cpp/test/IceBox/Makefile
+++ b/cpp/test/IceBox/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/test/IceBox/Makefile.mak b/cpp/test/IceBox/Makefile.mak
index 603939d1aba..85a0621c27d 100644
--- a/cpp/test/IceBox/Makefile.mak
+++ b/cpp/test/IceBox/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/test/IceBox/configuration/AllTests.cpp b/cpp/test/IceBox/configuration/AllTests.cpp
index 7643fc627c2..40453171d4e 100644
--- a/cpp/test/IceBox/configuration/AllTests.cpp
+++ b/cpp/test/IceBox/configuration/AllTests.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/test/IceBox/configuration/Client.cpp b/cpp/test/IceBox/configuration/Client.cpp
index 0aa6c296d7e..261ad88c98b 100644
--- a/cpp/test/IceBox/configuration/Client.cpp
+++ b/cpp/test/IceBox/configuration/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/test/IceBox/configuration/Makefile b/cpp/test/IceBox/configuration/Makefile
index fd751d4b8b4..929934ea3e6 100644
--- a/cpp/test/IceBox/configuration/Makefile
+++ b/cpp/test/IceBox/configuration/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/test/IceBox/configuration/Makefile.mak b/cpp/test/IceBox/configuration/Makefile.mak
index 5935292dea9..88f581c0aae 100644
--- a/cpp/test/IceBox/configuration/Makefile.mak
+++ b/cpp/test/IceBox/configuration/Makefile.mak
@@ -1,11 +1,11 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
+# **********************************************************************
+#
+# 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 = ..\..\..
diff --git a/cpp/test/IceBox/configuration/Service.cpp b/cpp/test/IceBox/configuration/Service.cpp
index 75f1619b987..1b2b611c67c 100644
--- a/cpp/test/IceBox/configuration/Service.cpp
+++ b/cpp/test/IceBox/configuration/Service.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/test/IceBox/configuration/Test.ice b/cpp/test/IceBox/configuration/Test.ice
index 9e70b77cfc8..5300aa44bb0 100644
--- a/cpp/test/IceBox/configuration/Test.ice
+++ b/cpp/test/IceBox/configuration/Test.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/test/IceBox/configuration/TestI.cpp b/cpp/test/IceBox/configuration/TestI.cpp
index e40a87589e1..e873799fb04 100644
--- a/cpp/test/IceBox/configuration/TestI.cpp
+++ b/cpp/test/IceBox/configuration/TestI.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/test/IceBox/configuration/TestI.h b/cpp/test/IceBox/configuration/TestI.h
index 55be9ea7c7b..f48372b43e4 100644
--- a/cpp/test/IceBox/configuration/TestI.h
+++ b/cpp/test/IceBox/configuration/TestI.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/test/IceBox/configuration/run.py b/cpp/test/IceBox/configuration/run.py
index 2b8faa2881a..e6ef1e35114 100755
--- a/cpp/test/IceBox/configuration/run.py
+++ b/cpp/test/IceBox/configuration/run.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.
@@ -10,30 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+icebox = TestUtil.getIceBox()
-name = os.path.join("IceBox", "configuration")
-testdir = os.path.dirname(os.path.abspath(__file__))
-icebox = TestUtil.getIceBox(testdir);
+config = os.path.join(os.getcwd(), "config.icebox")
+config2 = os.path.join(os.getcwd(), "config.icebox2")
-TestUtil.addLdPath(testdir)
-
-cwd = os.getcwd()
-os.chdir(testdir)
-
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox", "", icebox, "client")
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox2", "", icebox, "client")
-
-os.chdir(cwd)
-
-sys.exit(0)
+TestUtil.clientServerTest(additionalServerOptions= "--Ice.Config=%s" % config, server = icebox)
+TestUtil.clientServerTest(additionalServerOptions= "--Ice.Config=%s" % config2, server = icebox)
diff --git a/cpp/test/IceGrid/Makefile b/cpp/test/IceGrid/Makefile
index 8d3ac519a76..f52a4fef93e 100644
--- a/cpp/test/IceGrid/Makefile
+++ b/cpp/test/IceGrid/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.
@@ -12,7 +12,7 @@ top_srcdir = ../..
include $(top_srcdir)/config/Make.rules
-SUBDIRS = simple deployer session update activation replicaGroup allocation replication distribution
+SUBDIRS = simple deployer session update activation replicaGroup allocation replication distribution admin
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cpp/test/IceGrid/Makefile.mak b/cpp/test/IceGrid/Makefile.mak
index e362ebceaa6..afefac34689 100644
--- a/cpp/test/IceGrid/Makefile.mak
+++ b/cpp/test/IceGrid/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.
@@ -12,7 +12,7 @@ top_srcdir = ..\..
!include $(top_srcdir)/config/Make.rules.mak
-SUBDIRS = simple deployer session update activation replicaGroup allocation replication distribution
+SUBDIRS = simple deployer session update activation replicaGroup allocation replication distribution admin
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cpp/test/IceGrid/activation/AllTests.cpp b/cpp/test/IceGrid/activation/AllTests.cpp
index 2cb91b88688..c7d449d93f6 100644
--- a/cpp/test/IceGrid/activation/AllTests.cpp
+++ b/cpp/test/IceGrid/activation/AllTests.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.
@@ -480,6 +480,26 @@ allTests(const Ice::CommunicatorPtr& communicator)
}
threads.resize(0);
+
+ try
+ {
+ admin->startServer("invalid-pwd-no-oa");
+ test(false);
+ }
+ catch(const IceGrid::ServerStartException& ex)
+ {
+ test(!ex.reason.empty());
+ }
+
+ try
+ {
+ admin->startServer("invalid-exe-no-oa");
+ test(false);
+ }
+ catch(const IceGrid::ServerStartException& ex)
+ {
+ test(!ex.reason.empty());
+ }
}
catch(const Ice::LocalException& ex)
{
diff --git a/cpp/test/IceGrid/activation/Client.cpp b/cpp/test/IceGrid/activation/Client.cpp
index 92b1babf5b2..f936da8ff84 100644
--- a/cpp/test/IceGrid/activation/Client.cpp
+++ b/cpp/test/IceGrid/activation/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/test/IceGrid/activation/Makefile b/cpp/test/IceGrid/activation/Makefile
index 8b941fe0c3f..be615e22887 100644
--- a/cpp/test/IceGrid/activation/Makefile
+++ b/cpp/test/IceGrid/activation/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/test/IceGrid/activation/Makefile.mak b/cpp/test/IceGrid/activation/Makefile.mak
index fe985981eb3..7c762da0d3d 100644
--- a/cpp/test/IceGrid/activation/Makefile.mak
+++ b/cpp/test/IceGrid/activation/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/test/IceGrid/activation/Server.cpp b/cpp/test/IceGrid/activation/Server.cpp
index 2eceec4211a..ac98d3884e4 100644
--- a/cpp/test/IceGrid/activation/Server.cpp
+++ b/cpp/test/IceGrid/activation/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/test/IceGrid/activation/Test.ice b/cpp/test/IceGrid/activation/Test.ice
index b7ff8cadc45..d9965dc7b3f 100644
--- a/cpp/test/IceGrid/activation/Test.ice
+++ b/cpp/test/IceGrid/activation/Test.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/test/IceGrid/activation/TestI.cpp b/cpp/test/IceGrid/activation/TestI.cpp
index 32e7b7df0c8..98ba7898901 100644
--- a/cpp/test/IceGrid/activation/TestI.cpp
+++ b/cpp/test/IceGrid/activation/TestI.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/test/IceGrid/activation/TestI.h b/cpp/test/IceGrid/activation/TestI.h
index 9c22d8f42b1..c908480e47e 100644
--- a/cpp/test/IceGrid/activation/TestI.h
+++ b/cpp/test/IceGrid/activation/TestI.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/test/IceGrid/activation/application.xml b/cpp/test/IceGrid/activation/application.xml
index a7a045774eb..92ba5cc5811 100644
--- a/cpp/test/IceGrid/activation/application.xml
+++ b/cpp/test/IceGrid/activation/application.xml
@@ -61,7 +61,12 @@
<object identity="${server}" type="Test"/>
</adapter>
</server>
-
+ <server id="invalid-exe-no-oa" exe="./server2">
+ <property name="Ice.Admin.Endpoints" value=""/>
+ </server>
+ <server id="invalid-pwd-no-oa" exe="./server" pwd="bogus">
+ <property name="Ice.Admin.Endpoints" value=""/>
+ </server>
</node>
<node name="node-1">
diff --git a/cpp/test/IceGrid/activation/run.py b/cpp/test/IceGrid/activation/run.py
index e1ed94de1f6..6ebb0279e94 100755
--- a/cpp/test/IceGrid/activation/run.py
+++ b/cpp/test/IceGrid/activation/run.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.
@@ -10,22 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "activation")
-
-
-IceGridAdmin.iceGridTest(os.path.dirname(os.path.abspath(__file__)), name, "application.xml", "", \
- ' \'properties-override=' + \
- TestUtil.getCommandLine("", TestUtil.DriverConfig("colloc")).replace("--", "") + '\'')
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml", "",
+ " 'properties-override=%s'" % TestUtil.getCommandLine("", TestUtil.DriverConfig("colloc")).replace("--", ""))
diff --git a/cpp/test/IceGrid/admin/.depend b/cpp/test/IceGrid/admin/.depend
new file mode 100644
index 00000000000..b20f7f89f17
--- /dev/null
+++ b/cpp/test/IceGrid/admin/.depend
@@ -0,0 +1 @@
+Server$(OBJEXT): Server.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
diff --git a/cpp/src/FreezeScript/.gitignore b/cpp/test/IceGrid/admin/.gitignore
index da581c67fd4..43b93111bf8 100644
--- a/cpp/src/FreezeScript/.gitignore
+++ b/cpp/test/IceGrid/admin/.gitignore
@@ -1,6 +1,7 @@
// Generated by makegitignore.py
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
-Grammar.cpp
-Grammar.h
-Scanner.cpp
+server
+db/node
+db/registry
+db/replica-*
diff --git a/cpp/test/IceGrid/admin/Makefile b/cpp/test/IceGrid/admin/Makefile
new file mode 100644
index 00000000000..71dc00c66cd
--- /dev/null
+++ b/cpp/test/IceGrid/admin/Makefile
@@ -0,0 +1,29 @@
+# **********************************************************************
+#
+# 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 = ../../..
+
+SERVER = server
+
+TARGETS = $(SERVER)
+
+OBJS = Server.o
+
+SRCS = $(OBJS:.o=.cpp)
+
+include $(top_srcdir)/config/Make.rules
+
+$(SERVER): $(OBJS)
+ rm -f $@
+ $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
+
+clean::
+ -rm -rf db/node db/registry db/replica-*
+
+include .depend
diff --git a/cpp/test/Ice/checksum/client/Makefile.mak b/cpp/test/IceGrid/admin/Makefile.mak
index 2bc99fedede..31d624e07bb 100644
--- a/cpp/test/Ice/checksum/client/Makefile.mak
+++ b/cpp/test/IceGrid/admin/Makefile.mak
@@ -1,41 +1,38 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-top_srcdir = ..\..\..\..
+top_srcdir = ..\..\..
-CLIENT = client.exe
+SERVER = server.exe
-TARGETS = $(CLIENT)
+TARGETS = $(SERVER)
-COBJS = Test.obj \
- Types.obj \
- Client.obj \
- AllTests.obj
+OBJS = Server.obj
-SRCS = $(COBJS:.obj=.cpp)
+SRCS = $(OBJS:.obj=.cpp) \
!include $(top_srcdir)/config/Make.rules.mak
-SLICE2CPPFLAGS = --checksum $(SLICE2CPPFLAGS)
-CPPFLAGS = -I. -I../../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+CPPFLAGS = $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
!if "$(GENERATE_PDB)" == "yes"
-PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
+SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
-$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+$(SERVER): $(OBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
clean::
- del /q Test.cpp Test.h
- del /q Types.cpp Types.h
+ if exist db\node rmdir /s /q db\node
+ if exist db\registry rmdir /s /q db\registry
+ if exist db\replica-1 rmdir /s /q db\replica-1
!include .depend
diff --git a/cpp/test/IceGrid/admin/Server.cpp b/cpp/test/IceGrid/admin/Server.cpp
new file mode 100644
index 00000000000..7954d30b33f
--- /dev/null
+++ b/cpp/test/IceGrid/admin/Server.cpp
@@ -0,0 +1,49 @@
+// **********************************************************************
+//
+// 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>
+
+using namespace std;
+
+class Server : public Ice::Application
+{
+public:
+
+ virtual int run(int argc, char* argv[]);
+
+};
+
+int
+Server::run(int argc, char* argv[])
+{
+ Ice::StringSeq args = Ice::argsToStringSeq(argc, argv);
+ args = communicator()->getProperties()->parseCommandLineOptions("TestAdapter", args);
+ Ice::stringSeqToArgs(args, argc, argv);
+
+ Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
+ shutdownOnInterrupt();
+ try
+ {
+ adapter->activate();
+ }
+ catch(const Ice::ObjectAdapterDeactivatedException&)
+ {
+ }
+ communicator()->waitForShutdown();
+ ignoreInterrupt();
+ return EXIT_SUCCESS;
+}
+
+int
+main(int argc, char* argv[])
+{
+ Server app;
+ int rc = app.main(argc, argv);
+ return rc;
+}
diff --git a/cpp/test/IceGrid/admin/application.xml b/cpp/test/IceGrid/admin/application.xml
new file mode 100644
index 00000000000..9bc16074109
--- /dev/null
+++ b/cpp/test/IceGrid/admin/application.xml
@@ -0,0 +1,11 @@
+<icegrid>
+ <application name="Test">
+ <node name="localnode">
+ <server id="server" exe="./server" activation="on-demand">
+ <adapter name="TestAdapter" endpoints="default" id="TestAdapter">
+ <object identity="test" type="Test"/>
+ </adapter>
+ </server>
+ </node>
+ </application>
+</icegrid>
diff --git a/cs/test/Glacier2/attack/generated/.gitignore b/cpp/test/IceGrid/admin/db/.gitignore
index 39af5887579..39af5887579 100644
--- a/cs/test/Glacier2/attack/generated/.gitignore
+++ b/cpp/test/IceGrid/admin/db/.gitignore
diff --git a/cpp/test/IceGrid/admin/run.py b/cpp/test/IceGrid/admin/run.py
new file mode 100755
index 00000000000..6be1ba15870
--- /dev/null
+++ b/cpp/test/IceGrid/admin/run.py
@@ -0,0 +1,242 @@
+#!/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, signal
+
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+sys.path.append(path[0])
+from scripts import *
+
+testdir = os.getcwd();
+
+registryProcs = IceGridAdmin.startIceGridRegistry(testdir)
+nodeProc = IceGridAdmin.startIceGridNode(testdir)
+
+print "starting glacier2...",
+sys.stdout.flush()
+router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
+args = ' --Glacier2.SessionTimeout=5' + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
+ ' --Glacier2.SessionManager=IceGrid/AdminSessionManager' + \
+ ' --Glacier2.PermissionsVerifier=Glacier2/NullPermissionsVerifier' + \
+ ' --Glacier2.SSLSessionManager=IceGrid/AdminSSLSessionManager' + \
+ ' --Glacier2.SSLPermissionsVerifier=Glacier2/NullSSLPermissionsVerifier' + \
+ ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \
+ ' --IceSSL.VerifyPeer=1'
+routerProc = TestUtil.startServer(router, args, count=2)
+print "ok"
+
+print "testing login with username/password...",
+sys.stdout.flush()
+
+# Direct registry connection with username/password
+icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin")
+args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \
+ ' --IceGridAdmin.Username=demo' + \
+ ' --IceGridAdmin.Password=dummy'
+admin = TestUtil.startClient(icegridadmin, args, None, None, False)
+admin.expect('>>> ')
+admin.sendline("server list")
+admin.expect('>>> ')
+admin.sendline('exit')
+admin.waitTestSuccess(timeout=120)
+
+# Glacier2 connection with username/password
+args = ' --Ice.Default.Router="Glacier2/router:default -p 12347"' + \
+ ' --IceGridAdmin.Username=demo' + \
+ ' --IceGridAdmin.Password=dummy'
+admin = TestUtil.startClient(icegridadmin, args, None, None, False)
+admin.expect('>>> ')
+admin.sendline("server list")
+admin.expect('>>> ')
+admin.sendline('exit')
+admin.waitTestSuccess(timeout=120)
+print "ok"
+
+if TestUtil.protocol == "ssl":
+
+ print "testing login with ssl...",
+ sys.stdout.flush()
+
+ # Direct registry connection with SSL
+ icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin")
+ args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010" --ssl'
+ admin = TestUtil.startClient(icegridadmin, args, None, None, False)
+ admin.expect('>>> ')
+ admin.sendline("server list")
+ admin.expect('>>> ')
+ admin.sendline('exit')
+ admin.waitTestSuccess(timeout=120)
+
+ # Glacier2 connection with username/password
+ args = ' --Ice.Default.Router="Glacier2/router:default -p 12347" --ssl'
+ admin = TestUtil.startClient(icegridadmin, args, None, None, False)
+ admin.expect('>>> ')
+ admin.sendline("server list")
+ admin.expect('>>> ')
+ admin.sendline('exit')
+ admin.waitTestSuccess(timeout=120)
+
+ print "ok"
+
+print "testing commands...",
+sys.stdout.flush()
+icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin")
+args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \
+ ' --IceGridAdmin.Username=demo' + \
+ ' --IceGridAdmin.Password=dummy'
+admin = TestUtil.startClient(icegridadmin, args, None, None, False)
+admin.expect('>>> ')
+admin.sendline('application add application.xml')
+admin.expect('>>> ')
+admin.sendline('application list')
+admin.expect('Test')
+admin.sendline('application describe Test')
+admin.expect('application `Test\'')
+admin.expect('\{.*\}')
+admin.expect('>>> ')
+admin.sendline('application diff application.xml')
+admin.expect('application `Test\'\n\{.*\}')
+admin.expect('>>> ')
+admin.sendline('application update application.xml')
+admin.expect('>>> ')
+admin.sendline('application patch Test')
+admin.expect('>>> ')
+admin.sendline('server list')
+admin.expect('server')
+admin.expect('>>> ')
+admin.sendline('server describe server')
+admin.expect('server `server\'\n\{.*\}')
+admin.expect('>>> ')
+admin.sendline('server start server')
+admin.expect('>>> ')
+admin.sendline('server state server')
+admin.expect('^active \(.*\)')
+admin.expect('>>> ')
+admin.sendline('server pid server')
+admin.expect('[0-9]+')
+admin.expect('>>> ')
+admin.sendline('server properties server')
+admin.expect('>>> ')
+admin.sendline('server property server Ice.Admin.ServerId')
+admin.expect("^server")
+admin.expect('>>> ')
+admin.sendline('server patch server')
+admin.expect('>>> ')
+admin.sendline('server disable server')
+admin.expect('>>> ')
+admin.sendline('server enable server')
+admin.expect('>>> ')
+admin.sendline('adapter list')
+admin.expect('TestAdapter')
+admin.expect('>>> ')
+admin.sendline('adapter endpoints TestAdapter')
+admin.expect(['tcp', 'ssl'])
+admin.expect('>>> ')
+admin.sendline('object list')
+admin.expect('test')
+admin.expect('>>> ')
+admin.sendline('object describe')
+admin.expect('proxy = `.*\' type = `.*\'')
+admin.expect('>>> ')
+admin.sendline('object find Test')
+admin.expect('test')
+admin.expect('>>> ')
+admin.sendline('server stop server')
+admin.expect('>>> ')
+admin.sendline('application remove Test')
+admin.expect('>>> ')
+admin.sendline('registry list')
+admin.expect('Master')
+admin.expect('>>> ')
+admin.sendline('registry ping Master')
+admin.expect('registry is up')
+admin.expect('>>> ')
+admin.sendline('registry describe Master')
+admin.expect('registry `Master\'\n{.*}')
+admin.expect('>>> ')
+admin.sendline('node list')
+admin.expect('localnode')
+admin.expect('>>> ')
+admin.sendline('node describe localnode')
+admin.expect('node `localnode\'\n{.*}')
+admin.expect('>>> ')
+admin.sendline('node load localnode')
+admin.expect('load average.*\n')
+admin.expect('>>> ')
+admin.sendline('node ping localnode')
+admin.expect('node is up')
+admin.expect('>>> ')
+admin.sendline('exit')
+admin.waitTestSuccess(timeout=120)
+print "ok"
+
+# print "testing icegridadmin...",
+# sys.stdout.flush()
+
+# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"')
+# admin.expect('>>> ')
+# admin.sendline("server list")
+# admin.expect('SimpleServer')
+# admin.expect('>>> ')
+# admin.sendline('exit')
+# admin.waitTestSuccess(timeout=120)
+
+# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl')
+# admin.expect('>>> ')
+# admin.sendline("server list")
+# admin.expect('SimpleServer')
+# admin.expect('>>> ')
+# admin.sendline('exit')
+# admin.waitTestSuccess(timeout=120)
+
+# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"')
+# admin.expect('>>> ')
+# admin.sendline("server list")
+# admin.expect('SimpleServer')
+# admin.expect('>>> ')
+# admin.sendline('exit')
+# admin.waitTestSuccess(timeout=120)
+
+# print "ok"
+
+# print "completing shutdown...",
+# sys.stdout.flush()
+
+# admin = Util.spawn('icegridadmin --Ice.Config=config.admin')
+# admin.expect('>>> ')
+
+# admin.sendline('node shutdown Node')
+# admin.expect('>>> ')
+# node.waitTestSuccess(timeout=120)
+
+# admin.sendline('registry shutdown Master')
+# admin.expect('>>> ')
+# registry.waitTestSuccess()
+
+# admin.sendline('exit')
+# admin.waitTestSuccess(timeout=120)
+
+print "stopping glacier2...",
+sys.stdout.flush()
+routerProc.kill(signal.SIGINT)
+routerProc.waitTestSuccess()
+print "ok"
+
+IceGridAdmin.iceGridAdmin("node shutdown localnode")
+IceGridAdmin.shutdownIceGridRegistry(registryProcs)
+nodeProc.waitTestSuccess()
diff --git a/cpp/test/IceGrid/allocation/AllTests.cpp b/cpp/test/IceGrid/allocation/AllTests.cpp
index 1a153a99fd9..d1a833788fb 100644
--- a/cpp/test/IceGrid/allocation/AllTests.cpp
+++ b/cpp/test/IceGrid/allocation/AllTests.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/test/IceGrid/allocation/Client.cpp b/cpp/test/IceGrid/allocation/Client.cpp
index 4ae4969a236..bee08b43aa3 100644
--- a/cpp/test/IceGrid/allocation/Client.cpp
+++ b/cpp/test/IceGrid/allocation/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/test/IceGrid/allocation/Makefile b/cpp/test/IceGrid/allocation/Makefile
index 865aadfc204..dc3e5a50595 100644
--- a/cpp/test/IceGrid/allocation/Makefile
+++ b/cpp/test/IceGrid/allocation/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/test/IceGrid/allocation/Makefile.mak b/cpp/test/IceGrid/allocation/Makefile.mak
index 841eccfcfc0..ffb3bed1c20 100644
--- a/cpp/test/IceGrid/allocation/Makefile.mak
+++ b/cpp/test/IceGrid/allocation/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/test/IceGrid/allocation/PermissionsVerifier.cpp b/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp
index b0892a419f0..a406e7ef1ed 100644
--- a/cpp/test/IceGrid/allocation/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/allocation/PermissionsVerifier.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/test/IceGrid/allocation/Server.cpp b/cpp/test/IceGrid/allocation/Server.cpp
index 2c2c832289d..d3328642b21 100644
--- a/cpp/test/IceGrid/allocation/Server.cpp
+++ b/cpp/test/IceGrid/allocation/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/test/IceGrid/allocation/Test.ice b/cpp/test/IceGrid/allocation/Test.ice
index ed39d023357..fcec9db2f7d 100644
--- a/cpp/test/IceGrid/allocation/Test.ice
+++ b/cpp/test/IceGrid/allocation/Test.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/test/IceGrid/allocation/TestI.cpp b/cpp/test/IceGrid/allocation/TestI.cpp
index 51c1faeedc9..38720224d5b 100644
--- a/cpp/test/IceGrid/allocation/TestI.cpp
+++ b/cpp/test/IceGrid/allocation/TestI.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/test/IceGrid/allocation/TestI.h b/cpp/test/IceGrid/allocation/TestI.h
index a07e9242824..13754985532 100644
--- a/cpp/test/IceGrid/allocation/TestI.h
+++ b/cpp/test/IceGrid/allocation/TestI.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/test/IceGrid/allocation/run.py b/cpp/test/IceGrid/allocation/run.py
index 36e87f4808f..2a010c5a387 100755
--- a/cpp/test/IceGrid/allocation/run.py
+++ b/cpp/test/IceGrid/allocation/run.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.
@@ -10,19 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "allocation")
-
-IceGridAdmin.iceGridTest(os.path.dirname(os.path.abspath(__file__)), name, "application.xml")
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml")
diff --git a/cpp/test/IceGrid/deployer/AllTests.cpp b/cpp/test/IceGrid/deployer/AllTests.cpp
index ce759a741a7..9d91d1e8859 100644
--- a/cpp/test/IceGrid/deployer/AllTests.cpp
+++ b/cpp/test/IceGrid/deployer/AllTests.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/test/IceGrid/deployer/Client.cpp b/cpp/test/IceGrid/deployer/Client.cpp
index edcf48c63ec..c3c1ca1f37a 100644
--- a/cpp/test/IceGrid/deployer/Client.cpp
+++ b/cpp/test/IceGrid/deployer/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/test/IceGrid/deployer/Makefile b/cpp/test/IceGrid/deployer/Makefile
index 4ab99ecf0c2..b36e84097f4 100644
--- a/cpp/test/IceGrid/deployer/Makefile
+++ b/cpp/test/IceGrid/deployer/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/test/IceGrid/deployer/Makefile.mak b/cpp/test/IceGrid/deployer/Makefile.mak
index 5a1eb0bf13b..b5c8c1735cb 100644
--- a/cpp/test/IceGrid/deployer/Makefile.mak
+++ b/cpp/test/IceGrid/deployer/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/test/IceGrid/deployer/Server.cpp b/cpp/test/IceGrid/deployer/Server.cpp
index c80eefa867b..91589d0fda9 100644
--- a/cpp/test/IceGrid/deployer/Server.cpp
+++ b/cpp/test/IceGrid/deployer/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/test/IceGrid/deployer/Service.cpp b/cpp/test/IceGrid/deployer/Service.cpp
index 5347244a146..7fcdec77bfe 100644
--- a/cpp/test/IceGrid/deployer/Service.cpp
+++ b/cpp/test/IceGrid/deployer/Service.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/test/IceGrid/deployer/Test.ice b/cpp/test/IceGrid/deployer/Test.ice
index ed39d023357..fcec9db2f7d 100644
--- a/cpp/test/IceGrid/deployer/Test.ice
+++ b/cpp/test/IceGrid/deployer/Test.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/test/IceGrid/deployer/TestI.cpp b/cpp/test/IceGrid/deployer/TestI.cpp
index 51c1faeedc9..38720224d5b 100644
--- a/cpp/test/IceGrid/deployer/TestI.cpp
+++ b/cpp/test/IceGrid/deployer/TestI.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/test/IceGrid/deployer/TestI.h b/cpp/test/IceGrid/deployer/TestI.h
index a07e9242824..13754985532 100644
--- a/cpp/test/IceGrid/deployer/TestI.h
+++ b/cpp/test/IceGrid/deployer/TestI.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/test/IceGrid/deployer/run.py b/cpp/test/IceGrid/deployer/run.py
index 62d8f8d6523..e7e7b33f920 100755
--- a/cpp/test/IceGrid/deployer/run.py
+++ b/cpp/test/IceGrid/deployer/run.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.
@@ -10,31 +10,18 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "deployer")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.addLdPath(testdir)
-
-iceBox = TestUtil.getIceBox(testdir)
-
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "--TestDir=\"" + testdir + "\"", \
- '"icebox.exe=' + TestUtil.getIceBox(testdir) + '"')
+IceGridAdmin.iceGridTest("application.xml", '--TestDir="%s"' % os.getcwd(), '"icebox.exe=%s"' % TestUtil.getIceBox())
# Tests with targets
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "-t --TestDir=\"" + testdir + "\"", \
- "icebox.exe=" + TestUtil.getIceBox(testdir) + \
- " moreservers moreservices moreproperties")
-
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml", '-t --TestDir="%s"' % os.getcwd(),
+ "icebox.exe=%s moreservers moreservices moreproperties" % TestUtil.getIceBox())
diff --git a/cpp/test/IceGrid/distribution/AllTests.cpp b/cpp/test/IceGrid/distribution/AllTests.cpp
index faec3f8534b..4b31f763624 100644
--- a/cpp/test/IceGrid/distribution/AllTests.cpp
+++ b/cpp/test/IceGrid/distribution/AllTests.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/test/IceGrid/distribution/Client.cpp b/cpp/test/IceGrid/distribution/Client.cpp
index 4ae4969a236..bee08b43aa3 100644
--- a/cpp/test/IceGrid/distribution/Client.cpp
+++ b/cpp/test/IceGrid/distribution/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/test/IceGrid/distribution/Makefile b/cpp/test/IceGrid/distribution/Makefile
index f985da96ca9..7c7be20b13f 100644
--- a/cpp/test/IceGrid/distribution/Makefile
+++ b/cpp/test/IceGrid/distribution/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/test/IceGrid/distribution/Makefile.mak b/cpp/test/IceGrid/distribution/Makefile.mak
index 7dc4b627f27..ab112a0f2aa 100644
--- a/cpp/test/IceGrid/distribution/Makefile.mak
+++ b/cpp/test/IceGrid/distribution/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/test/IceGrid/distribution/Server.cpp b/cpp/test/IceGrid/distribution/Server.cpp
index ed93b74de5d..d09e89fac6b 100644
--- a/cpp/test/IceGrid/distribution/Server.cpp
+++ b/cpp/test/IceGrid/distribution/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/test/IceGrid/distribution/Test.ice b/cpp/test/IceGrid/distribution/Test.ice
index 44b21c2918a..7b83181ac92 100644
--- a/cpp/test/IceGrid/distribution/Test.ice
+++ b/cpp/test/IceGrid/distribution/Test.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/test/IceGrid/distribution/TestI.cpp b/cpp/test/IceGrid/distribution/TestI.cpp
index cd0ed22ed76..2b4ccb3fd92 100644
--- a/cpp/test/IceGrid/distribution/TestI.cpp
+++ b/cpp/test/IceGrid/distribution/TestI.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/test/IceGrid/distribution/TestI.h b/cpp/test/IceGrid/distribution/TestI.h
index 5f51a3008da..55e8f077e9d 100644
--- a/cpp/test/IceGrid/distribution/TestI.h
+++ b/cpp/test/IceGrid/distribution/TestI.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/test/IceGrid/distribution/run.py b/cpp/test/IceGrid/distribution/run.py
index 086147b34cd..f5ff701f241 100755
--- a/cpp/test/IceGrid/distribution/run.py
+++ b/cpp/test/IceGrid/distribution/run.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.
@@ -10,35 +10,25 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+sys.path.append(os.path.join(path[0]))
+from scripts import *
def icepatch2Calc(datadir, dirname):
icePatch2Calc = os.path.join(TestUtil.getCppBinDir(), "icepatch2calc")
- commandPipe = os.popen(icePatch2Calc + " " + os.path.join(datadir, dirname) + " 2>&1")
-
- TestUtil.printOutputFromPipe(commandPipe)
-
- commandStatus = TestUtil.closePipe(commandPipe)
- if commandStatus:
- sys.exit(1)
+ commandProc = TestUtil.spawn(icePatch2Calc + " " + os.path.join(datadir, dirname))
+ commandProc.waitTestSuccess()
-name = os.path.join("IceGrid", "distribution")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-datadir = os.path.join(testdir, "data")
+datadir = os.path.join(os.getcwd(), "data")
-files = [ \
+files = [
[ "original/rootfile", "rootfile" ],
[ "original/dir1/file1", "dummy-file1"],
[ "original/dir1/file2", "dummy-file2"],
@@ -68,9 +58,7 @@ icepatch2Calc(datadir, "original")
icepatch2Calc(datadir, "updated")
print "ok"
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "")
+IceGridAdmin.iceGridTest("application.xml")
IceGridAdmin.cleanDbDir(datadir)
os.rmdir(datadir)
-
-sys.exit(0)
diff --git a/cpp/test/IceGrid/replicaGroup/AllTests.cpp b/cpp/test/IceGrid/replicaGroup/AllTests.cpp
index beea1a80cca..2484c62dc1f 100644
--- a/cpp/test/IceGrid/replicaGroup/AllTests.cpp
+++ b/cpp/test/IceGrid/replicaGroup/AllTests.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.
@@ -230,17 +230,73 @@ allTests(const Ice::CommunicatorPtr& comm)
params["id"] = "Server3";
instantiateServer(admin, "Server", "localnode", params);
TestIntfPrx obj = TestIntfPrx::uncheckedCast(comm->stringToProxy("RoundRobin"));
+ obj = TestIntfPrx::uncheckedCast(obj->ice_locatorCacheTimeout(0));
+ obj = TestIntfPrx::uncheckedCast(obj->ice_connectionCached(false));
try
{
test(obj->getReplicaIdAndShutdown() == "Server1.ReplicatedAdapter");
test(obj->getReplicaIdAndShutdown() == "Server2.ReplicatedAdapter");
test(obj->getReplicaIdAndShutdown() == "Server3.ReplicatedAdapter");
+
+ admin->enableServer("Server1", false);
+ admin->enableServer("Server2", false);
+ admin->enableServer("Server3", false);
+
+ try
+ {
+ obj->getReplicaId();
+ test(false);
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ }
+
+ admin->enableServer("Server1", true);
+ admin->enableServer("Server2", true);
+ admin->enableServer("Server3", true);
+
+ set<string> adapterIds;
+ string previousId;
+ while(adapterIds.size() != 3)
+ {
+ string id = obj->getReplicaId();
+ adapterIds.insert(id);
+
+ if(adapterIds.size() == 1)
+ {
+ previousId = id;
+ }
+ else
+ {
+ test(previousId != id);
+ previousId = id;
+ }
+ }
+
+ int i;
+ for(i = 0; i < 3; i++)
+ {
+ if(obj->getReplicaId() == "Server3.ReplicatedAdapter")
+ {
+ break;
+ }
+ }
+ test(i != 3);
+
+ test(obj->getReplicaId() == "Server1.ReplicatedAdapter");
+ test(obj->getReplicaId() == "Server2.ReplicatedAdapter");
+ test(obj->getReplicaId() == "Server3.ReplicatedAdapter");
+
+ test(obj->getReplicaIdAndShutdown() == "Server1.ReplicatedAdapter");
+ test(obj->getReplicaIdAndShutdown() == "Server2.ReplicatedAdapter");
+ test(obj->getReplicaIdAndShutdown() == "Server3.ReplicatedAdapter");
}
catch(const Ice::LocalException& ex)
{
cerr << ex << endl;
test(false);
}
+
removeServer(admin, "Server1");
removeServer(admin, "Server2");
removeServer(admin, "Server3");
@@ -344,6 +400,42 @@ allTests(const Ice::CommunicatorPtr& comm)
test(false);
}
}
+
+ admin->stopServer("Server1");
+ admin->stopServer("Server2");
+ admin->stopServer("Server3");
+
+ admin->enableServer("Server1", false);
+ admin->enableServer("Server2", false);
+ admin->enableServer("Server3", false);
+
+ try
+ {
+ obj->getReplicaId();
+ test(false);
+ }
+ catch(const Ice::NoEndpointException&)
+ {
+ }
+
+ admin->enableServer("Server1", true);
+ admin->enableServer("Server2", true);
+ admin->enableServer("Server3", true);
+
+ replicaIds = serverReplicaIds;
+ while(!replicaIds.empty())
+ {
+ try
+ {
+ replicaIds.erase(obj->getReplicaIdAndShutdown());
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ cerr << ex << endl;
+ test(false);
+ }
+ }
+
removeServer(admin, "Server1");
removeServer(admin, "Server2");
removeServer(admin, "Server3");
@@ -489,6 +581,18 @@ allTests(const Ice::CommunicatorPtr& comm)
test(expected.find(replicaId) != expected.end());
replicaIds.erase(replicaId);
}
+
+ admin->stopServer("Server1");
+ admin->stopServer("Server2");
+ admin->stopServer("Server3");
+
+ obj->ice_locatorCacheTimeout(0)->ice_ping();
+ int nRetry = 500;
+ while(replicaIds.size() != 2 && --nRetry > 0)
+ {
+ replicaIds.insert(obj->getReplicaId());
+ }
+ test(replicaIds.size() == 2);
}
catch(const Ice::LocalException& ex)
{
diff --git a/cpp/test/IceGrid/replicaGroup/Client.cpp b/cpp/test/IceGrid/replicaGroup/Client.cpp
index 4e611895de7..aa569dcf1e9 100644
--- a/cpp/test/IceGrid/replicaGroup/Client.cpp
+++ b/cpp/test/IceGrid/replicaGroup/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/test/IceGrid/replicaGroup/Makefile b/cpp/test/IceGrid/replicaGroup/Makefile
index 2e7d932f92e..63558c3de03 100644
--- a/cpp/test/IceGrid/replicaGroup/Makefile
+++ b/cpp/test/IceGrid/replicaGroup/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/test/IceGrid/replicaGroup/Makefile.mak b/cpp/test/IceGrid/replicaGroup/Makefile.mak
index 62781476703..caf817394fa 100644
--- a/cpp/test/IceGrid/replicaGroup/Makefile.mak
+++ b/cpp/test/IceGrid/replicaGroup/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/test/IceGrid/replicaGroup/Server.cpp b/cpp/test/IceGrid/replicaGroup/Server.cpp
index ce8f38987a0..4351aeddb90 100644
--- a/cpp/test/IceGrid/replicaGroup/Server.cpp
+++ b/cpp/test/IceGrid/replicaGroup/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/test/IceGrid/replicaGroup/Service.cpp b/cpp/test/IceGrid/replicaGroup/Service.cpp
index de5a6d7da71..2a7ff3802a9 100644
--- a/cpp/test/IceGrid/replicaGroup/Service.cpp
+++ b/cpp/test/IceGrid/replicaGroup/Service.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/test/IceGrid/replicaGroup/Test.ice b/cpp/test/IceGrid/replicaGroup/Test.ice
index f6a09032e02..3da24acae34 100644
--- a/cpp/test/IceGrid/replicaGroup/Test.ice
+++ b/cpp/test/IceGrid/replicaGroup/Test.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/test/IceGrid/replicaGroup/TestI.cpp b/cpp/test/IceGrid/replicaGroup/TestI.cpp
index 45c30fc8ca4..6320dfcd452 100644
--- a/cpp/test/IceGrid/replicaGroup/TestI.cpp
+++ b/cpp/test/IceGrid/replicaGroup/TestI.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/test/IceGrid/replicaGroup/TestI.h b/cpp/test/IceGrid/replicaGroup/TestI.h
index c869abe857c..c32df3f493d 100644
--- a/cpp/test/IceGrid/replicaGroup/TestI.h
+++ b/cpp/test/IceGrid/replicaGroup/TestI.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/test/IceGrid/replicaGroup/run.py b/cpp/test/IceGrid/replicaGroup/run.py
index d5fa8c36514..b98075c4392 100755
--- a/cpp/test/IceGrid/replicaGroup/run.py
+++ b/cpp/test/IceGrid/replicaGroup/run.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.
@@ -10,23 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "replicaGroup")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.addLdPath(testdir)
-
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "--Ice.RetryIntervals=\"0 50 100 250\"", \
- "icebox.exe=" + TestUtil.getIceBox(testdir))
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml", "--Ice.RetryIntervals=\"0 50 100 250\"",
+ "icebox.exe=%s" % TestUtil.getIceBox())
diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp
index afb96a6ba6c..648d9704bf8 100644
--- a/cpp/test/IceGrid/replication/AllTests.cpp
+++ b/cpp/test/IceGrid/replication/AllTests.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/test/IceGrid/replication/Client.cpp b/cpp/test/IceGrid/replication/Client.cpp
index 832a00d81f4..ab39a377a80 100644
--- a/cpp/test/IceGrid/replication/Client.cpp
+++ b/cpp/test/IceGrid/replication/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/test/IceGrid/replication/Makefile b/cpp/test/IceGrid/replication/Makefile
index b3727c95c91..022fddaeac7 100644
--- a/cpp/test/IceGrid/replication/Makefile
+++ b/cpp/test/IceGrid/replication/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/test/IceGrid/replication/Makefile.mak b/cpp/test/IceGrid/replication/Makefile.mak
index a517ce8b27d..d755fd242e7 100644
--- a/cpp/test/IceGrid/replication/Makefile.mak
+++ b/cpp/test/IceGrid/replication/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/test/IceGrid/replication/Server.cpp b/cpp/test/IceGrid/replication/Server.cpp
index 14238115fae..a054c294555 100644
--- a/cpp/test/IceGrid/replication/Server.cpp
+++ b/cpp/test/IceGrid/replication/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/test/IceGrid/replication/Test.ice b/cpp/test/IceGrid/replication/Test.ice
index 3bb976536db..94fc5186deb 100644
--- a/cpp/test/IceGrid/replication/Test.ice
+++ b/cpp/test/IceGrid/replication/Test.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/test/IceGrid/replication/TestI.cpp b/cpp/test/IceGrid/replication/TestI.cpp
index 4a48f4d3791..a6e94ac90ac 100644
--- a/cpp/test/IceGrid/replication/TestI.cpp
+++ b/cpp/test/IceGrid/replication/TestI.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/test/IceGrid/replication/TestI.h b/cpp/test/IceGrid/replication/TestI.h
index ed23a23532c..6cd336b9404 100644
--- a/cpp/test/IceGrid/replication/TestI.h
+++ b/cpp/test/IceGrid/replication/TestI.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/test/IceGrid/replication/run.py b/cpp/test/IceGrid/replication/run.py
index ff0420899dc..f7ab28dd1c2 100755
--- a/cpp/test/IceGrid/replication/run.py
+++ b/cpp/test/IceGrid/replication/run.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.
@@ -10,24 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+TestUtil.addLdPath(os.getcwd())
-name = os.path.join("IceGrid", "replication")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.addLdPath(testdir)
-
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "--IceDir=\"" + toplevel + "\" --TestDir=\"" + testdir + "\"", \
- ' \'properties-override=' + \
- TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", "") + '\'')
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml", '--IceDir="%s" --TestDir="%s"' % (TestUtil.toplevel, os.getcwd()),
+ '\\"properties-override=%s\\"' % TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", ""))
diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp
index 26ca9698a43..90e55f44e47 100644
--- a/cpp/test/IceGrid/session/AllTests.cpp
+++ b/cpp/test/IceGrid/session/AllTests.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/test/IceGrid/session/Client.cpp b/cpp/test/IceGrid/session/Client.cpp
index aa483b95eb4..ac68b319428 100644
--- a/cpp/test/IceGrid/session/Client.cpp
+++ b/cpp/test/IceGrid/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/test/IceGrid/session/Makefile b/cpp/test/IceGrid/session/Makefile
index 42409cd73ae..6762ea56a2d 100644
--- a/cpp/test/IceGrid/session/Makefile
+++ b/cpp/test/IceGrid/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/test/IceGrid/session/Makefile.mak b/cpp/test/IceGrid/session/Makefile.mak
index f2e2f92711f..bcd738f7e2a 100644
--- a/cpp/test/IceGrid/session/Makefile.mak
+++ b/cpp/test/IceGrid/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/test/IceGrid/session/PermissionsVerifier.cpp b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
index c27f8033993..960b7332425 100644
--- a/cpp/test/IceGrid/session/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/session/PermissionsVerifier.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/test/IceGrid/session/Server.cpp b/cpp/test/IceGrid/session/Server.cpp
index 0c00bac31dd..6ab294618b4 100644
--- a/cpp/test/IceGrid/session/Server.cpp
+++ b/cpp/test/IceGrid/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/test/IceGrid/session/run.py b/cpp/test/IceGrid/session/run.py
index 540c86f7294..4d02eec4fe0 100755
--- a/cpp/test/IceGrid/session/run.py
+++ b/cpp/test/IceGrid/session/run.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.
@@ -10,17 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+sys.path.append(os.path.join(path[0]))
+from scripts import *
if not TestUtil.isWin32() and os.getuid() == 0:
print
@@ -29,18 +27,15 @@ if not TestUtil.isWin32() and os.getuid() == 0:
sys.exit(0)
name = os.path.join("IceGrid", "session")
-testdir = os.path.dirname(os.path.abspath(__file__))
-node1Dir = os.path.join(testdir, "db", "node-1")
+node1Dir = os.path.join(os.getcwd(), "db", "node-1")
if not os.path.exists(node1Dir):
os.mkdir(node1Dir)
else:
IceGridAdmin.cleanDbDir(node1Dir)
print "starting admin permissions verifier...",
-verifierPipe = TestUtil.startServer(os.path.join(testdir, "verifier"), " 2>&1", TestUtil.DriverConfig("server"))
-TestUtil.getServerPid(verifierPipe)
-TestUtil.getAdapterReady(verifierPipe)
+verifierProc = TestUtil.startServer(os.path.join(os.getcwd(), "verifier"), config=TestUtil.DriverConfig("server"))
print "ok"
IceGridAdmin.registryOptions += \
@@ -51,11 +46,8 @@ IceGridAdmin.registryOptions += \
r' --IceGrid.Registry.AdminPermissionsVerifier="AdminPermissionsVerifier:tcp -p 12002"'+ \
r' --IceGrid.Registry.SSLPermissionsVerifier="SSLPermissionsVerifier"'
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", \
- "--IceBinDir=\"" + TestUtil.getCppBinDir() + "\" --TestDir=\"" + testdir + "\"", \
- '\\"properties-override=' + \
- TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", "") + '\\"')
-
-status = TestUtil.closePipe(verifierPipe)
+IceGridAdmin.iceGridTest("application.xml",
+ '--IceBinDir="%s" --TestDir="%s"' % (TestUtil.getCppBinDir(), os.getcwd()),
+ '\\"properties-override=%s\\"' % TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", ""))
-sys.exit(0)
+verifierProc.waitTestSuccess()
diff --git a/cpp/test/IceGrid/simple/AllTests.cpp b/cpp/test/IceGrid/simple/AllTests.cpp
index 90a02002223..30c35817cfe 100644
--- a/cpp/test/IceGrid/simple/AllTests.cpp
+++ b/cpp/test/IceGrid/simple/AllTests.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.
@@ -11,6 +11,7 @@
#include <IceUtil/IceUtil.h>
#include <IceGrid/Admin.h>
#include <IceGrid/Registry.h>
+#include <IceGrid/Locator.h>
#include <TestCommon.h>
#include <Test.h>
@@ -74,6 +75,11 @@ allTests(const Ice::CommunicatorPtr& communicator)
test(base);
cout << "ok" << endl;
+ cout << "testing IceGrid.Locator is present... " << flush;
+ IceGrid::LocatorPrx locator = IceGrid::LocatorPrx::uncheckedCast(base);
+ test(locator);
+ cout << "ok" << endl;
+
cout << "testing checked cast... " << flush;
TestIntfPrx obj = TestIntfPrx::checkedCast(base);
test(obj);
diff --git a/cpp/test/IceGrid/simple/Client.cpp b/cpp/test/IceGrid/simple/Client.cpp
index ca2d35b40db..1969699e51e 100644
--- a/cpp/test/IceGrid/simple/Client.cpp
+++ b/cpp/test/IceGrid/simple/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/test/IceGrid/simple/Makefile b/cpp/test/IceGrid/simple/Makefile
index 8b941fe0c3f..be615e22887 100644
--- a/cpp/test/IceGrid/simple/Makefile
+++ b/cpp/test/IceGrid/simple/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/test/IceGrid/simple/Makefile.mak b/cpp/test/IceGrid/simple/Makefile.mak
index fe985981eb3..7c762da0d3d 100644
--- a/cpp/test/IceGrid/simple/Makefile.mak
+++ b/cpp/test/IceGrid/simple/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/test/IceGrid/simple/Server.cpp b/cpp/test/IceGrid/simple/Server.cpp
index 420a387cd0e..6e2b4ec19f5 100644
--- a/cpp/test/IceGrid/simple/Server.cpp
+++ b/cpp/test/IceGrid/simple/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/test/IceGrid/simple/Test.ice b/cpp/test/IceGrid/simple/Test.ice
index 900a3c992bc..4e0f2a6a2b9 100644
--- a/cpp/test/IceGrid/simple/Test.ice
+++ b/cpp/test/IceGrid/simple/Test.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/test/IceGrid/simple/TestI.cpp b/cpp/test/IceGrid/simple/TestI.cpp
index cc3e12bc8a7..cfc6e05e3a1 100644
--- a/cpp/test/IceGrid/simple/TestI.cpp
+++ b/cpp/test/IceGrid/simple/TestI.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/test/IceGrid/simple/TestI.h b/cpp/test/IceGrid/simple/TestI.h
index fa4a50c6ee2..88511f94f90 100644
--- a/cpp/test/IceGrid/simple/TestI.h
+++ b/cpp/test/IceGrid/simple/TestI.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/test/IceGrid/simple/run.py b/cpp/test/IceGrid/simple/run.py
index b42a2ce003a..4455f5e40e0 100755
--- a/cpp/test/IceGrid/simple/run.py
+++ b/cpp/test/IceGrid/simple/run.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.
@@ -10,29 +10,22 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "simple")
-testdir = os.path.dirname(os.path.abspath(__file__))
+sys.path.append(os.path.join(path[0]))
+from scripts import *
#
# Test client/server without on demand activation.
#
-IceGridAdmin.iceGridClientServerTest(testdir, name, "", "--TestAdapter.Endpoints=default" + \
- " --TestAdapter.AdapterId=TestAdapter")
+IceGridAdmin.iceGridClientServerTest("", "--TestAdapter.Endpoints=default --TestAdapter.AdapterId=TestAdapter")
#
# Test client/server with on demand activation.
#
-IceGridAdmin.iceGridTest(testdir, name, "simple_server.xml", "--with-deploy")
-sys.exit(0)
+IceGridAdmin.iceGridTest("simple_server.xml", "--with-deploy")
diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp
index 8b30f35f40b..9e628ffc7bb 100644
--- a/cpp/test/IceGrid/update/AllTests.cpp
+++ b/cpp/test/IceGrid/update/AllTests.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/test/IceGrid/update/Client.cpp b/cpp/test/IceGrid/update/Client.cpp
index 4ae4969a236..bee08b43aa3 100644
--- a/cpp/test/IceGrid/update/Client.cpp
+++ b/cpp/test/IceGrid/update/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/test/IceGrid/update/Makefile b/cpp/test/IceGrid/update/Makefile
index 2b07b67d6a2..7220a812b98 100644
--- a/cpp/test/IceGrid/update/Makefile
+++ b/cpp/test/IceGrid/update/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/test/IceGrid/update/Makefile.mak b/cpp/test/IceGrid/update/Makefile.mak
index 7121c51cc43..9b4c599f9bb 100644
--- a/cpp/test/IceGrid/update/Makefile.mak
+++ b/cpp/test/IceGrid/update/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/test/IceGrid/update/Server.cpp b/cpp/test/IceGrid/update/Server.cpp
index ed93b74de5d..d09e89fac6b 100644
--- a/cpp/test/IceGrid/update/Server.cpp
+++ b/cpp/test/IceGrid/update/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/test/IceGrid/update/Test.ice b/cpp/test/IceGrid/update/Test.ice
index ed39d023357..fcec9db2f7d 100644
--- a/cpp/test/IceGrid/update/Test.ice
+++ b/cpp/test/IceGrid/update/Test.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/test/IceGrid/update/TestI.cpp b/cpp/test/IceGrid/update/TestI.cpp
index 51c1faeedc9..38720224d5b 100644
--- a/cpp/test/IceGrid/update/TestI.cpp
+++ b/cpp/test/IceGrid/update/TestI.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/test/IceGrid/update/TestI.h b/cpp/test/IceGrid/update/TestI.h
index a07e9242824..13754985532 100644
--- a/cpp/test/IceGrid/update/TestI.h
+++ b/cpp/test/IceGrid/update/TestI.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/test/IceGrid/update/run.py b/cpp/test/IceGrid/update/run.py
index 72d34fe748b..74191c1e44e 100755
--- a/cpp/test/IceGrid/update/run.py
+++ b/cpp/test/IceGrid/update/run.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.
@@ -10,37 +10,33 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+sys.path.append(os.path.join(path[0]))
+from scripts import *
name = os.path.join("IceGrid", "update")
-testdir = os.path.dirname(os.path.abspath(__file__))
-node1Dir = os.path.join(testdir, "db", "node-1")
+node1Dir = os.path.join(os.getcwd(), "db", "node-1")
if not os.path.exists(node1Dir):
os.mkdir(node1Dir)
else:
IceGridAdmin.cleanDbDir(node1Dir)
-node2Dir = os.path.join(testdir, "db", "node-2")
+node2Dir = os.path.join(os.getcwd(), "db", "node-2")
if not os.path.exists(node2Dir):
os.mkdir(node2Dir)
else:
IceGridAdmin.cleanDbDir(node2Dir)
-nodeOverrideOptions = "--IceBinDir=\"" + TestUtil.getCppBinDir() + "\" --TestDir=\"" + testdir + "\"" + \
- ' --NodePropertiesOverride="' + \
- TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", "") + \
- ' Ice.ServerIdleTime=0 Ice.PrintProcessId=0 Ice.PrintAdapterReady=0' + '"'
+nodeOverrideOptions = '--IceBinDir="%s" --TestDir="%s" --NodePropertiesOverride="%s Ice.ServerIdleTime=0 Ice.PrintProcessId=0 Ice.PrintAdapterReady=0"' % (
+ TestUtil.getCppBinDir(),
+ os.getcwd(),
+ TestUtil.getCommandLine("", TestUtil.DriverConfig("server")).replace("--", ""))
-IceGridAdmin.iceGridTest(testdir, name, "", nodeOverrideOptions)
-sys.exit(0)
+IceGridAdmin.iceGridTest("", nodeOverrideOptions)
diff --git a/cpp/test/IceSSL/Makefile b/cpp/test/IceSSL/Makefile
index 663396db2d7..a8072dbfb41 100644
--- a/cpp/test/IceSSL/Makefile
+++ b/cpp/test/IceSSL/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/test/IceSSL/Makefile.mak b/cpp/test/IceSSL/Makefile.mak
index a7ab3bb96b3..c277898aed5 100644
--- a/cpp/test/IceSSL/Makefile.mak
+++ b/cpp/test/IceSSL/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/test/IceSSL/certs/client.cnf b/cpp/test/IceSSL/certs/client.cnf
index 41ab610c959..771f449899f 100644
--- a/cpp/test/IceSSL/certs/client.cnf
+++ b/cpp/test/IceSSL/certs/client.cnf
@@ -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/test/IceSSL/certs/makecerts b/cpp/test/IceSSL/certs/makecerts
index 52049cf25b8..c8d9b2fd1c5 100755
--- a/cpp/test/IceSSL/certs/makecerts
+++ b/cpp/test/IceSSL/certs/makecerts
@@ -1,7 +1,7 @@
#!/bin/sh
# **********************************************************************
#
-# 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/test/IceSSL/certs/server.cnf b/cpp/test/IceSSL/certs/server.cnf
index eef8b77e64a..58e4cd8b279 100644
--- a/cpp/test/IceSSL/certs/server.cnf
+++ b/cpp/test/IceSSL/certs/server.cnf
@@ -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/test/IceSSL/certs/test_ca1.cnf b/cpp/test/IceSSL/certs/test_ca1.cnf
index e6e24275552..dbcce701fdb 100644
--- a/cpp/test/IceSSL/certs/test_ca1.cnf
+++ b/cpp/test/IceSSL/certs/test_ca1.cnf
@@ -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/test/IceSSL/certs/test_ca2.cnf b/cpp/test/IceSSL/certs/test_ca2.cnf
index 497cbaf204a..579efc41e97 100644
--- a/cpp/test/IceSSL/certs/test_ca2.cnf
+++ b/cpp/test/IceSSL/certs/test_ca2.cnf
@@ -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/test/IceSSL/configuration/AllTests.cpp b/cpp/test/IceSSL/configuration/AllTests.cpp
index 4b0ecd0ce95..fb5b81345e7 100644
--- a/cpp/test/IceSSL/configuration/AllTests.cpp
+++ b/cpp/test/IceSSL/configuration/AllTests.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.
@@ -499,6 +499,39 @@ allTests(const CommunicatorPtr& communicator, const string& testDir)
}
fact->destroyServer(server);
comm->destroy();
+
+ //
+ // Test IceSSL.CheckCertName. The test certificate for the server contains "server"
+ // and "127.0.0.1" in its subjectAltName, so we only perform this test when the
+ // default host is "127.0.0.1".
+ //
+ if(defaultHost == "127.0.0.1")
+ {
+ initData.properties = createClientProps(defaultProperties, defaultDir, defaultHost);
+ initData.properties->setProperty("IceSSL.CertAuthFile", "cacert1.pem");
+ initData.properties->setProperty("IceSSL.CertFile", "c_rsa_nopass_ca1_pub.pem");
+ initData.properties->setProperty("IceSSL.KeyFile", "c_rsa_nopass_ca1_priv.pem");
+ initData.properties->setProperty("IceSSL.CheckCertName", "1");
+ comm = initialize(initData);
+
+ fact = Test::ServerFactoryPrx::checkedCast(comm->stringToProxy(factoryRef));
+ test(fact);
+ d = createServerProps(defaultProperties, defaultDir, defaultHost);
+ d["IceSSL.CertAuthFile"] = "cacert1.pem";
+ d["IceSSL.CertFile"] = "s_rsa_nopass_ca1_pub.pem";
+ d["IceSSL.KeyFile"] = "s_rsa_nopass_ca1_priv.pem";
+ server = fact->createServer(d);
+ try
+ {
+ server->ice_ping();
+ }
+ catch(const LocalException&)
+ {
+ test(false);
+ }
+ fact->destroyServer(server);
+ comm->destroy();
+ }
}
cout << "ok" << endl;
diff --git a/cpp/test/IceSSL/configuration/Client.cpp b/cpp/test/IceSSL/configuration/Client.cpp
index f4cecd845e9..0a4546e2101 100644
--- a/cpp/test/IceSSL/configuration/Client.cpp
+++ b/cpp/test/IceSSL/configuration/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/test/IceSSL/configuration/Makefile b/cpp/test/IceSSL/configuration/Makefile
index d0c1411265d..7712fd90a2f 100644
--- a/cpp/test/IceSSL/configuration/Makefile
+++ b/cpp/test/IceSSL/configuration/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/test/IceSSL/configuration/Makefile.mak b/cpp/test/IceSSL/configuration/Makefile.mak
index d9be9aa0721..06a7dcf19f6 100644
--- a/cpp/test/IceSSL/configuration/Makefile.mak
+++ b/cpp/test/IceSSL/configuration/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/test/IceSSL/configuration/Server.cpp b/cpp/test/IceSSL/configuration/Server.cpp
index 9ce677c0d15..c9d6a7fca8f 100644
--- a/cpp/test/IceSSL/configuration/Server.cpp
+++ b/cpp/test/IceSSL/configuration/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/test/IceSSL/configuration/Test.ice b/cpp/test/IceSSL/configuration/Test.ice
index c0149cd962f..335a7cbe344 100644
--- a/cpp/test/IceSSL/configuration/Test.ice
+++ b/cpp/test/IceSSL/configuration/Test.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/test/IceSSL/configuration/TestI.cpp b/cpp/test/IceSSL/configuration/TestI.cpp
index dfd5f7d5a6d..ac320a0f715 100644
--- a/cpp/test/IceSSL/configuration/TestI.cpp
+++ b/cpp/test/IceSSL/configuration/TestI.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/test/IceSSL/configuration/TestI.h b/cpp/test/IceSSL/configuration/TestI.h
index 30bf19c3607..32c7d90dee3 100644
--- a/cpp/test/IceSSL/configuration/TestI.h
+++ b/cpp/test/IceSSL/configuration/TestI.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/test/IceSSL/configuration/run.py b/cpp/test/IceSSL/configuration/run.py
index 9831ce15e62..b88cadf4e51 100755
--- a/cpp/test/IceSSL/configuration/run.py
+++ b/cpp/test/IceSSL/configuration/run.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.
@@ -10,20 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceSSL", "configuration")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.clientServerTestWithOptions(name, "", " " + testdir)
-sys.exit(0)
+TestUtil.clientServerTest(additionalClientOptions = os.getcwd())
diff --git a/cpp/test/IceStorm/Makefile b/cpp/test/IceStorm/Makefile
index c31494dc138..d85e4557a24 100644
--- a/cpp/test/IceStorm/Makefile
+++ b/cpp/test/IceStorm/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/test/IceStorm/Makefile.mak b/cpp/test/IceStorm/Makefile.mak
index 368c7f5993a..95968086e22 100644
--- a/cpp/test/IceStorm/Makefile.mak
+++ b/cpp/test/IceStorm/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/test/IceStorm/federation/Event.ice b/cpp/test/IceStorm/federation/Event.ice
index eb85c1465e5..931b618a1c0 100644
--- a/cpp/test/IceStorm/federation/Event.ice
+++ b/cpp/test/IceStorm/federation/Event.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/test/IceStorm/federation/Makefile b/cpp/test/IceStorm/federation/Makefile
index b1ef9bd92bd..3601dd18206 100644
--- a/cpp/test/IceStorm/federation/Makefile
+++ b/cpp/test/IceStorm/federation/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/test/IceStorm/federation/Makefile.mak b/cpp/test/IceStorm/federation/Makefile.mak
index 83b19630f32..133819db19f 100644
--- a/cpp/test/IceStorm/federation/Makefile.mak
+++ b/cpp/test/IceStorm/federation/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/test/IceStorm/federation/Publisher.cpp b/cpp/test/IceStorm/federation/Publisher.cpp
index bcd8d254cdd..031a262819d 100644
--- a/cpp/test/IceStorm/federation/Publisher.cpp
+++ b/cpp/test/IceStorm/federation/Publisher.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/test/IceStorm/federation/Subscriber.cpp b/cpp/test/IceStorm/federation/Subscriber.cpp
index 6bef00cd002..2392092f918 100644
--- a/cpp/test/IceStorm/federation/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation/Subscriber.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/test/IceStorm/federation/run.py b/cpp/test/IceStorm/federation/run.py
index 90bae2f31eb..ea0603c2010 100755
--- a/cpp/test/IceStorm/federation/run.py
+++ b/cpp/test/IceStorm/federation/run.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.
@@ -11,26 +11,20 @@
import os, sys
import time
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceStorm", "federation")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-import IceStormUtil
+sys.path.append(os.path.join(path[0]))
+from scripts import *
def doTest(icestorm, batch):
- publisher = os.path.join(testdir, "publisher")
- subscriber = os.path.join(testdir, "subscriber")
+ publisher = os.path.join(os.getcwd(), "publisher")
+ subscriber = os.path.join(os.getcwd(), "subscriber")
if batch:
name = "batch subscriber"
@@ -39,25 +33,18 @@ def doTest(icestorm, batch):
name = "subscriber"
batchOptions = ""
- subscriberPipe = TestUtil.startServer(subscriber, batchOptions + icestorm.reference() + " 2>&1")
- TestUtil.getServerPid(subscriberPipe)
- TestUtil.getAdapterReady(subscriberPipe)
+ subscriberProc = TestUtil.startServer(subscriber, batchOptions + icestorm.reference())
#
# Start the publisher. This should publish events which eventually
# causes subscriber to terminate.
#
- publisherPipe = TestUtil.startClient(publisher, icestorm.reference() + " 2>&1")
-
- TestUtil.printOutputFromPipe(publisherPipe)
-
- subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30)
- publisherStatus = TestUtil.closePipe(publisherPipe)
-
- return subscriberStatus or publisherStatus
+ publisherProc = TestUtil.startClient(publisher, icestorm.reference())
+ subscriberProc.waitTestSuccess()
+ publisherProc.waitTestSuccess()
def runtest(type, **args):
- icestorm = IceStormUtil.init(toplevel, testdir, type, **args)
+ icestorm = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type, **args)
icestorm.start()
@@ -71,7 +58,7 @@ def runtest(type, **args):
#
print "testing oneway subscribers...",
sys.stdout.flush()
- onewayStatus = doTest(icestorm, 0)
+ doTest(icestorm, 0)
print "ok"
#
@@ -79,7 +66,7 @@ def runtest(type, **args):
#
print "testing batch subscribers...",
sys.stdout.flush()
- batchStatus = doTest(icestorm, 1)
+ doTest(icestorm, 1)
print "ok"
#
@@ -94,13 +81,7 @@ def runtest(type, **args):
#
icestorm.stop()
- if TestUtil.serverStatus() or onewayStatus or batchStatus:
- TestUtil.killServers()
- sys.exit(1)
-
runtest("persistent")
runtest("transient")
runtest("replicated", replicatedPublisher = False)
runtest("replicated", replicatedPublisher = True)
-
-sys.exit(0)
diff --git a/cpp/test/IceStorm/federation2/Event.ice b/cpp/test/IceStorm/federation2/Event.ice
index eb85c1465e5..931b618a1c0 100644
--- a/cpp/test/IceStorm/federation2/Event.ice
+++ b/cpp/test/IceStorm/federation2/Event.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/test/IceStorm/federation2/Makefile b/cpp/test/IceStorm/federation2/Makefile
index decde782e42..a08338a4b58 100644
--- a/cpp/test/IceStorm/federation2/Makefile
+++ b/cpp/test/IceStorm/federation2/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/test/IceStorm/federation2/Makefile.mak b/cpp/test/IceStorm/federation2/Makefile.mak
index 20c39c2e921..e47367df4ba 100644
--- a/cpp/test/IceStorm/federation2/Makefile.mak
+++ b/cpp/test/IceStorm/federation2/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/test/IceStorm/federation2/Publisher.cpp b/cpp/test/IceStorm/federation2/Publisher.cpp
index 7a8fdc4b3ba..de66e695d2d 100644
--- a/cpp/test/IceStorm/federation2/Publisher.cpp
+++ b/cpp/test/IceStorm/federation2/Publisher.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/test/IceStorm/federation2/Subscriber.cpp b/cpp/test/IceStorm/federation2/Subscriber.cpp
index da68ccc5bb5..59059f9491e 100644
--- a/cpp/test/IceStorm/federation2/Subscriber.cpp
+++ b/cpp/test/IceStorm/federation2/Subscriber.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/test/IceStorm/federation2/run.py b/cpp/test/IceStorm/federation2/run.py
index f8cc85ac932..504bab33c62 100755
--- a/cpp/test/IceStorm/federation2/run.py
+++ b/cpp/test/IceStorm/federation2/run.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.
@@ -10,63 +10,29 @@
import os, sys, time, threading, re
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceStorm", "federation2")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-import IceStormUtil
-
-iceBox = TestUtil.getIceBox(testdir)
-iceBoxAdmin = os.path.join(TestUtil.getCppBinDir(), "iceboxadmin")
iceStormAdmin = os.path.join(TestUtil.getCppBinDir(), "icestormadmin")
-publisher = os.path.join(testdir, "publisher")
-subscriber = os.path.join(testdir, "subscriber")
+publisher = os.path.join(os.getcwd(), "publisher")
+subscriber = os.path.join(os.getcwd(), "subscriber")
def admin(ref, command):
- pipe = TestUtil.startClient(iceStormAdmin, ref + r' -e "%s"' % command)
- all = ""
- while True:
- line = pipe.readline();
- if not line:
- break
- all = all + line
- status = TestUtil.closePipe(pipe)
- if status:
- TestUtil.killServers()
- sys.exit(1)
- return all
-
-def printOutput(pipe):
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- print line,
- sys.stdout.flush()
- except IOError:
- pass
+ proc = TestUtil.startClient(iceStormAdmin, ref + ' -e "%s"' % command, echo = False)
+ proc.waitTestSuccess()
+ return proc.buf
def runPublisher(icestorm1, opt = ""):
- publisherPipe = TestUtil.startClient(publisher, opt + icestorm1.reference())
-
- printOutput(publisherPipe)
-
- publisherStatus = TestUtil.closePipe(publisherPipe)
- if publisherStatus:
- TestUtil.killServers()
- sys.exit(1)
+ proc = TestUtil.startClient(publisher, opt + icestorm1.reference())
+ proc.waitTestSuccess()
def doTest(icestorm1, icestorm2, batch, subscriberRef = None):
if batch:
@@ -79,9 +45,7 @@ def doTest(icestorm1, icestorm2, batch, subscriberRef = None):
if subscriberRef == None:
subscriberRef = icestorm2.reference()
- subscriberPipe = TestUtil.startServer(subscriber, batchOptions + subscriberRef)
- TestUtil.getServerPid(subscriberPipe)
- TestUtil.getAdapterReady(subscriberPipe)
+ subscriberProc = TestUtil.startServer(subscriber, batchOptions + subscriberRef)
#
# Start the publisher. This should publish events which eventually
@@ -89,8 +53,7 @@ def doTest(icestorm1, icestorm2, batch, subscriberRef = None):
#
runPublisher(icestorm1)
- subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30)
- return subscriberStatus
+ subscriberProc.waitTestSuccess(timeout=30)
#
# Test #1:
@@ -99,10 +62,10 @@ def doTest(icestorm1, icestorm2, batch, subscriberRef = None):
# published between them correctly.
#
def runtest(type, **args):
- icestorm1 = IceStormUtil.init(toplevel, testdir, type, additional = '--IceStorm.Discard.Interval=2',
+ icestorm1 = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type, additional = '--IceStorm.Discard.Interval=2',
dbDir = "db", instanceName = "TestIceStorm1", port = 12000, **args)
icestorm1.start()
- icestorm2 = IceStormUtil.init(toplevel, testdir, type, additional = '--IceStorm.Discard.Interval=2',
+ icestorm2 = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type, additional = '--IceStorm.Discard.Interval=2',
dbDir = "db2", instanceName = "TestIceStorm2", port = 12500, **args)
icestorm2.start()
@@ -119,7 +82,7 @@ def runtest(type, **args):
#
print "testing federation with oneway subscribers...",
sys.stdout.flush()
- onewayStatus = doTest(icestorm1, icestorm2, 0)
+ doTest(icestorm1, icestorm2, 0)
print "ok"
#
@@ -127,13 +90,9 @@ def runtest(type, **args):
#
print "testing federation with batch subscribers...",
sys.stdout.flush()
- batchStatus = doTest(icestorm1, icestorm2, 1)
+ doTest(icestorm1, icestorm2, 1)
print "ok"
- if onewayStatus or batchStatus:
- TestUtil.killServers()
- sys.exit(1)
-
#
# Test #2:
#
@@ -158,7 +117,7 @@ def runtest(type, **args):
#
print "retesting federation with oneway subscribers... ",
sys.stdout.flush()
- onewayStatus = doTest(icestorm1, icestorm2, 0)
+ doTest(icestorm1, icestorm2, 0)
print "ok"
#
@@ -166,13 +125,9 @@ def runtest(type, **args):
#
print "retesting federation with batch subscribers... ",
sys.stdout.flush()
- batchStatus = doTest(icestorm1, icestorm2, 1)
+ doTest(icestorm1, icestorm2, 1)
print "ok"
- if onewayStatus or batchStatus:
- TestUtil.killServers()
- sys.exit(1)
-
#
# Shutdown icestorm.
#
@@ -180,61 +135,6 @@ def runtest(type, **args):
icestorm2.stop()
#
- # This is used by the below test to confirm that the link warning is
- # emitted. This class conforms with the TestUtil.ReaderThread protocol.
- #
- class ExpectorThread(threading.Thread):
- def __init__(self, pipe):
- self.mutex = threading.Lock()
- self.pipe = pipe
- # Suppress "adapter ready" messages. Under windows the eol isn't \n.
- self.re = [ [ re.compile(" ready\r?\n$"), 0 ] ]
- threading.Thread.__init__(self)
-
- def run(self):
- try:
- while 1:
- line = self.pipe.readline()
- if not line: break
- found = False
- self.mutex.acquire()
- for item in self.re:
- if item[0].search(line):
- found = True
- item[1] = item[1] + 1
- break
- self.mutex.release()
- if not found:
- print line,
- except IOError:
- pass
-
- self.status = TestUtil.closePipe(self.pipe)
-
- # To comply with the ReaderThread protocol.
- def getPipe(self):
- return self.pipe
-
- # To comply with the ReaderThread protocol.
- def getStatus(self):
- return self.status
-
- def matches(self, index):
- self.mutex.acquire()
- m = self.re[index][1]
- self.mutex.release()
- return m
-
- def expect(self, r):
- self.mutex.acquire()
- self.re.append([r, 0])
- l = len(self.re)-1
- self.mutex.release()
- return l
-
- #
- # Test #3:
- #
# Restart the first server and publish some events. Attach a
# subscriber to the channel and make sure the events are received.
#
@@ -244,14 +144,10 @@ def runtest(type, **args):
if type != "replicated":
print "restarting only one IceStorm server...",
sys.stdout.flush()
- pipe = icestorm1.start(echo=False, createThread = False)
- expectorThread = ExpectorThread(pipe)
- expectorThread.start()
- global serverThreads
-
- TestUtil.serverThreads.append(expectorThread)
- index = expectorThread.expect(re.compile("topic.fed1.*subscriber offline"))
- expectorThread.expect(re.compile("connection refused"))
+ proc = icestorm1.start(echo=False)
+
+ #proc.expect("topic.fed1.*subscriber offline")
+ #proc.expect("connection refused")
print "ok"
#
@@ -259,14 +155,12 @@ def runtest(type, **args):
#
print "testing that the federation link reports an error...",
sys.stdout.flush()
- onewayStatus = doTest(icestorm1, icestorm2, 0, icestorm1.reference())
+ doTest(icestorm1, icestorm2, 0, icestorm1.reference())
# Give some time for the output to be sent.
time.sleep(2)
- if onewayStatus or expectorThread.matches(index) != 1:
- TestUtil.killServers()
- sys.exit(1)
+ proc.expect("topic.fed1.*subscriber offline")
print "ok"
print "starting downstream icestorm server...",
@@ -284,12 +178,14 @@ def runtest(type, **args):
#
print "testing link is reestablished...",
sys.stdout.flush()
- onewayStatus = doTest(icestorm1, icestorm2, 0)
+ doTest(icestorm1, icestorm2, 0)
print "ok"
- if onewayStatus or expectorThread.matches(index) != 1:
- TestUtil.killServers()
- sys.exit(1)
+ try:
+ proc.expect("topic.fed1.*subscriber offline")
+ assert False
+ except Expect.TIMEOUT:
+ pass
icestorm1.stop()
icestorm2.stop()
@@ -316,7 +212,6 @@ def runtest(type, **args):
line = admin(adminIceStormReference, "links TestIceStorm1")
if not re.compile("fed1 with cost 0").search(line):
print line
- TestUtil.killServers()
sys.exit(1)
print "ok"
diff --git a/cpp/test/IceStorm/rep1/Makefile b/cpp/test/IceStorm/rep1/Makefile
index b1342814dca..28379a0f4bb 100644
--- a/cpp/test/IceStorm/rep1/Makefile
+++ b/cpp/test/IceStorm/rep1/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/test/IceStorm/rep1/Makefile.mak b/cpp/test/IceStorm/rep1/Makefile.mak
index daffa98e79a..a0d0ced285b 100644
--- a/cpp/test/IceStorm/rep1/Makefile.mak
+++ b/cpp/test/IceStorm/rep1/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/test/IceStorm/rep1/Publisher.cpp b/cpp/test/IceStorm/rep1/Publisher.cpp
index 2495c992915..6ba6e3b3b9a 100644
--- a/cpp/test/IceStorm/rep1/Publisher.cpp
+++ b/cpp/test/IceStorm/rep1/Publisher.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/test/IceStorm/rep1/Single.ice b/cpp/test/IceStorm/rep1/Single.ice
index 63c23cc794b..e9076abe704 100644
--- a/cpp/test/IceStorm/rep1/Single.ice
+++ b/cpp/test/IceStorm/rep1/Single.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/test/IceStorm/rep1/Sub.cpp b/cpp/test/IceStorm/rep1/Sub.cpp
index 79460cf2e06..1f0e07d4ee2 100644
--- a/cpp/test/IceStorm/rep1/Sub.cpp
+++ b/cpp/test/IceStorm/rep1/Sub.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/test/IceStorm/rep1/Subscriber.cpp b/cpp/test/IceStorm/rep1/Subscriber.cpp
index f4e22ab7bc4..cb692ffdb39 100644
--- a/cpp/test/IceStorm/rep1/Subscriber.cpp
+++ b/cpp/test/IceStorm/rep1/Subscriber.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/test/IceStorm/rep1/run.py b/cpp/test/IceStorm/rep1/run.py
index 37cbfa6a857..5ef589d9d00 100755
--- a/cpp/test/IceStorm/rep1/run.py
+++ b/cpp/test/IceStorm/rep1/run.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.
@@ -10,45 +10,19 @@
import os, sys, time, re
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceStorm", "rep1")
-testdir = os.path.dirname(os.path.abspath(__file__))
-publisher = os.path.join(testdir, "publisher")
-subscriber = os.path.join(testdir, "subscriber")
-subscriber2 = os.path.join(testdir, "sub")
-
-def printOutput(pipe):
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- print line,
- sys.stdout.flush()
- except IOError:
- pass
-
-def captureOutput(pipe):
- out = ""
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- out = out + line
- except IOError:
- pass
- return out
+publisher = os.path.join(os.getcwd(), "publisher")
+subscriber = os.path.join(os.getcwd(), "subscriber")
+subscriber2 = os.path.join(os.getcwd(), "sub")
def runsub(opt, ref, arg = "", echo=False):
qos = ""
@@ -56,53 +30,42 @@ def runsub(opt, ref, arg = "", echo=False):
qos = " --twoway"
if opt == "ordered":
qos = " --ordered"
- pipe = TestUtil.startServer(subscriber, ref + arg + qos)
- TestUtil.getServerPid(pipe)
- TestUtil.getAdapterReady(pipe, True)
- return pipe
+ return TestUtil.startServer(subscriber, ref + arg + qos)
def runpub(ref, arg = "", echo=False):
return TestUtil.startClient(publisher, ref + arg)
def runtest(opt, ref, subopt="", pubopt=""):
- subscriberPipe = runsub(opt, ref, subopt)
- publisherPipe = runpub(ref, pubopt)
- printOutput(publisherPipe)
- publisherStatus = TestUtil.closePipe(publisherPipe)
- subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30)
- if subscriberStatus or publisherStatus:
- print "FAILED!"
- while True:
- import time
- time.sleep(1000)
- TestUtil.killServers()
- sys.exit(1)
-
-def runsub2(replica = -1, cmd = "", terminateOnError=True):
- pipe = TestUtil.startServer(subscriber2, icestorm.reference(replica) + ' --id foo' + cmd)
- TestUtil.getServerPid(pipe)
- #TestUtil.getAdapterReady(pipe, True)
- out = captureOutput(pipe)
- status = TestUtil.closePipe(pipe)
- if terminateOnError and status:
- print "status: %d out: '%s'" % (status, out)
- TestUtil.killServers()
- sys.exit(1)
- return status, out.strip()
-
-def rununsub2(replica = -1, terminateOnError=True):
+ subscriberProc = runsub(opt, ref, subopt)
+ publisherProc = runpub(ref, pubopt)
+ publisherProc.waitTestSuccess()
+ subscriberProc.waitTestSuccess(timeout=30)
+
+def runsub2(replica = -1, expect = None):
+ proc = TestUtil.startServer(subscriber2, icestorm.reference(replica) + ' --id foo', count=0)
+ if expect:
+ proc.expect(expect)
+ proc.wait()
+ else:
+ proc.waitTestSuccess()
+
+def rununsub2(replica = -1, expect = None):
if replica == -1:
- runsub2(replica, " --unsub", terminateOnError)
+ proc = TestUtil.startServer(subscriber2, icestorm.reference(replica) + ' --id foo --unsub', count=0)
+ proc.waitTestSuccess()
# Else we first subscribe to this replica, then unsub. We
# shouldn't get an AlreadySubscribedException.
- status, out = runsub2(replica, terminateOnError=terminateOnError)
- if status:
- return status, out
- return runsub2(replica, " --unsub", terminateOnError=terminateOnError)
-
-import IceStormUtil
-
-icestorm = IceStormUtil.init(toplevel, testdir, "replicated", replicatedPublisher=True, additional =
+ proc = TestUtil.startServer(subscriber2, icestorm.reference(replica) + ' --id foo', count=0)
+ if expect:
+ proc.expect(expect)
+ proc.wait()
+ return
+ else:
+ proc.waitTestSuccess()
+ proc = TestUtil.startServer(subscriber2, icestorm.reference(replica) + ' --id foo --unsub', count=0)
+ proc.waitTestSuccess()
+
+icestorm = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), "replicated", replicatedPublisher=True, additional =
' --IceStorm.Election.MasterTimeout=2' +
' --IceStorm.Election.ElectionTimeout=2' +
' --IceStorm.Election.ResponseTimeout=2')
@@ -113,10 +76,7 @@ sys.stdout.flush()
icestorm.admin("create single")
for replica in range(0, 3):
- status, out = icestorm.adminForReplica(replica, "create single", terminateOnError=False)
- if out != "error: topic `single' exists":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "create single", "error: topic `single' exists")
print "ok"
print "testing topic destruction across replicas...",
@@ -124,10 +84,7 @@ sys.stdout.flush()
icestorm.admin("destroy single")
for replica in range(0, 3):
- status, out = icestorm.adminForReplica(replica, "destroy single", terminateOnError=False)
- if out != "error: couldn't find topic `single'":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "destroy single", "error: couldn't find topic `single'")
print "ok"
print "testing topic creation without replica...",
@@ -137,22 +94,13 @@ icestorm.stopReplica(0)
icestorm.admin("create single")
for replica in range(1, 3):
- status, out = icestorm.adminForReplica(replica, "create single", terminateOnError=False)
- if out != "error: topic `single' exists":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "create single", "error: topic `single' exists")
-status, out = icestorm.adminForReplica(0, "create single", terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(0, "create single", "ConnectionRefused")
icestorm.startReplica(0, echo=False)
-status, out = icestorm.adminForReplica(0, "create single", terminateOnError=False)
-if out != "error: topic `single' exists":
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(0, "create single", "error: topic `single' exists")
print "ok"
icestorm.admin("destroy single")
@@ -164,22 +112,13 @@ icestorm.stopReplica(2)
icestorm.admin("create single")
for replica in range(0, 2):
- status, out = icestorm.adminForReplica(replica, "create single", terminateOnError=False)
- if out != "error: topic `single' exists":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "create single", "error: topic `single' exists")
-status, out = icestorm.adminForReplica(2, "create single", terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(2, "create single", "ConnectionRefused")
icestorm.startReplica(2, echo=False)
-status, out = icestorm.adminForReplica(2, "create single", terminateOnError=False)
-if out != "error: topic `single' exists":
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(2, "create single", "error: topic `single' exists")
print "ok"
# All replicas are running
@@ -191,23 +130,13 @@ icestorm.stopReplica(0)
icestorm.admin("destroy single")
for replica in range(1, 3):
- status, out = icestorm.adminForReplica(replica, "destroy single", terminateOnError=False)
- if out != "error: couldn't find topic `single'":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "destroy single", "error: couldn't find topic `single'")
-status, out = icestorm.adminForReplica(0, "destroy single", terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(0, "destroy single", "ConnectionRefused")
icestorm.startReplica(0, echo=False)
-status, out = icestorm.adminForReplica(0, "destroy single", terminateOnError=False)
-if out != "error: couldn't find topic `single'":
- print out
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(0, "destroy single", "error: couldn't find topic `single'")
print "ok"
print "testing topic destruction without master...",
@@ -219,22 +148,13 @@ icestorm.stopReplica(2)
icestorm.admin("destroy single")
for replica in range(0, 2):
- status, out = icestorm.adminForReplica(replica, "destroy single", terminateOnError=False)
- if out != "error: couldn't find topic `single'":
- TestUtil.killServers()
- sys.exit(1)
+ icestorm.adminForReplica(replica, "destroy single", "error: couldn't find topic `single'")
-status, out = icestorm.adminForReplica(2, "destroy single", terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(2, "destroy single", "ConnectionRefused")
icestorm.startReplica(2, echo=False)
-status, out = icestorm.adminForReplica(2, "destroy single", terminateOnError=False)
-if out != "error: couldn't find topic `single'":
- TestUtil.killServers()
- sys.exit(1)
+icestorm.adminForReplica(2, "destroy single", "error: couldn't find topic `single'")
print "ok"
# Now test subscription/unsubscription on all replicas.
@@ -246,11 +166,7 @@ sys.stdout.flush()
runsub2()
for replica in range(0, 3):
- status, out = runsub2(replica, terminateOnError=False)
- if out != "IceStorm::AlreadySubscribed":
- print out
- TestUtil.killServers()
- sys.exit(1)
+ runsub2(replica, "IceStorm::AlreadySubscribed")
print "ok"
print "testing unsubscription across replicas...",
@@ -258,7 +174,7 @@ sys.stdout.flush()
rununsub2()
for replica in range(0, 3):
- rununsub2(replica, terminateOnError=False)
+ rununsub2(replica)
print "ok"
print "testing subscription without master...",
@@ -268,22 +184,13 @@ icestorm.stopReplica(2)
runsub2()
for replica in range(0, 2):
- status, out = runsub2(replica, terminateOnError=False)
- if out != "IceStorm::AlreadySubscribed":
- TestUtil.killServers()
- sys.exit(1)
+ runsub2(replica, "IceStorm::AlreadySubscribed")
-status, out = runsub2(2, terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+runsub2(2, "ConnectionRefused")
icestorm.startReplica(2, echo=False)
-status, out = runsub2(2, terminateOnError=False)
-if out != "IceStorm::AlreadySubscribed":
- TestUtil.killServers()
- sys.exit(1)
+runsub2(2, "IceStorm::AlreadySubscribed")
print "ok"
print "testing unsubscription without master...",
@@ -293,12 +200,9 @@ icestorm.stopReplica(2)
rununsub2()
for replica in range(0, 2):
- rununsub2(replica, terminateOnError=False)
+ rununsub2(replica)
-status, out = rununsub2(2, terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+rununsub2(2, "ConnectionRefused")
icestorm.startReplica(2, echo=False)
@@ -312,22 +216,13 @@ icestorm.stopReplica(0)
runsub2()
for replica in range(1, 3):
- status, out = runsub2(replica, terminateOnError=False)
- if out != "IceStorm::AlreadySubscribed":
- TestUtil.killServers()
- sys.exit(1)
+ runsub2(replica, "IceStorm::AlreadySubscribed")
-status, out = runsub2(0, terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+runsub2(0, "ConnectionRefused")
icestorm.startReplica(0, echo=False)
-status, out = runsub2(0, terminateOnError=False)
-if out != "IceStorm::AlreadySubscribed":
- TestUtil.killServers()
- sys.exit(1)
+runsub2(0, "IceStorm::AlreadySubscribed")
print "ok"
print "testing unsubscription without replica...",
@@ -337,12 +232,9 @@ icestorm.stopReplica(0)
rununsub2()
for replica in range(1, 3):
- rununsub2(replica, terminateOnError=False)
+ rununsub2(replica)
-status, out = rununsub2(0, terminateOnError=False)
-if not re.search("ConnectionRefused", out):
- TestUtil.killServers()
- sys.exit(1)
+rununsub2(0, "ConnectionRefused")
icestorm.startReplica(0, echo=False)
@@ -389,9 +281,3 @@ print "stopping replicas...",
sys.stdout.flush()
icestorm.stop()
print "ok"
-
-if TestUtil.serverStatus():
- TestUtil.killServers()
- sys.exit(1)
-
-sys.exit(0)
diff --git a/cpp/test/IceStorm/repgrid/Client.cpp b/cpp/test/IceStorm/repgrid/Client.cpp
index c911dc35a29..859841193b1 100644
--- a/cpp/test/IceStorm/repgrid/Client.cpp
+++ b/cpp/test/IceStorm/repgrid/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/test/IceStorm/repgrid/Makefile b/cpp/test/IceStorm/repgrid/Makefile
index f2a7248c19a..a8f9eae238c 100644
--- a/cpp/test/IceStorm/repgrid/Makefile
+++ b/cpp/test/IceStorm/repgrid/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/test/IceStorm/repgrid/Makefile.mak b/cpp/test/IceStorm/repgrid/Makefile.mak
index 0f26e46d9a9..e367901064b 100644
--- a/cpp/test/IceStorm/repgrid/Makefile.mak
+++ b/cpp/test/IceStorm/repgrid/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/test/IceStorm/repgrid/Single.ice b/cpp/test/IceStorm/repgrid/Single.ice
index 63c23cc794b..e9076abe704 100644
--- a/cpp/test/IceStorm/repgrid/Single.ice
+++ b/cpp/test/IceStorm/repgrid/Single.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/test/IceStorm/repgrid/application.xml b/cpp/test/IceStorm/repgrid/application.xml
index 2fc44d6cb7e..6b280c21d86 100644
--- a/cpp/test/IceStorm/repgrid/application.xml
+++ b/cpp/test/IceStorm/repgrid/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/test/IceStorm/repgrid/run.py b/cpp/test/IceStorm/repgrid/run.py
index 1d37f4df3f7..fa60fbe8021 100755
--- a/cpp/test/IceStorm/repgrid/run.py
+++ b/cpp/test/IceStorm/repgrid/run.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.
@@ -10,23 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceStorm", "repgrid")
-testdir = os.path.dirname(os.path.abspath(__file__))
+sys.path.append(os.path.join(path[0]))
+from scripts import *
#
# Test client/server without on demand activation.
#
-IceGridAdmin.iceGridTest(testdir, name, "application.xml", "", '"icebox.exe=' + TestUtil.getIceBox(testdir) + '"')
-sys.exit(0)
+IceGridAdmin.iceGridTest("application.xml", "", '"icebox.exe=%s"' % TestUtil.getIceBox())
diff --git a/cpp/test/IceStorm/repstress/Control.cpp b/cpp/test/IceStorm/repstress/Control.cpp
index 2334475eaa0..6bf43b8fa14 100644
--- a/cpp/test/IceStorm/repstress/Control.cpp
+++ b/cpp/test/IceStorm/repstress/Control.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/test/IceStorm/repstress/Controller.ice b/cpp/test/IceStorm/repstress/Controller.ice
index 850467d521f..8e34a12e87b 100644
--- a/cpp/test/IceStorm/repstress/Controller.ice
+++ b/cpp/test/IceStorm/repstress/Controller.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/test/IceStorm/repstress/Makefile b/cpp/test/IceStorm/repstress/Makefile
index 78f84053842..4f5e651ae48 100644
--- a/cpp/test/IceStorm/repstress/Makefile
+++ b/cpp/test/IceStorm/repstress/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/test/IceStorm/repstress/Makefile.mak b/cpp/test/IceStorm/repstress/Makefile.mak
index 894ecdfcaab..32c89df4ef6 100644
--- a/cpp/test/IceStorm/repstress/Makefile.mak
+++ b/cpp/test/IceStorm/repstress/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/test/IceStorm/repstress/Publisher.cpp b/cpp/test/IceStorm/repstress/Publisher.cpp
index fa795b7c3cc..3a1ada14550 100644
--- a/cpp/test/IceStorm/repstress/Publisher.cpp
+++ b/cpp/test/IceStorm/repstress/Publisher.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/test/IceStorm/repstress/Single.ice b/cpp/test/IceStorm/repstress/Single.ice
index 63c23cc794b..e9076abe704 100644
--- a/cpp/test/IceStorm/repstress/Single.ice
+++ b/cpp/test/IceStorm/repstress/Single.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/test/IceStorm/repstress/Subscriber.cpp b/cpp/test/IceStorm/repstress/Subscriber.cpp
index 7561893babf..e90e24d68ed 100644
--- a/cpp/test/IceStorm/repstress/Subscriber.cpp
+++ b/cpp/test/IceStorm/repstress/Subscriber.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/test/IceStorm/repstress/run.py b/cpp/test/IceStorm/repstress/run.py
index 9f2b311725d..848d41b10d1 100755
--- a/cpp/test/IceStorm/repstress/run.py
+++ b/cpp/test/IceStorm/repstress/run.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.
@@ -10,55 +10,25 @@
import os, sys, time, re
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-from threading import Thread
-
-name = os.path.join("IceStorm", "repstress")
-testdir = os.path.dirname(os.path.abspath(__file__))
-publisher = os.path.join(testdir, "publisher")
-subscriber = os.path.join(testdir, "subscriber")
-control = os.path.join(testdir, "control")
-
-def printOutput(pipe):
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- print line,
- sys.stdout.flush()
- except IOError:
- pass
-
-def captureOutput(pipe):
- out = ""
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- out = out + line
- except IOError:
- pass
- return out
+publisher = os.path.join(os.getcwd(), "publisher")
+subscriber = os.path.join(os.getcwd(), "subscriber")
+control = os.path.join(os.getcwd(), "control")
def runcontrol(proxy):
- pipe = TestUtil.startClient(control, ' "' + proxy + '"')
- printOutput(pipe)
- return TestUtil.closePipe(pipe)
+ proc = TestUtil.startClient(control, ' "%s"' % proxy)
+ proc.waitTestSuccess()
-import IceStormUtil
-
-icestorm = IceStormUtil.init(toplevel, testdir, "replicated", replicatedPublisher=True, additional =
+icestorm = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), "replicated", replicatedPublisher=True, additional =
' --IceStorm.Election.MasterTimeout=2' +
' --IceStorm.Election.ElectionTimeout=2' +
' --IceStorm.Election.ResponseTimeout=2')
@@ -71,18 +41,16 @@ print "ok"
print "running subscriber...",
sys.stdout.flush()
-subscriberPipe = TestUtil.startServer(subscriber, ' --Ice.ServerIdleTime=0 ' + icestorm.reference())
-TestUtil.getServerPid(subscriberPipe)
-TestUtil.getAdapterReady(subscriberPipe, False)
-subControl = subscriberPipe.readline().strip()
+subscriberProc = TestUtil.startServer(subscriber, ' --Ice.ServerIdleTime=0 ' + icestorm.reference())
+subscriberProc.expect("([^\n]+)\n")
+subControl = subscriberProc.match.group(1)
print "ok"
print "running publisher...",
sys.stdout.flush()
-publisherPipe = TestUtil.startServer(publisher, ' --Ice.ServerIdleTime=0 ' + icestorm.reference())
-TestUtil.getServerPid(publisherPipe)
-TestUtil.getAdapterReady(publisherPipe, False)
-pubControl = publisherPipe.readline().strip()
+publisherProc = TestUtil.startServer(publisher, ' --Ice.ServerIdleTime=0 ' + icestorm.reference())
+publisherProc.expect("([^\n]+)\n")
+pubControl = publisherProc.match.group(1)
print "ok"
time.sleep(2)
@@ -126,14 +94,10 @@ for i in range(0, 3):
print "stopping publisher...",
sys.stdout.flush()
-if runcontrol(pubControl):
- printOutput(publisherPipe)
- TestUtil.killServers()
- sys.exit(1)
-publisherCount = publisherPipe.readline().strip()
-if TestUtil.closePipe(publisherPipe):
- TestUtil.killServers()
- sys.exit(1)
+runcontrol(pubControl)
+publisherProc.expect("([^\n]+)\n")
+publisherCount = publisherProc.match.group(1)
+publisherProc.waitTestSuccess()
print "ok"
print "stopping replicas...",
@@ -143,26 +107,10 @@ print "ok"
print "stopping subscriber...",
sys.stdout.flush()
-if runcontrol(subControl):
- printOutput(subscriberPipe)
- TestUtil.killServers()
- sys.exit(1)
-subscriberCount = subscriberPipe.readline().strip()
-if TestUtil.closePipe(subscriberPipe):
- TestUtil.killServers()
- sys.exit(1)
+runcontrol(subControl)
+subscriberProc.expect("([^\n]+)\n")
+subscriberCount = subscriberProc.match.group(1)
+subscriberProc.waitTestSuccess()
print "ok"
print "publisher published %s events, subscriber received %s events" % (publisherCount, subscriberCount)
-#print "comparing counts...",
-#sys.stdout.flush()
-#if publisherCount != subscriberCount:
- #TestUtil.killServers()
- #sys.exit(1)
-#print "ok"
-
-if TestUtil.serverStatus():
- TestUtil.killServers()
- sys.exit(1)
-
-sys.exit(0)
diff --git a/cpp/test/IceStorm/single/Makefile b/cpp/test/IceStorm/single/Makefile
index 5c8ac4a17fb..cb20b1dfdb5 100644
--- a/cpp/test/IceStorm/single/Makefile
+++ b/cpp/test/IceStorm/single/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/test/IceStorm/single/Makefile.mak b/cpp/test/IceStorm/single/Makefile.mak
index a67ccf06074..3e5130f0675 100644
--- a/cpp/test/IceStorm/single/Makefile.mak
+++ b/cpp/test/IceStorm/single/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/test/IceStorm/single/Publisher.cpp b/cpp/test/IceStorm/single/Publisher.cpp
index d42aed7ebcc..61ba2a5a33a 100644
--- a/cpp/test/IceStorm/single/Publisher.cpp
+++ b/cpp/test/IceStorm/single/Publisher.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/test/IceStorm/single/Single.ice b/cpp/test/IceStorm/single/Single.ice
index 63c23cc794b..e9076abe704 100644
--- a/cpp/test/IceStorm/single/Single.ice
+++ b/cpp/test/IceStorm/single/Single.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/test/IceStorm/single/Subscriber.cpp b/cpp/test/IceStorm/single/Subscriber.cpp
index 0fc922b887a..123b62c17de 100644
--- a/cpp/test/IceStorm/single/Subscriber.cpp
+++ b/cpp/test/IceStorm/single/Subscriber.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/test/IceStorm/single/run.py b/cpp/test/IceStorm/single/run.py
index f0f585f44d8..9836610462a 100755
--- a/cpp/test/IceStorm/single/run.py
+++ b/cpp/test/IceStorm/single/run.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.
@@ -11,24 +11,18 @@
import os, sys
import time
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceStorm", "single")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-import IceStormUtil
+sys.path.append(os.path.join(path[0]))
+from scripts import *
def dotest(type):
- icestorm = IceStormUtil.init(toplevel, testdir, type)
+ icestorm = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type)
icestorm.start()
@@ -37,14 +31,12 @@ def dotest(type):
icestorm.admin("create single")
print "ok"
- publisher = os.path.join(testdir, "publisher")
- subscriber = os.path.join(testdir, "subscriber")
+ publisher = os.path.join(os.getcwd(), "publisher")
+ subscriber = os.path.join(os.getcwd(), "subscriber")
print "starting subscriber...",
sys.stdout.flush()
- subscriberPipe = TestUtil.startServer(subscriber, icestorm.reference())
- TestUtil.getServerPid(subscriberPipe)
- TestUtil.getAdapterReady(subscriberPipe, True, 5)
+ subscriberProc = TestUtil.startServer(subscriber, icestorm.reference(), count = 5)
print "ok"
#
@@ -53,11 +45,11 @@ def dotest(type):
#
print "starting publisher...",
sys.stdout.flush()
- publisherPipe = TestUtil.startClient(publisher, icestorm.reference())
+ publisherProc = TestUtil.startClient(publisher, icestorm.reference())
print "ok"
- subscriberStatus = TestUtil.specificServerStatus(subscriberPipe, 30)
- publisherStatus = TestUtil.closePipe(publisherPipe)
+ subscriberProc.waitTestSuccess()
+ publisherProc.waitTestSuccess()
#
# Destroy the topic.
@@ -72,10 +64,6 @@ def dotest(type):
#
icestorm.stop()
- if TestUtil.serverStatus() or subscriberStatus or publisherStatus:
- TestUtil.killServers()
- sys.exit(1)
-
dotest("persistent")
dotest("transient")
dotest("replicated")
diff --git a/cpp/test/IceStorm/stress/Event.ice b/cpp/test/IceStorm/stress/Event.ice
index 2d840b0aa62..435e852bd99 100644
--- a/cpp/test/IceStorm/stress/Event.ice
+++ b/cpp/test/IceStorm/stress/Event.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/test/IceStorm/stress/Makefile b/cpp/test/IceStorm/stress/Makefile
index decde782e42..a08338a4b58 100644
--- a/cpp/test/IceStorm/stress/Makefile
+++ b/cpp/test/IceStorm/stress/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/test/IceStorm/stress/Makefile.mak b/cpp/test/IceStorm/stress/Makefile.mak
index 20c39c2e921..e47367df4ba 100644
--- a/cpp/test/IceStorm/stress/Makefile.mak
+++ b/cpp/test/IceStorm/stress/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/test/IceStorm/stress/Publisher.cpp b/cpp/test/IceStorm/stress/Publisher.cpp
index 371016b4465..24d8c0f0bdf 100644
--- a/cpp/test/IceStorm/stress/Publisher.cpp
+++ b/cpp/test/IceStorm/stress/Publisher.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/test/IceStorm/stress/Subscriber.cpp b/cpp/test/IceStorm/stress/Subscriber.cpp
index bab1e53b079..99fe7e2a844 100644
--- a/cpp/test/IceStorm/stress/Subscriber.cpp
+++ b/cpp/test/IceStorm/stress/Subscriber.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/test/IceStorm/stress/run.py b/cpp/test/IceStorm/stress/run.py
index 1f1c15f2357..62c13544a86 100755
--- a/cpp/test/IceStorm/stress/run.py
+++ b/cpp/test/IceStorm/stress/run.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.
@@ -10,60 +10,35 @@
import os, sys, time, threading, re
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceStorm", "stress")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-iceBox = TestUtil.getIceBox(testdir)
-iceBoxAdmin = os.path.join(TestUtil.getCppBinDir(), "iceboxadmin")
iceStormAdmin = os.path.join(TestUtil.getCppBinDir(), "icestormadmin")
-import IceStormUtil
-
def doTest(server1, server2, subOpts, pubOpts):
- global testdir
-
- publisher = os.path.join(testdir, "publisher")
- subscriber = os.path.join(testdir, "subscriber")
+ publisher = os.path.join(os.getcwd(), "publisher")
+ subscriber = os.path.join(os.getcwd(), "subscriber")
- subscriberPipes = []
+ subscriberProcs = []
if type(subOpts) != type([]):
subOpts = [ subOpts ]
for opts in subOpts:
# We don't want the subscribers to time out.
- pipe = TestUtil.startServer(subscriber, r' --Ice.ServerIdleTime=0 ' + opts)
- TestUtil.getServerPid(pipe)
- TestUtil.getAdapterReady(pipe)
- subscriberPipes.append(pipe)
-
- publisherPipe = TestUtil.startClient(publisher, server1.reference() + r' ' + pubOpts)
-
- TestUtil.printOutputFromPipe(publisherPipe)
-
- publisherStatus = TestUtil.closePipe(publisherPipe)
- if publisherStatus:
- print "(publisher failed)",
- return publisherStatus
- for p in subscriberPipes:
- try:
- sys.stdout.flush()
- subscriberStatus = TestUtil.specificServerStatus(p)
- except:
- print "(subscriber failed)",
- return 1
- if subscriberStatus:
- print "(subscriber failed)",
- return subscriberStatus
+ proc = TestUtil.startServer(subscriber, ' --Ice.ServerIdleTime=0 ' + opts)
+ subscriberProcs.append(proc)
+
+ publisherProc = TestUtil.startClient(publisher, server1.reference() + r' ' + pubOpts)
+ publisherProc.waitTestSuccess()
+ for p in subscriberProcs:
+ sys.stdout.flush()
+ p.waitTestSuccess()
return 0
@@ -73,18 +48,17 @@ def runAdmin(cmd, desc = None):
if desc:
print desc,
sys.stdout.flush()
- pipe = TestUtil.startClient(iceStormAdmin, adminIceStormReference + r' -e "' + cmd + '"')
- status = TestUtil.closePipe(pipe)
- if status:
- TestUtil.killServers()
- sys.exit(1)
+ proc = TestUtil.startClient(iceStormAdmin, adminIceStormReference + r' -e "%s"' % cmd)
+ proc.waitTestSuccess()
if desc:
print "ok"
def runtest(type):
# Clear the idle timeout otherwise the IceBox ThreadPool will timeout.
- server1 = IceStormUtil.init(toplevel, testdir, type, dbDir = "db", instanceName = "TestIceStorm1", port = 12000)
- server2 = IceStormUtil.init(toplevel, testdir, type, dbDir = "db2", instanceName = "TestIceStorm2", port = 12500)
+ server1 = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type, dbDir = "db", instanceName = "TestIceStorm1",
+ port = 12000)
+ server2 = IceStormUtil.init(TestUtil.toplevel, os.getcwd(), type, dbDir = "db2", instanceName = "TestIceStorm2",
+ port = 12500)
global adminIceStormReference
adminIceStormReference = ' --IceStormAdmin.TopicManager.Proxy="%s" --IceStormAdmin.TopicManager.Proxy2="%s"' % (
server1.proxy(), server2.proxy())
@@ -99,76 +73,47 @@ def runtest(type):
print "Sending 5000 ordered events... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 5000 --qos "reliability,ordered" ' + server1.reference(), '--events 5000')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 5000 --qos "reliability,ordered" ' + server1.reference(), '--events 5000')
print "ok"
runAdmin("link TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 5000 ordered events across a link... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 5000 --qos "reliability,ordered" ' + server2.reference(), '--events 5000')
- if status:
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 5000 --qos "reliability,ordered" ' + server2.reference(), '--events 5000')
print "ok"
runAdmin("unlink TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered events... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 20000 ' + server1.reference(), '--events 20000 --oneway')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 20000 ' + server1.reference(), '--events 20000 --oneway')
print "ok"
runAdmin("link TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered events across a link... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 20000 ' + server2.reference(), '--events 20000 --oneway')
- if status:
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 20000 ' + server2.reference(), '--events 20000 --oneway')
print "ok"
runAdmin("unlink TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered batch events... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 20000 --qos "reliability,batch" ' + server1.reference(), '--events 20000 --oneway')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 20000 --qos "reliability,batch" ' + server1.reference(), '--events 20000 --oneway')
print "ok"
runAdmin("link TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered batch events across a link... ",
sys.stdout.flush()
- status = doTest(server1, server2, '--events 20000 --qos "reliability,batch" ' + server2.reference(), '--events 20000 --oneway')
- if status:
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, '--events 20000 --qos "reliability,batch" ' + server2.reference(), '--events 20000 --oneway')
print "ok"
runAdmin("unlink TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered events with slow subscriber... ",
- status = doTest(server1, server2, ['--events 2 --slow ' + server1.reference(), '--events 20000 ' + server1.reference()], '--events 20000 --oneway')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, ['--events 2 --slow ' + server1.reference(), '--events 20000 ' + server1.reference()], '--events 20000 --oneway')
print "ok"
runAdmin("link TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered events with slow subscriber & link... ",
- status = doTest(server1, server2, ['--events 2 --slow' + server1.reference(), '--events 20000' + server1.reference(), '--events 2 --slow' + server2.reference(), '--events 20000' + server2.reference()], '--events 20000 --oneway')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ doTest(server1, server2, ['--events 2 --slow' + server1.reference(), '--events 20000' + server1.reference(), '--events 2 --slow' + server2.reference(), '--events 20000' + server2.reference()], '--events 20000 --oneway')
print "ok"
@@ -193,32 +138,24 @@ def runtest(type):
print "Sending 20000 unordered events with erratic subscriber... ",
sys.stdout.flush()
- status = doTest(server1, server2, \
- [ '--erratic 5 --qos "reliability,ordered" --events 20000' + server1.reference(), \
- '--erratic 5 --events 20000' + server1.reference(), \
- '--events 20000' + server1.reference()], \
+ doTest(server1, server2,
+ [ '--erratic 5 --qos "reliability,ordered" --events 20000' + server1.reference(),
+ '--erratic 5 --events 20000' + server1.reference(),
+ '--events 20000' + server1.reference()],
'--events 20000 --oneway')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
print "ok"
runAdmin("link TestIceStorm1/fed1 TestIceStorm2/fed1")
print "Sending 20000 unordered events with erratic subscriber across a link... ",
sys.stdout.flush()
- status = doTest(server1, server2, \
- [ '--events 20000' + server1.reference(), \
- '--erratic 5 --qos "reliability,ordered" --events 20000 ' + server1.reference(), \
- '--erratic 5 --events 20000 ' + server1.reference(), \
- '--events 20000' + server2.reference(), \
- '--erratic 5 --qos "reliability,ordered" --events 20000 ' + server2.reference(), \
- '--erratic 5 --events 20000 ' + server2.reference()], \
+ doTest(server1, server2,
+ [ '--events 20000' + server1.reference(),
+ '--erratic 5 --qos "reliability,ordered" --events 20000 ' + server1.reference(),
+ '--erratic 5 --events 20000 ' + server1.reference(),
+ '--events 20000' + server2.reference(),
+ '--erratic 5 --qos "reliability,ordered" --events 20000 ' + server2.reference(),
+ '--erratic 5 --events 20000 ' + server2.reference()],
'--events 20000 --oneway ')
- if status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
print "ok"
#
@@ -230,11 +167,5 @@ def runtest(type):
server2.stop()
print "ok"
- if TestUtil.serverStatus():
- TestUtil.killServers()
- sys.exit(1)
-
runtest("persistent")
runtest("replicated")
-
-sys.exit(0)
diff --git a/cpp/test/IceUtil/Makefile b/cpp/test/IceUtil/Makefile
index 12132282fcc..0bd58f7dbda 100644
--- a/cpp/test/IceUtil/Makefile
+++ b/cpp/test/IceUtil/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/test/IceUtil/Makefile.mak b/cpp/test/IceUtil/Makefile.mak
index b06e099f8f1..b5052f4b6d7 100644
--- a/cpp/test/IceUtil/Makefile.mak
+++ b/cpp/test/IceUtil/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/test/IceUtil/condvar/Makefile b/cpp/test/IceUtil/condvar/Makefile
index 44f0053b5f1..5f6d46da8e8 100644
--- a/cpp/test/IceUtil/condvar/Makefile
+++ b/cpp/test/IceUtil/condvar/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/test/IceUtil/condvar/Makefile.mak b/cpp/test/IceUtil/condvar/Makefile.mak
index b0b782fabb9..8a4b1d70ac6 100644
--- a/cpp/test/IceUtil/condvar/Makefile.mak
+++ b/cpp/test/IceUtil/condvar/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/test/IceUtil/condvar/Match.cpp b/cpp/test/IceUtil/condvar/Match.cpp
index a8b82c4564f..2ae99c076a6 100644
--- a/cpp/test/IceUtil/condvar/Match.cpp
+++ b/cpp/test/IceUtil/condvar/Match.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/test/IceUtil/condvar/WorkQueue.cpp b/cpp/test/IceUtil/condvar/WorkQueue.cpp
index 0e178c9847a..493709102ef 100644
--- a/cpp/test/IceUtil/condvar/WorkQueue.cpp
+++ b/cpp/test/IceUtil/condvar/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.
@@ -81,14 +81,7 @@ public:
{
Monitor<Mutex>::Lock lock(*this);
_terminate = true;
- if(_broadcast)
- {
- notifyAll();
- }
- else
- {
- notify();
- }
+ notifyAll();
}
bool
@@ -113,102 +106,54 @@ public:
assert(!_q.empty());
ret = _q.front();
+ if(ret % 100 == 0)
+ {
+ cout << "." << flush;
+ }
_q.pop_front();
return true;
}
-private:
- const bool _broadcast;
- bool _terminate;
- list<int> _q;
-};
-typedef Handle<Queue> QueuePtr;
-
-static IceUtil::StaticMutex coutMutex = ICE_STATIC_MUTEX_INITIALIZER;
-
-class WatchDog : public Thread, public Monitor<Mutex>
-{
-public:
-
- WatchDog(bool verbose) :
- _verbose(verbose), _terminate(false), _touches(0), _timeout(0), _overallTouches(0), _overallTimeout(0)
- {
- }
-
-
- virtual void
- run()
+ int
+ get()
{
- Monitor<Mutex>::Lock sync(*this);
-
- while(true)
+ Monitor<Mutex>::Lock lock(*this);
+ while(_q.empty() && !_terminate)
{
- timedWait(Time::milliSeconds(1000));
- if(!_terminate && _touches == 0)
- {
- cout << _overallTouches << "/" << _overallTimeout
- << ": DEADLOCK DETECTED" << endl;
- abort();
- }
-
- IceUtil::StaticMutex::Lock outputMutex(coutMutex);
- if(_verbose)
- {
- cout << _touches << "(" << _timeout << ") " << flush;
- }
- _overallTouches += _touches;
- _overallTimeout += _timeout;
- _touches = 0;
- _timeout = 0;
- if(_terminate)
- {
- return;
- }
+ wait();
}
- }
- void
- touch(bool timeout)
- {
- Monitor<Mutex>::Lock sync(*this);
- _touches++;
- if(timeout)
+ // We only report the termination sentinel when the queue is
+ // empty.
+ if(_q.empty())
{
- _timeout++;
+ assert(_terminate);
+ return -1;
}
- }
-
- void
- terminate()
- {
- Monitor<Mutex>::Lock sync(*this);
- _terminate = true;
- notify();
- }
- void
- dump()
- {
- cout << _overallTouches << "/" << _overallTimeout;
+ assert(!_q.empty());
+ int ret = _q.front();
+ if(ret % 100 == 0)
+ {
+ cout << "." << flush;
+ }
+ _q.pop_front();
+ return ret;
}
private:
-
- bool _verbose;
+ const bool _broadcast;
bool _terminate;
- int _touches;
- int _timeout;
- long _overallTouches;
- long _overallTimeout;
+ list<int> _q;
};
-typedef Handle<WatchDog> WatchDogPtr;
+typedef Handle<Queue> QueuePtr;
class TestThread : public Thread
{
public:
- TestThread(const CountDownPtr& cd, const WatchDogPtr& dog, const QueuePtr& q) :
- _cd(cd), _dog(dog), _q(q)
+ TestThread(const CountDownPtr& cd, const QueuePtr& q, bool poll) :
+ _cd(cd), _q(q), _poll(poll)
{
}
virtual void
@@ -218,9 +163,14 @@ public:
while(true)
{
int res = 0;
- // This is a poll.
- bool tout = _q->timedGet(res, Time::milliSeconds(1));
- _dog->touch(!tout);
+ if(_poll)
+ {
+ _q->timedGet(res, Time::milliSeconds(10));
+ }
+ else
+ {
+ res = _q->get();
+ }
if(res == -1)
{
return;
@@ -230,8 +180,8 @@ public:
private:
const CountDownPtr _cd;
- const WatchDogPtr _dog;
const QueuePtr _q;
+ const bool _poll;
};
typedef Handle<TestThread> TestThreadPtr;
@@ -253,9 +203,9 @@ public:
{
while(true)
{
- _q->put(_v);
+ _q->put(_v++);
+ ThreadControl::yield();
}
- ThreadControl::yield();
}
else
{
@@ -300,14 +250,11 @@ main(int argc, char** argv)
// thread.
//
int n = atoi(opts.optArg("n").c_str());
- bool verbose = opts.isSet("v");
- cout << "running signal/broadcast timeout test... " << flush;
+ cout << "running signal/broadcast timeout test" << flush;
QueuePtr signalQ = new Queue(false);
- WatchDogPtr signalDog = new WatchDog(verbose);
QueuePtr broadcastQ = new Queue(true);
- WatchDogPtr broadcastDog = new WatchDog(verbose);
CountDownPtr cd = new CountDown(210);
list<TestThreadPtr> testThreads;
@@ -316,7 +263,7 @@ main(int argc, char** argv)
for(i = 0; i < 100; i++)
{
- TestThreadPtr p = new TestThread(cd, signalDog, signalQ);
+ TestThreadPtr p = new TestThread(cd, signalQ, i % 2);
p->start();
testThreads.push_back(p);
}
@@ -329,7 +276,7 @@ main(int argc, char** argv)
for(i = 0; i < 100; i++)
{
- TestThreadPtr p = new TestThread(cd, broadcastDog, broadcastQ);
+ TestThreadPtr p = new TestThread(cd, broadcastQ, i % 2);
p->start();
testThreads.push_back(p);
}
@@ -341,9 +288,6 @@ main(int argc, char** argv)
}
cd->waitZero();
- signalDog->start();
- broadcastDog->start();
-
while(!enqThreads.empty())
{
EnqueueThreadPtr p = enqThreads.front();
@@ -361,22 +305,7 @@ main(int argc, char** argv)
p->getThreadControl().join();
}
- if(verbose)
- {
- cout << endl;
- }
- broadcastDog->terminate();
- broadcastDog->getThreadControl().join();
-
- signalDog->terminate();
- signalDog->getThreadControl().join();
-
- cout << "broadcast (";
- broadcastDog->dump();
-
- cout << ") signal (";
- signalDog->dump();
- cout << ") ok" << endl;
+ cout << " ok" << endl;
return 0;
}
diff --git a/cpp/test/IceUtil/condvar/run.py b/cpp/test/IceUtil/condvar/run.py
index ad44a80d148..50c762bf86b 100755
--- a/cpp/test/IceUtil/condvar/run.py
+++ b/cpp/test/IceUtil/condvar/run.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.
@@ -10,56 +10,25 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+workqueue = os.path.join(os.getcwd(), "workqueue")
-testdir = os.path.dirname(os.path.abspath(__file__))
+client = TestUtil.spawnClient(workqueue)
+client.waitTestSuccess()
-workqueue = os.path.join(testdir, "workqueue")
+match = os.path.join(os.getcwd(), "match")
-print "starting workqueue...",
-if TestUtil.debug:
- print "(" + workqueue + ")",
-workqueuePipe = os.popen(workqueue + " 2>&1")
-print "ok"
+client = TestUtil.spawnClient(match)
+client.waitTestSuccess()
-TestUtil.printOutputFromPipe(workqueuePipe)
-
-workqueueStatus = TestUtil.closePipe(workqueuePipe)
-
-if workqueueStatus:
- sys.exit(1)
-
-match = os.path.join(testdir, "match")
-
-print "starting signal match...",
-matchPipe = os.popen(match + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(matchPipe)
-
-matchStatus = TestUtil.closePipe(matchPipe)
-
-if matchStatus:
- sys.exit(1)
-
-print "starting broadcast match...",
-matchPipe = os.popen(match + " -b" + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(matchPipe)
-
-matchStatus = TestUtil.closePipe(matchPipe)
-
-if matchStatus:
- sys.exit(1)
-
-sys.exit(0)
+client = TestUtil.spawnClient(match + " -b")
+client.waitTestSuccess()
diff --git a/cpp/test/IceUtil/ctrlCHandler/Client.cpp b/cpp/test/IceUtil/ctrlCHandler/Client.cpp
index 066ccfeb67d..db47d9de3b4 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Client.cpp
+++ b/cpp/test/IceUtil/ctrlCHandler/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/test/IceUtil/ctrlCHandler/Makefile b/cpp/test/IceUtil/ctrlCHandler/Makefile
index ff41da8f82a..c7f20eaa156 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Makefile
+++ b/cpp/test/IceUtil/ctrlCHandler/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/test/IceUtil/ctrlCHandler/Makefile.mak b/cpp/test/IceUtil/ctrlCHandler/Makefile.mak
index 23218facb6f..f8a3c3873ef 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Makefile.mak
+++ b/cpp/test/IceUtil/ctrlCHandler/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/test/IceUtil/inputUtil/Client.cpp b/cpp/test/IceUtil/inputUtil/Client.cpp
index 409edd946fa..544ea1c6959 100644
--- a/cpp/test/IceUtil/inputUtil/Client.cpp
+++ b/cpp/test/IceUtil/inputUtil/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/test/IceUtil/inputUtil/Makefile b/cpp/test/IceUtil/inputUtil/Makefile
index ff41da8f82a..c7f20eaa156 100644
--- a/cpp/test/IceUtil/inputUtil/Makefile
+++ b/cpp/test/IceUtil/inputUtil/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/test/IceUtil/inputUtil/Makefile.mak b/cpp/test/IceUtil/inputUtil/Makefile.mak
index 23218facb6f..f8a3c3873ef 100644
--- a/cpp/test/IceUtil/inputUtil/Makefile.mak
+++ b/cpp/test/IceUtil/inputUtil/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/test/IceUtil/inputUtil/run.py b/cpp/test/IceUtil/inputUtil/run.py
index 2fb0e96c3e5..f1c6206d61a 100755
--- a/cpp/test/IceUtil/inputUtil/run.py
+++ b/cpp/test/IceUtil/inputUtil/run.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.
@@ -10,31 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-clientOptions = ' ' + testdir;
-
-print "starting client...",
-clientPipe = os.popen(client + clientOptions + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+client = os.path.join(os.getcwd(), "client")
+TestUtil.simpleTest(client, os.getcwd())
diff --git a/cpp/test/IceUtil/thread/AliveTest.cpp b/cpp/test/IceUtil/thread/AliveTest.cpp
index 116ccbbed03..e7c6b8183d6 100644
--- a/cpp/test/IceUtil/thread/AliveTest.cpp
+++ b/cpp/test/IceUtil/thread/AliveTest.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/test/IceUtil/thread/AliveTest.h b/cpp/test/IceUtil/thread/AliveTest.h
index 43085b750a4..44bcb261c96 100644
--- a/cpp/test/IceUtil/thread/AliveTest.h
+++ b/cpp/test/IceUtil/thread/AliveTest.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/test/IceUtil/thread/Client.cpp b/cpp/test/IceUtil/thread/Client.cpp
index b7ce3248815..901096549cd 100644
--- a/cpp/test/IceUtil/thread/Client.cpp
+++ b/cpp/test/IceUtil/thread/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/test/IceUtil/thread/CountDownLatchTest.cpp b/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
index ea463d5649a..5f00999e43b 100644
--- a/cpp/test/IceUtil/thread/CountDownLatchTest.cpp
+++ b/cpp/test/IceUtil/thread/CountDownLatchTest.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/test/IceUtil/thread/CountDownLatchTest.h b/cpp/test/IceUtil/thread/CountDownLatchTest.h
index a4f1a4a4b98..d59696f6eca 100644
--- a/cpp/test/IceUtil/thread/CountDownLatchTest.h
+++ b/cpp/test/IceUtil/thread/CountDownLatchTest.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/test/IceUtil/thread/CreateTest.cpp b/cpp/test/IceUtil/thread/CreateTest.cpp
index 06528162e8a..652bc910eeb 100644
--- a/cpp/test/IceUtil/thread/CreateTest.cpp
+++ b/cpp/test/IceUtil/thread/CreateTest.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/test/IceUtil/thread/CreateTest.h b/cpp/test/IceUtil/thread/CreateTest.h
index de807fd6175..12b504c6ebf 100644
--- a/cpp/test/IceUtil/thread/CreateTest.h
+++ b/cpp/test/IceUtil/thread/CreateTest.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/test/IceUtil/thread/Makefile b/cpp/test/IceUtil/thread/Makefile
index 95977b3fc12..f3c69d829ca 100644
--- a/cpp/test/IceUtil/thread/Makefile
+++ b/cpp/test/IceUtil/thread/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/test/IceUtil/thread/Makefile.mak b/cpp/test/IceUtil/thread/Makefile.mak
index 80f8eda947f..de9de80b34f 100644
--- a/cpp/test/IceUtil/thread/Makefile.mak
+++ b/cpp/test/IceUtil/thread/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/test/IceUtil/thread/MonitorMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
index 35d2e46506d..56f41a23ce8 100644
--- a/cpp/test/IceUtil/thread/MonitorMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorMutexTest.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/test/IceUtil/thread/MonitorMutexTest.h b/cpp/test/IceUtil/thread/MonitorMutexTest.h
index 5492873ce7f..33585989988 100644
--- a/cpp/test/IceUtil/thread/MonitorMutexTest.h
+++ b/cpp/test/IceUtil/thread/MonitorMutexTest.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/test/IceUtil/thread/MonitorRecMutexTest.cpp b/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
index f4fa81dbd44..48f2e501b6a 100644
--- a/cpp/test/IceUtil/thread/MonitorRecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MonitorRecMutexTest.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/test/IceUtil/thread/MonitorRecMutexTest.h b/cpp/test/IceUtil/thread/MonitorRecMutexTest.h
index 00e8b7f5e2e..f023e11461f 100644
--- a/cpp/test/IceUtil/thread/MonitorRecMutexTest.h
+++ b/cpp/test/IceUtil/thread/MonitorRecMutexTest.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/test/IceUtil/thread/MutexTest.cpp b/cpp/test/IceUtil/thread/MutexTest.cpp
index c67c6f4be6c..a096bacecaf 100644
--- a/cpp/test/IceUtil/thread/MutexTest.cpp
+++ b/cpp/test/IceUtil/thread/MutexTest.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/test/IceUtil/thread/MutexTest.h b/cpp/test/IceUtil/thread/MutexTest.h
index d44cacac808..0a12d0b42f2 100644
--- a/cpp/test/IceUtil/thread/MutexTest.h
+++ b/cpp/test/IceUtil/thread/MutexTest.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/test/IceUtil/thread/RWRecMutexTest.cpp b/cpp/test/IceUtil/thread/RWRecMutexTest.cpp
index 852d7be8c6f..167c05bac9a 100644
--- a/cpp/test/IceUtil/thread/RWRecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/RWRecMutexTest.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/test/IceUtil/thread/RWRecMutexTest.h b/cpp/test/IceUtil/thread/RWRecMutexTest.h
index c299863eee5..6f7801ecf69 100644
--- a/cpp/test/IceUtil/thread/RWRecMutexTest.h
+++ b/cpp/test/IceUtil/thread/RWRecMutexTest.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/test/IceUtil/thread/RecMutexTest.cpp b/cpp/test/IceUtil/thread/RecMutexTest.cpp
index 77fa828f2f9..300f54a802a 100644
--- a/cpp/test/IceUtil/thread/RecMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/RecMutexTest.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/test/IceUtil/thread/RecMutexTest.h b/cpp/test/IceUtil/thread/RecMutexTest.h
index 6382267d835..4162a18c432 100644
--- a/cpp/test/IceUtil/thread/RecMutexTest.h
+++ b/cpp/test/IceUtil/thread/RecMutexTest.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/test/IceUtil/thread/StartTest.cpp b/cpp/test/IceUtil/thread/StartTest.cpp
index 2feb648d79c..6b38ba1ef6b 100644
--- a/cpp/test/IceUtil/thread/StartTest.cpp
+++ b/cpp/test/IceUtil/thread/StartTest.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/test/IceUtil/thread/StartTest.h b/cpp/test/IceUtil/thread/StartTest.h
index 5cdec2d88c2..ca52421e0bc 100644
--- a/cpp/test/IceUtil/thread/StartTest.h
+++ b/cpp/test/IceUtil/thread/StartTest.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/test/IceUtil/thread/StaticMutexTest.cpp b/cpp/test/IceUtil/thread/StaticMutexTest.cpp
index 93e61f02628..1497540fb65 100644
--- a/cpp/test/IceUtil/thread/StaticMutexTest.cpp
+++ b/cpp/test/IceUtil/thread/StaticMutexTest.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/test/IceUtil/thread/StaticMutexTest.h b/cpp/test/IceUtil/thread/StaticMutexTest.h
index eb52c436d70..1899450c0e6 100644
--- a/cpp/test/IceUtil/thread/StaticMutexTest.h
+++ b/cpp/test/IceUtil/thread/StaticMutexTest.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/test/IceUtil/thread/TestBase.cpp b/cpp/test/IceUtil/thread/TestBase.cpp
index 2b3abb0ce62..e1d46d6c0e8 100644
--- a/cpp/test/IceUtil/thread/TestBase.cpp
+++ b/cpp/test/IceUtil/thread/TestBase.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/test/IceUtil/thread/TestBase.h b/cpp/test/IceUtil/thread/TestBase.h
index 7d8edd61ba0..9c1c219bc0d 100644
--- a/cpp/test/IceUtil/thread/TestBase.h
+++ b/cpp/test/IceUtil/thread/TestBase.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/test/IceUtil/thread/TestSuite.cpp b/cpp/test/IceUtil/thread/TestSuite.cpp
index 4fab18782d8..c778c15f73b 100644
--- a/cpp/test/IceUtil/thread/TestSuite.cpp
+++ b/cpp/test/IceUtil/thread/TestSuite.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/test/IceUtil/thread/TestSuite.h b/cpp/test/IceUtil/thread/TestSuite.h
index 6fecb05b1c7..5340ec5dd95 100644
--- a/cpp/test/IceUtil/thread/TestSuite.h
+++ b/cpp/test/IceUtil/thread/TestSuite.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/test/IceUtil/thread/run.py b/cpp/test/IceUtil/thread/run.py
index 6d4273abdea..478bb2b83bc 100755
--- a/cpp/test/IceUtil/thread/run.py
+++ b/cpp/test/IceUtil/thread/run.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.
@@ -10,34 +10,16 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+client = os.path.join(os.getcwd(), "client")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-clientOptions = ' ' + testdir
-
-print "starting client...",
-command = client + clientOptions
-if TestUtil.debug:
- print "(" + command + ")",
-clientPipe = os.popen(command + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+TestUtil.simpleTest(client, os.getcwd())
diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp
index 49d6947869d..45a14cf2021 100644
--- a/cpp/test/IceUtil/timer/Client.cpp
+++ b/cpp/test/IceUtil/timer/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/test/IceUtil/timer/Makefile b/cpp/test/IceUtil/timer/Makefile
index ff41da8f82a..c7f20eaa156 100644
--- a/cpp/test/IceUtil/timer/Makefile
+++ b/cpp/test/IceUtil/timer/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/test/IceUtil/timer/Makefile.mak b/cpp/test/IceUtil/timer/Makefile.mak
index 23218facb6f..f8a3c3873ef 100644
--- a/cpp/test/IceUtil/timer/Makefile.mak
+++ b/cpp/test/IceUtil/timer/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/test/IceUtil/timer/run.py b/cpp/test/IceUtil/timer/run.py
index 1e05abd1220..fb3ed194b36 100755
--- a/cpp/test/IceUtil/timer/run.py
+++ b/cpp/test/IceUtil/timer/run.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.
@@ -10,30 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-clientPipe = os.popen(client + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+client = os.path.join(os.getcwd(), "client")
+TestUtil.simpleTest(client)
diff --git a/cpp/test/IceUtil/unicode/Client.cpp b/cpp/test/IceUtil/unicode/Client.cpp
index 9b9347533d1..a8b99a4d02b 100644
--- a/cpp/test/IceUtil/unicode/Client.cpp
+++ b/cpp/test/IceUtil/unicode/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/test/IceUtil/unicode/Makefile b/cpp/test/IceUtil/unicode/Makefile
index ff41da8f82a..c7f20eaa156 100644
--- a/cpp/test/IceUtil/unicode/Makefile
+++ b/cpp/test/IceUtil/unicode/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/test/IceUtil/unicode/Makefile.mak b/cpp/test/IceUtil/unicode/Makefile.mak
index 23218facb6f..f8a3c3873ef 100644
--- a/cpp/test/IceUtil/unicode/Makefile.mak
+++ b/cpp/test/IceUtil/unicode/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/test/IceUtil/unicode/run.py b/cpp/test/IceUtil/unicode/run.py
index e004f5eb142..478bb2b83bc 100755
--- a/cpp/test/IceUtil/unicode/run.py
+++ b/cpp/test/IceUtil/unicode/run.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.
@@ -10,31 +10,16 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+client = os.path.join(os.getcwd(), "client")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-clientOptions = ' ' + testdir;
-
-print "starting client...",
-clientPipe = os.popen(client + clientOptions + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+TestUtil.simpleTest(client, os.getcwd())
diff --git a/cpp/test/IceUtil/uuid/Client.cpp b/cpp/test/IceUtil/uuid/Client.cpp
index 88edbbe81f2..84f882a6ebc 100644
--- a/cpp/test/IceUtil/uuid/Client.cpp
+++ b/cpp/test/IceUtil/uuid/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/test/IceUtil/uuid/Makefile b/cpp/test/IceUtil/uuid/Makefile
index ff41da8f82a..c7f20eaa156 100644
--- a/cpp/test/IceUtil/uuid/Makefile
+++ b/cpp/test/IceUtil/uuid/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/test/IceUtil/uuid/Makefile.mak b/cpp/test/IceUtil/uuid/Makefile.mak
index 23218facb6f..f8a3c3873ef 100644
--- a/cpp/test/IceUtil/uuid/Makefile.mak
+++ b/cpp/test/IceUtil/uuid/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/test/IceUtil/uuid/run.py b/cpp/test/IceUtil/uuid/run.py
index 0c8912bde72..fb3ed194b36 100755
--- a/cpp/test/IceUtil/uuid/run.py
+++ b/cpp/test/IceUtil/uuid/run.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.
@@ -10,32 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-if TestUtil.debug:
- print "(" + client + ")",
-clientPipe = os.popen(client + " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+client = os.path.join(os.getcwd(), "client")
+TestUtil.simpleTest(client)
diff --git a/cpp/test/Makefile b/cpp/test/Makefile
index aa7f1f3b307..21ae6f7228c 100644
--- a/cpp/test/Makefile
+++ b/cpp/test/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/test/Makefile.mak b/cpp/test/Makefile.mak
index f0abc32546b..a28ab707726 100644
--- a/cpp/test/Makefile.mak
+++ b/cpp/test/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/test/Slice/Makefile b/cpp/test/Slice/Makefile
index 4a26418b852..5abb0e85b0f 100644
--- a/cpp/test/Slice/Makefile
+++ b/cpp/test/Slice/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/test/Slice/Makefile.mak b/cpp/test/Slice/Makefile.mak
index ce4e2467269..ccb852a2b71 100644
--- a/cpp/test/Slice/Makefile.mak
+++ b/cpp/test/Slice/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/test/Slice/errorDetection/CaseInsensitive.ice b/cpp/test/Slice/errorDetection/CaseInsensitive.ice
index 9fbc17b7da3..822681d287f 100644
--- a/cpp/test/Slice/errorDetection/CaseInsensitive.ice
+++ b/cpp/test/Slice/errorDetection/CaseInsensitive.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/test/Slice/errorDetection/CaseSensitive.ice b/cpp/test/Slice/errorDetection/CaseSensitive.ice
index 22dd3a27eab..927b52552b9 100644
--- a/cpp/test/Slice/errorDetection/CaseSensitive.ice
+++ b/cpp/test/Slice/errorDetection/CaseSensitive.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/test/Slice/errorDetection/ChangedMeaning.ice b/cpp/test/Slice/errorDetection/ChangedMeaning.ice
index 416ed9230d1..a1395fff3f5 100644
--- a/cpp/test/Slice/errorDetection/ChangedMeaning.ice
+++ b/cpp/test/Slice/errorDetection/ChangedMeaning.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/test/Slice/errorDetection/ClassRedefinition.ice b/cpp/test/Slice/errorDetection/ClassRedefinition.ice
index 9f3a527d87d..ec7f0549b8f 100644
--- a/cpp/test/Slice/errorDetection/ClassRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/ClassRedefinition.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/test/Slice/errorDetection/ConstDef.ice b/cpp/test/Slice/errorDetection/ConstDef.ice
index 0700ce9c600..48f074569ff 100644
--- a/cpp/test/Slice/errorDetection/ConstDef.ice
+++ b/cpp/test/Slice/errorDetection/ConstDef.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/test/Slice/errorDetection/DataMemberRedefinition.ice b/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice
index d62ec8c7457..0675da5c20d 100644
--- a/cpp/test/Slice/errorDetection/DataMemberRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DataMemberRedefinition.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/test/Slice/errorDetection/DeclaratorMissing.ice b/cpp/test/Slice/errorDetection/DeclaratorMissing.ice
index 83d88e347b5..8738e43a407 100644
--- a/cpp/test/Slice/errorDetection/DeclaratorMissing.ice
+++ b/cpp/test/Slice/errorDetection/DeclaratorMissing.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/test/Slice/errorDetection/DerivedRedefinition.ice b/cpp/test/Slice/errorDetection/DerivedRedefinition.ice
index d50fdbb8d21..7c10e25ec80 100644
--- a/cpp/test/Slice/errorDetection/DerivedRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DerivedRedefinition.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/test/Slice/errorDetection/DictionaryRedefinition.ice b/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice
index 56adaa50634..059d824d6ef 100644
--- a/cpp/test/Slice/errorDetection/DictionaryRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/DictionaryRedefinition.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/test/Slice/errorDetection/DummyAtGlobalLevel.ice b/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice
index c637d7b9748..7b880eb3817 100644
--- a/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.ice
+++ b/cpp/test/Slice/errorDetection/DummyAtGlobalLevel.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/test/Slice/errorDetection/DuplicateParameter.ice b/cpp/test/Slice/errorDetection/DuplicateParameter.ice
index 0507931ccff..48c8a90ad84 100644
--- a/cpp/test/Slice/errorDetection/DuplicateParameter.ice
+++ b/cpp/test/Slice/errorDetection/DuplicateParameter.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/test/Slice/errorDetection/DuplicateThrows.ice b/cpp/test/Slice/errorDetection/DuplicateThrows.ice
index 3b0fc0e4dd7..d5edbd665e4 100644
--- a/cpp/test/Slice/errorDetection/DuplicateThrows.ice
+++ b/cpp/test/Slice/errorDetection/DuplicateThrows.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/test/Slice/errorDetection/EnumEmpty.ice b/cpp/test/Slice/errorDetection/EnumEmpty.ice
index 74e75fb0a7c..a3cc3aa320c 100644
--- a/cpp/test/Slice/errorDetection/EnumEmpty.ice
+++ b/cpp/test/Slice/errorDetection/EnumEmpty.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/test/Slice/errorDetection/EnumRedefinition.ice b/cpp/test/Slice/errorDetection/EnumRedefinition.ice
index 9db19cc0714..88e9c9cb60e 100644
--- a/cpp/test/Slice/errorDetection/EnumRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/EnumRedefinition.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/test/Slice/errorDetection/EnumeratorRedefinition.ice b/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice
index 0691bde0801..3076c3354e4 100644
--- a/cpp/test/Slice/errorDetection/EnumeratorRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/EnumeratorRedefinition.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/test/Slice/errorDetection/IdentAsKeyword.ice b/cpp/test/Slice/errorDetection/IdentAsKeyword.ice
index 5248e0ad6f8..be76499a718 100644
--- a/cpp/test/Slice/errorDetection/IdentAsKeyword.ice
+++ b/cpp/test/Slice/errorDetection/IdentAsKeyword.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/test/Slice/errorDetection/IllegalDeclaration.ice b/cpp/test/Slice/errorDetection/IllegalDeclaration.ice
index 72340768ac5..f1b138f697c 100644
--- a/cpp/test/Slice/errorDetection/IllegalDeclaration.ice
+++ b/cpp/test/Slice/errorDetection/IllegalDeclaration.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/test/Slice/errorDetection/IllegalDictionary.ice b/cpp/test/Slice/errorDetection/IllegalDictionary.ice
index 136c177e4de..3367e08139d 100644
--- a/cpp/test/Slice/errorDetection/IllegalDictionary.ice
+++ b/cpp/test/Slice/errorDetection/IllegalDictionary.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/test/Slice/errorDetection/IllegalIdentifier.ice b/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
index dd093b48107..d50ddb4afe1 100644
--- a/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
+++ b/cpp/test/Slice/errorDetection/IllegalIdentifier.ice
@@ -1,21 +1,21 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-
-//
-// Check that 'Å“' is properly rejected in idenifiers
-//
-
-module Test
-{
- interface Å’uvre
- {
- void cœur();
- };
-};
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+
+//
+// Check that 'Å“' is properly rejected in idenifiers
+//
+
+module Test
+{
+ interface Å’uvre
+ {
+ void cœur();
+ };
+};
diff --git a/cpp/test/Slice/errorDetection/IllegalLocal.ice b/cpp/test/Slice/errorDetection/IllegalLocal.ice
index bbdc795c205..7301a9e14c5 100644
--- a/cpp/test/Slice/errorDetection/IllegalLocal.ice
+++ b/cpp/test/Slice/errorDetection/IllegalLocal.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/test/Slice/errorDetection/IllegalMI.ice b/cpp/test/Slice/errorDetection/IllegalMI.ice
index f2b6a5ab6f4..d27fb407a3b 100644
--- a/cpp/test/Slice/errorDetection/IllegalMI.ice
+++ b/cpp/test/Slice/errorDetection/IllegalMI.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/test/Slice/errorDetection/IllegalUseOfKeyword.ice b/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice
index 94f2e19611d..cc5fbf73311 100644
--- a/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.ice
+++ b/cpp/test/Slice/errorDetection/IllegalUseOfKeyword.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/test/Slice/errorDetection/InterfaceMismatch.ice b/cpp/test/Slice/errorDetection/InterfaceMismatch.ice
index 8f9dc112bfd..87822320c29 100644
--- a/cpp/test/Slice/errorDetection/InterfaceMismatch.ice
+++ b/cpp/test/Slice/errorDetection/InterfaceMismatch.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/test/Slice/errorDetection/InterfaceRedefinition.ice b/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice
index bb16cd8ec7e..b2abf8af90e 100644
--- a/cpp/test/Slice/errorDetection/InterfaceRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/InterfaceRedefinition.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/test/Slice/errorDetection/LocalMismatch.ice b/cpp/test/Slice/errorDetection/LocalMismatch.ice
index 70bbd278607..6eca4f731e5 100644
--- a/cpp/test/Slice/errorDetection/LocalMismatch.ice
+++ b/cpp/test/Slice/errorDetection/LocalMismatch.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/test/Slice/errorDetection/NameCanNotBeUsed.ice b/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice
index 6d53448f857..2542290a2d6 100644
--- a/cpp/test/Slice/errorDetection/NameCanNotBeUsed.ice
+++ b/cpp/test/Slice/errorDetection/NameCanNotBeUsed.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/test/Slice/errorDetection/NotClassOrInterface.ice b/cpp/test/Slice/errorDetection/NotClassOrInterface.ice
index c0294a1f904..41e65d78d3d 100644
--- a/cpp/test/Slice/errorDetection/NotClassOrInterface.ice
+++ b/cpp/test/Slice/errorDetection/NotClassOrInterface.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/test/Slice/errorDetection/NotException.ice b/cpp/test/Slice/errorDetection/NotException.ice
index d306db1e1dd..0d57ccdeda1 100644
--- a/cpp/test/Slice/errorDetection/NotException.ice
+++ b/cpp/test/Slice/errorDetection/NotException.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/test/Slice/errorDetection/NotType.ice b/cpp/test/Slice/errorDetection/NotType.ice
index f128b96e67c..d6b05cbdbc4 100644
--- a/cpp/test/Slice/errorDetection/NotType.ice
+++ b/cpp/test/Slice/errorDetection/NotType.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/test/Slice/errorDetection/OperationRedefinition.ice b/cpp/test/Slice/errorDetection/OperationRedefinition.ice
index 3800b99587b..956fc0a0c48 100644
--- a/cpp/test/Slice/errorDetection/OperationRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/OperationRedefinition.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/test/Slice/errorDetection/ParamsOutOfOrder.ice b/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice
index 3b713281310..1f70512a291 100644
--- a/cpp/test/Slice/errorDetection/ParamsOutOfOrder.ice
+++ b/cpp/test/Slice/errorDetection/ParamsOutOfOrder.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/test/Slice/errorDetection/RedefinitionAsClass.ice b/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice
index 8a449beefc4..fdb89391e23 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsClass.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsClass.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/test/Slice/errorDetection/RedefinitionAsDataMember.ice b/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice
index a9edce42242..b0a0c145d8b 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsDataMember.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/test/Slice/errorDetection/RedefinitionAsDictionary.ice b/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice
index f84461b150e..f0147e03cd2 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsDictionary.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/test/Slice/errorDetection/RedefinitionAsEnum.ice b/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice
index 9273991711b..e089df35709 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsEnum.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsEnum.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/test/Slice/errorDetection/RedefinitionAsEnumerator.ice b/cpp/test/Slice/errorDetection/RedefinitionAsEnumerator.ice
index 30f5e77e799..c06cddcd1aa 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsEnumerator.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsEnumerator.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/test/Slice/errorDetection/RedefinitionAsInterface.ice b/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice
index d60198d3838..3052afac929 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsInterface.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsInterface.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/test/Slice/errorDetection/RedefinitionAsModule.ice b/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice
index 60a07833719..077fc0d1fce 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsModule.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsModule.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/test/Slice/errorDetection/RedefinitionAsOperation.ice b/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice
index b0e532ad1d4..b46c55d8d0f 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsOperation.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsOperation.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/test/Slice/errorDetection/RedefinitionAsSequence.ice b/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice
index 346b86f2dc1..6df58fc469a 100644
--- a/cpp/test/Slice/errorDetection/RedefinitionAsSequence.ice
+++ b/cpp/test/Slice/errorDetection/RedefinitionAsSequence.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/test/Slice/errorDetection/Reserved.ice b/cpp/test/Slice/errorDetection/Reserved.ice
index dd8e2d3902b..e8345622678 100644
--- a/cpp/test/Slice/errorDetection/Reserved.ice
+++ b/cpp/test/Slice/errorDetection/Reserved.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/test/Slice/errorDetection/SelfContainment.ice b/cpp/test/Slice/errorDetection/SelfContainment.ice
index 31cc4876644..1dcf4346169 100644
--- a/cpp/test/Slice/errorDetection/SelfContainment.ice
+++ b/cpp/test/Slice/errorDetection/SelfContainment.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/test/Slice/errorDetection/SequenceRedefinition.ice b/cpp/test/Slice/errorDetection/SequenceRedefinition.ice
index c617afe16d5..149b2348edd 100644
--- a/cpp/test/Slice/errorDetection/SequenceRedefinition.ice
+++ b/cpp/test/Slice/errorDetection/SequenceRedefinition.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/test/Slice/errorDetection/StructMembers.ice b/cpp/test/Slice/errorDetection/StructMembers.ice
index 33993a4cb58..79cfb98d319 100644
--- a/cpp/test/Slice/errorDetection/StructMembers.ice
+++ b/cpp/test/Slice/errorDetection/StructMembers.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/test/Slice/errorDetection/Undefined.ice b/cpp/test/Slice/errorDetection/Undefined.ice
index 18cbe77ce51..74e93c6b714 100644
--- a/cpp/test/Slice/errorDetection/Undefined.ice
+++ b/cpp/test/Slice/errorDetection/Undefined.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/test/Slice/errorDetection/WrongProxyType.ice b/cpp/test/Slice/errorDetection/WrongProxyType.ice
index 9485624d32f..338465300b5 100644
--- a/cpp/test/Slice/errorDetection/WrongProxyType.ice
+++ b/cpp/test/Slice/errorDetection/WrongProxyType.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/test/Slice/errorDetection/include/IcePrefix.ice b/cpp/test/Slice/errorDetection/include/IcePrefix.ice
index ea29d06739b..9acd0a09ea2 100644
--- a/cpp/test/Slice/errorDetection/include/IcePrefix.ice
+++ b/cpp/test/Slice/errorDetection/include/IcePrefix.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/test/Slice/errorDetection/run.py b/cpp/test/Slice/errorDetection/run.py
index abd3b0053b6..b10af237310 100755
--- a/cpp/test/Slice/errorDetection/run.py
+++ b/cpp/test/Slice/errorDetection/run.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.
@@ -10,26 +10,21 @@
import os, sys, re
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel os.getcwd()!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-#
-# For LD_LIBRARY_PATH and similar env variables
-#
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-directory = os.path.dirname(os.path.abspath(__file__))
slice2cpp = os.path.join(TestUtil.getCppBinDir(), "slice2cpp")
-regex1 = re.compile(r"\.ice$", re.IGNORECASE)
+regex1 = re.compile("\.ice$", re.IGNORECASE)
files = []
-for file in os.listdir(directory):
+for file in os.listdir(os.getcwd()):
if(regex1.search(file)):
files.append(file)
@@ -40,17 +35,17 @@ for file in files:
print file + "...",
if file == "CaseSensitive.ice":
- command = slice2cpp + " --case-sensitive -I. " + os.path.join(directory, file);
+ command = slice2cpp + " --case-sensitive -I. " + os.path.join(os.getcwd(), file);
else:
- command = slice2cpp + " -I. " + os.path.join(directory, file);
+ command = slice2cpp + " -I. " + os.path.join(os.getcwd(), file);
stdin, stdout, stderr = os.popen3(command)
- lines1 = stdout.readlines()
- lines2 = open(os.path.join(directory, regex1.sub(".err", file)), "r").readlines()
+ lines1 = stderr.readlines()
+ lines2 = open(os.path.join(os.getcwd(), regex1.sub(".err", file)), "r").readlines()
if len(lines1) != len(lines2):
print "failed!"
sys.exit(1)
- regex2 = re.compile(r"^.*(?=" + file + ")")
+ regex2 = re.compile("^.*(?=" + file + ")")
i = 0
while i < len(lines1):
line1 = regex2.sub("", lines1[i]).strip()
diff --git a/cpp/test/Slice/keyword/Client.cpp b/cpp/test/Slice/keyword/Client.cpp
index 56163a422c5..d96b6a8694a 100644
--- a/cpp/test/Slice/keyword/Client.cpp
+++ b/cpp/test/Slice/keyword/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/test/Slice/keyword/Key.ice b/cpp/test/Slice/keyword/Key.ice
index 3cf6577c4b4..2c4238c688c 100644
--- a/cpp/test/Slice/keyword/Key.ice
+++ b/cpp/test/Slice/keyword/Key.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/test/Slice/keyword/Makefile b/cpp/test/Slice/keyword/Makefile
index 399cb9ce8f7..1fccee9ad3c 100644
--- a/cpp/test/Slice/keyword/Makefile
+++ b/cpp/test/Slice/keyword/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/test/Slice/keyword/Makefile.mak b/cpp/test/Slice/keyword/Makefile.mak
index 3c2b48216fe..f0600254c29 100644
--- a/cpp/test/Slice/keyword/Makefile.mak
+++ b/cpp/test/Slice/keyword/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/test/Slice/keyword/run.py b/cpp/test/Slice/keyword/run.py
index 4863f077175..fb3ed194b36 100755
--- a/cpp/test/Slice/keyword/run.py
+++ b/cpp/test/Slice/keyword/run.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.
@@ -10,31 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Slice", "keyword")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
-
-print "starting client...",
-clientPipe = TestUtil.startClient(client, " 2>&1")
-print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+client = os.path.join(os.getcwd(), "client")
+TestUtil.simpleTest(client)
diff --git a/cpp/test/include/TestCommon.h b/cpp/test/include/TestCommon.h
index 71f9ad8797c..cd4993af9dc 100644
--- a/cpp/test/include/TestCommon.h
+++ b/cpp/test/include/TestCommon.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/cs/CHANGES b/cs/CHANGES
index 0aff86bab5a..f76ab700fc7 100644
--- a/cs/CHANGES
+++ b/cs/CHANGES
@@ -44,8 +44,8 @@ Changes since version 3.2.0
base64 encoding.
This syntax is useful if, for example, a client that has the SSL
- plugin configured sends a proxy with an SSL endpoint to a server
- without the SSL plugin. Prior to this version, the server would
+ plug-in configured sends a proxy with an SSL endpoint to a server
+ without the SSL plug-in. Prior to this version, the server would
drop the unknown SSL endpoint when it stringified the proxy.
As of this version, the server preserves the endpoint and, when the server
stringifies a proxy containing an unknown endpoint, it uses the above opaque syntax.
@@ -108,8 +108,8 @@ Changes since version 3.1.1
logger for all communicators that do not have a logger explicitly
set.
-- Fixed a bug in the plugin property parsing code: if the file name of
- a plugin included a drive letter, the plugin did not load.
+- Fixed a bug in the plug-in property parsing code: if the file name of
+ a plug-in included a drive letter, the plug-in did not load.
- Added support for a user-defined signal handler in Ice.Application.
A subclass must override the interruptCallback method and invoke
@@ -201,9 +201,9 @@ Changes since version 3.1.1
NullReferenceException but instead causes an empty sequence to be
sent.
-- Fixed a bug where loading an Ice plugin or an IceBox service could
+- Fixed a bug where loading an Ice plug-in or an IceBox service could
result in a System.NullReferenceException if no constructors are
- available to create the plugin or service instance.
+ available to create the plug-in or service instance.
- New Slice metadata for operations:
@@ -227,7 +227,7 @@ Changes since version 3.0.1
- Removed removeObjectFactory() from the communicator interface.
-- Added an IceSSL plugin for .NET 2.0. See the Ice manual for more
+- Added an IceSSL plug-in for .NET 2.0. See the Ice manual for more
information.
- ObjectAdapter::deactivate() now notifies the locator registry when
diff --git a/cs/INSTALL.VISUAL_C# b/cs/INSTALL.VISUAL_C#
index fbb3a8780f1..64bc9ee315e 100644
--- a/cs/INSTALL.VISUAL_C#
+++ b/cs/INSTALL.VISUAL_C#
@@ -114,7 +114,7 @@ To run the demos, you need to have the Ice bin directory in your PATH.
See the README file in each demo directory for a description of the
demo.
-Note that in demos that use IceSSL, the IceSSL plugin configuration
+Note that in demos that use IceSSL, the IceSSL plug-in configuration
does not contain the fully-qualified name (FQN) for the IceSSL
assembly. Instead it just contains the partial name:
@@ -123,7 +123,7 @@ assembly. Instead it just contains the partial name:
The FQN is found in the *.exe.config files that are generated when the
demos are built. If you want to run an application using the IceSSL
assembly installed in the GAC without the use of the *.exe.config
-files, you must add the FQN to the IceSSL plugin configuration, as
+files, you must add the FQN to the IceSSL plug-in configuration, as
shown below:
Ice.Plugin.IceSSL=IceSSL, Version=@ver@.0, Culture=neutral, PublicKeyToken=1f998c50fec78381:IceSSL.PluginFactory
diff --git a/cs/Makefile b/cs/Makefile
index 28b0a0f8f89..6efe0575495 100644
--- a/cs/Makefile
+++ b/cs/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/cs/Makefile.mak b/cs/Makefile.mak
index 98177481eeb..0e0714410c0 100644
--- a/cs/Makefile.mak
+++ b/cs/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/cs/allDemos.py b/cs/allDemos.py
index b095525d278..d0d09c95c5b 100755
--- a/cs/allDemos.py
+++ b/cs/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/cs/allTests.py b/cs/allTests.py
index cbe4e1b744f..df497955cae 100755
--- a/cs/allTests.py
+++ b/cs/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
@@ -48,9 +48,9 @@ tests = [
("Ice/dictMapping", ["core"]),
("Ice/seqMapping", ["core"]),
("Ice/background", ["core"]),
+ ("Ice/udp", ["core"]),
("IceBox/configuration", ["core", "noipv6"]),
("Glacier2/router", ["service"]),
- ("Glacier2/attack", ["service"]),
("IceGrid/simple", ["service"]),
("IceSSL/configuration", ["once", "novista", "nomono"]),
]
diff --git a/cs/config/Make.rules.cs b/cs/config/Make.rules.cs
index 0831f14c9ad..9eda51b600b 100644
--- a/cs/config/Make.rules.cs
+++ b/cs/config/Make.rules.cs
@@ -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/cs/config/Make.rules.mak.cs b/cs/config/Make.rules.mak.cs
index 132a9e492b2..edefc70958b 100644
--- a/cs/config/Make.rules.mak.cs
+++ b/cs/config/Make.rules.mak.cs
@@ -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/cs/demo/Glacier2/Makefile b/cs/demo/Glacier2/Makefile
index e28638e7782..44a9a509256 100644
--- a/cs/demo/Glacier2/Makefile
+++ b/cs/demo/Glacier2/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/cs/demo/Glacier2/Makefile.mak b/cs/demo/Glacier2/Makefile.mak
index 4c11a1569f1..471f01d5881 100644
--- a/cs/demo/Glacier2/Makefile.mak
+++ b/cs/demo/Glacier2/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/cs/demo/Glacier2/callback/Callback.ice b/cs/demo/Glacier2/callback/Callback.ice
index cf88e72cb89..f6eb62c7fc9 100644
--- a/cs/demo/Glacier2/callback/Callback.ice
+++ b/cs/demo/Glacier2/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/cs/demo/Glacier2/callback/CallbackI.cs b/cs/demo/Glacier2/callback/CallbackI.cs
index 913a66875fd..4d7a5a761a4 100644
--- a/cs/demo/Glacier2/callback/CallbackI.cs
+++ b/cs/demo/Glacier2/callback/CallbackI.cs
@@ -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/cs/demo/Glacier2/callback/CallbackReceiverI.cs b/cs/demo/Glacier2/callback/CallbackReceiverI.cs
index d53ea5d0aa2..8759721cdc2 100644
--- a/cs/demo/Glacier2/callback/CallbackReceiverI.cs
+++ b/cs/demo/Glacier2/callback/CallbackReceiverI.cs
@@ -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/cs/demo/Glacier2/callback/Client.cs b/cs/demo/Glacier2/callback/Client.cs
index 83b8a9c23c2..967925cfb23 100644
--- a/cs/demo/Glacier2/callback/Client.cs
+++ b/cs/demo/Glacier2/callback/Client.cs
@@ -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/cs/demo/Glacier2/callback/Makefile b/cs/demo/Glacier2/callback/Makefile
index 48d50bcf7d9..f1754959f5d 100644
--- a/cs/demo/Glacier2/callback/Makefile
+++ b/cs/demo/Glacier2/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/cs/demo/Glacier2/callback/Makefile.mak b/cs/demo/Glacier2/callback/Makefile.mak
index da2bb30115b..d72fa213a59 100644
--- a/cs/demo/Glacier2/callback/Makefile.mak
+++ b/cs/demo/Glacier2/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/cs/demo/Glacier2/callback/Server.cs b/cs/demo/Glacier2/callback/Server.cs
index a5b67b1ccf5..6ab4c0d6ee5 100644
--- a/cs/demo/Glacier2/callback/Server.cs
+++ b/cs/demo/Glacier2/callback/Server.cs
@@ -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/cs/demo/Glacier2/callback/SessionI.cs b/cs/demo/Glacier2/callback/SessionI.cs
index 3b64a06d564..1f7f0d91abf 100644
--- a/cs/demo/Glacier2/callback/SessionI.cs
+++ b/cs/demo/Glacier2/callback/SessionI.cs
@@ -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/cs/demo/Glacier2/callback/SessionManagerI.cs b/cs/demo/Glacier2/callback/SessionManagerI.cs
index c2d35f0c758..1a03c4f2672 100644
--- a/cs/demo/Glacier2/callback/SessionManagerI.cs
+++ b/cs/demo/Glacier2/callback/SessionManagerI.cs
@@ -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/cs/demo/Glacier2/callback/SessionServer.cs b/cs/demo/Glacier2/callback/SessionServer.cs
index b6118653e7e..e83c5c1709d 100644
--- a/cs/demo/Glacier2/callback/SessionServer.cs
+++ b/cs/demo/Glacier2/callback/SessionServer.cs
@@ -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/cs/demo/Glacier2/callback/expect.py b/cs/demo/Glacier2/callback/expect.py
index e23065dd0d4..a53d2f02678 100755
--- a/cs/demo/Glacier2/callback/expect.py
+++ b/cs/demo/Glacier2/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/cs/demo/Ice/Makefile b/cs/demo/Ice/Makefile
index d1c38550c60..b93cc57ebf6 100644
--- a/cs/demo/Ice/Makefile
+++ b/cs/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.
diff --git a/cs/demo/Ice/Makefile.mak b/cs/demo/Ice/Makefile.mak
index 34742c2437f..764419ea659 100644
--- a/cs/demo/Ice/Makefile.mak
+++ b/cs/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.
diff --git a/cs/demo/Ice/async/Client.cs b/cs/demo/Ice/async/Client.cs
index 1a575c779c8..5edb2cb2c26 100644
--- a/cs/demo/Ice/async/Client.cs
+++ b/cs/demo/Ice/async/Client.cs
@@ -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/cs/demo/Ice/async/Hello.ice b/cs/demo/Ice/async/Hello.ice
index 8eedeac8c76..f3bbe38d5b0 100644
--- a/cs/demo/Ice/async/Hello.ice
+++ b/cs/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/cs/demo/Ice/async/HelloI.cs b/cs/demo/Ice/async/HelloI.cs
index 2e95586c4fc..883ab65c5ea 100644
--- a/cs/demo/Ice/async/HelloI.cs
+++ b/cs/demo/Ice/async/HelloI.cs
@@ -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/cs/demo/Ice/async/Makefile b/cs/demo/Ice/async/Makefile
index e9adbbe8de6..6aadca45f6d 100644
--- a/cs/demo/Ice/async/Makefile
+++ b/cs/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/cs/demo/Ice/async/Makefile.mak b/cs/demo/Ice/async/Makefile.mak
index 5127933b6d4..5459616a6d1 100644
--- a/cs/demo/Ice/async/Makefile.mak
+++ b/cs/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/cs/demo/Ice/async/Server.cs b/cs/demo/Ice/async/Server.cs
index 0c2598bd527..1f8120c7022 100644
--- a/cs/demo/Ice/async/Server.cs
+++ b/cs/demo/Ice/async/Server.cs
@@ -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/cs/demo/Ice/async/WorkQueue.cs b/cs/demo/Ice/async/WorkQueue.cs
index 7ca425f03bd..a7ccc28639b 100644
--- a/cs/demo/Ice/async/WorkQueue.cs
+++ b/cs/demo/Ice/async/WorkQueue.cs
@@ -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/cs/demo/Ice/async/expect.py b/cs/demo/Ice/async/expect.py
index 2ab63f39302..44117631861 100755
--- a/cs/demo/Ice/async/expect.py
+++ b/cs/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/cs/demo/Ice/bidir/Callback.ice b/cs/demo/Ice/bidir/Callback.ice
index 27946b05bf5..e3b812b06f6 100644
--- a/cs/demo/Ice/bidir/Callback.ice
+++ b/cs/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/cs/demo/Ice/bidir/CallbackReceiverI.cs b/cs/demo/Ice/bidir/CallbackReceiverI.cs
index 8ecc18b572a..69cedc9694b 100644
--- a/cs/demo/Ice/bidir/CallbackReceiverI.cs
+++ b/cs/demo/Ice/bidir/CallbackReceiverI.cs
@@ -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/cs/demo/Ice/bidir/CallbackSenderI.cs b/cs/demo/Ice/bidir/CallbackSenderI.cs
index 7d15d1d6e0e..4fa935e9421 100644
--- a/cs/demo/Ice/bidir/CallbackSenderI.cs
+++ b/cs/demo/Ice/bidir/CallbackSenderI.cs
@@ -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/cs/demo/Ice/bidir/Client.cs b/cs/demo/Ice/bidir/Client.cs
index 3785cdb0f5d..34e88766930 100644
--- a/cs/demo/Ice/bidir/Client.cs
+++ b/cs/demo/Ice/bidir/Client.cs
@@ -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/cs/demo/Ice/bidir/Makefile b/cs/demo/Ice/bidir/Makefile
index 60107c1454e..dfffe90cd90 100644
--- a/cs/demo/Ice/bidir/Makefile
+++ b/cs/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/cs/demo/Ice/bidir/Makefile.mak b/cs/demo/Ice/bidir/Makefile.mak
index aefc7275af3..3408aab7feb 100644
--- a/cs/demo/Ice/bidir/Makefile.mak
+++ b/cs/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/cs/demo/Ice/bidir/Server.cs b/cs/demo/Ice/bidir/Server.cs
index 28c17d3fe23..35e6104547b 100644
--- a/cs/demo/Ice/bidir/Server.cs
+++ b/cs/demo/Ice/bidir/Server.cs
@@ -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/cs/demo/Ice/bidir/expect.py b/cs/demo/Ice/bidir/expect.py
index fc5a68abc13..5bf952a33a4 100755
--- a/cs/demo/Ice/bidir/expect.py
+++ b/cs/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/cs/demo/Ice/callback/Callback.ice b/cs/demo/Ice/callback/Callback.ice
index c6c54eea561..464d203ddf9 100644
--- a/cs/demo/Ice/callback/Callback.ice
+++ b/cs/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/cs/demo/Ice/callback/CallbackReceiverI.cs b/cs/demo/Ice/callback/CallbackReceiverI.cs
index c8213112b2a..209936209ed 100644
--- a/cs/demo/Ice/callback/CallbackReceiverI.cs
+++ b/cs/demo/Ice/callback/CallbackReceiverI.cs
@@ -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/cs/demo/Ice/callback/CallbackSenderI.cs b/cs/demo/Ice/callback/CallbackSenderI.cs
index 3905dc6b93f..1760e7e6f6f 100644
--- a/cs/demo/Ice/callback/CallbackSenderI.cs
+++ b/cs/demo/Ice/callback/CallbackSenderI.cs
@@ -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/cs/demo/Ice/callback/Client.cs b/cs/demo/Ice/callback/Client.cs
index cba3d729b23..dcffb2da02e 100644
--- a/cs/demo/Ice/callback/Client.cs
+++ b/cs/demo/Ice/callback/Client.cs
@@ -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/cs/demo/Ice/callback/Makefile b/cs/demo/Ice/callback/Makefile
index 60107c1454e..dfffe90cd90 100644
--- a/cs/demo/Ice/callback/Makefile
+++ b/cs/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/cs/demo/Ice/callback/Makefile.mak b/cs/demo/Ice/callback/Makefile.mak
index aefc7275af3..3408aab7feb 100644
--- a/cs/demo/Ice/callback/Makefile.mak
+++ b/cs/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/cs/demo/Ice/callback/Server.cs b/cs/demo/Ice/callback/Server.cs
index 3e7e2ba37b6..2486ae3cd79 100644
--- a/cs/demo/Ice/callback/Server.cs
+++ b/cs/demo/Ice/callback/Server.cs
@@ -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/cs/demo/Ice/callback/expect.py b/cs/demo/Ice/callback/expect.py
index 25d44386fef..bec3183c3c2 100755
--- a/cs/demo/Ice/callback/expect.py
+++ b/cs/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/cs/demo/Ice/hello/Client.cs b/cs/demo/Ice/hello/Client.cs
index f9231860f80..7a04b10bc85 100644
--- a/cs/demo/Ice/hello/Client.cs
+++ b/cs/demo/Ice/hello/Client.cs
@@ -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/cs/demo/Ice/hello/Hello.ice b/cs/demo/Ice/hello/Hello.ice
index 11b714f01c8..bcaed6ad877 100644
--- a/cs/demo/Ice/hello/Hello.ice
+++ b/cs/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/cs/demo/Ice/hello/HelloI.cs b/cs/demo/Ice/hello/HelloI.cs
index d8d81887dbc..cddcb179b48 100644
--- a/cs/demo/Ice/hello/HelloI.cs
+++ b/cs/demo/Ice/hello/HelloI.cs
@@ -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/cs/demo/Ice/hello/Makefile b/cs/demo/Ice/hello/Makefile
index 104f4842e08..a4d455c43cd 100644
--- a/cs/demo/Ice/hello/Makefile
+++ b/cs/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/cs/demo/Ice/hello/Makefile.mak b/cs/demo/Ice/hello/Makefile.mak
index ab03f8d23d1..2bcc3822683 100644
--- a/cs/demo/Ice/hello/Makefile.mak
+++ b/cs/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/cs/demo/Ice/hello/Server.cs b/cs/demo/Ice/hello/Server.cs
index b4fc2a08f6b..a56e86831b9 100644
--- a/cs/demo/Ice/hello/Server.cs
+++ b/cs/demo/Ice/hello/Server.cs
@@ -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/cs/demo/Ice/hello/config.server b/cs/demo/Ice/hello/config.server
index 20a3db59c30..3b48cfb8442 100644
--- a/cs/demo/Ice/hello/config.server
+++ b/cs/demo/Ice/hello/config.server
@@ -45,7 +45,7 @@ Ice.ACM.Server=10
#IceSSL.Trace.Security=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/cs/demo/Ice/hello/expect.py b/cs/demo/Ice/hello/expect.py
index e780ed0cd48..c2e7d7834b8 100755
--- a/cs/demo/Ice/hello/expect.py
+++ b/cs/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.exe --Ice.PrintAdapterReady')
+server = Util.spawn('server.exe --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
server.expect('.* ready')
-client = Util.spawn('client.exe')
+client = Util.spawn('client.exe --Ice.Warn.Connections=0')
client.expect('.*==>')
hello.run(client, server)
diff --git a/cs/demo/Ice/invoke/Client.cs b/cs/demo/Ice/invoke/Client.cs
index df7ff9b2813..8d58801305c 100644
--- a/cs/demo/Ice/invoke/Client.cs
+++ b/cs/demo/Ice/invoke/Client.cs
@@ -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/cs/demo/Ice/invoke/Makefile b/cs/demo/Ice/invoke/Makefile
index 615ca089a67..9cf20039c86 100644
--- a/cs/demo/Ice/invoke/Makefile
+++ b/cs/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/cs/demo/Ice/invoke/Makefile.mak b/cs/demo/Ice/invoke/Makefile.mak
index 81d943af1a5..955ae86ac3c 100644
--- a/cs/demo/Ice/invoke/Makefile.mak
+++ b/cs/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/cs/demo/Ice/invoke/Printer.ice b/cs/demo/Ice/invoke/Printer.ice
index dbc12f15b46..ed29207f5e0 100644
--- a/cs/demo/Ice/invoke/Printer.ice
+++ b/cs/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/cs/demo/Ice/invoke/PrinterI.cs b/cs/demo/Ice/invoke/PrinterI.cs
index 499a2e8290d..045b2d77eb3 100644
--- a/cs/demo/Ice/invoke/PrinterI.cs
+++ b/cs/demo/Ice/invoke/PrinterI.cs
@@ -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/cs/demo/Ice/invoke/Server.cs b/cs/demo/Ice/invoke/Server.cs
index 670d3bcc048..2b5947bdf48 100644
--- a/cs/demo/Ice/invoke/Server.cs
+++ b/cs/demo/Ice/invoke/Server.cs
@@ -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/cs/demo/Ice/invoke/expect.py b/cs/demo/Ice/invoke/expect.py
index d8e00c9fe46..f0c4a81bc2c 100755
--- a/cs/demo/Ice/invoke/expect.py
+++ b/cs/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/cs/demo/Ice/latency/Client.cs b/cs/demo/Ice/latency/Client.cs
index 93c82db2a11..4ea48c0443e 100644
--- a/cs/demo/Ice/latency/Client.cs
+++ b/cs/demo/Ice/latency/Client.cs
@@ -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/cs/demo/Ice/latency/Latency.ice b/cs/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/cs/demo/Ice/latency/Latency.ice
+++ b/cs/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/cs/demo/Ice/latency/Makefile b/cs/demo/Ice/latency/Makefile
index c806a2aad01..8fd61368ea7 100644
--- a/cs/demo/Ice/latency/Makefile
+++ b/cs/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/cs/demo/Ice/latency/Makefile.mak b/cs/demo/Ice/latency/Makefile.mak
index 919a0c62064..eb93691373b 100644
--- a/cs/demo/Ice/latency/Makefile.mak
+++ b/cs/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/cs/demo/Ice/latency/Server.cs b/cs/demo/Ice/latency/Server.cs
index f97d14586cc..d633645b00f 100644
--- a/cs/demo/Ice/latency/Server.cs
+++ b/cs/demo/Ice/latency/Server.cs
@@ -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/cs/demo/Ice/latency/expect.py b/cs/demo/Ice/latency/expect.py
index 2fa6a30a436..919214ea78c 100755
--- a/cs/demo/Ice/latency/expect.py
+++ b/cs/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/cs/demo/Ice/minimal/Client.cs b/cs/demo/Ice/minimal/Client.cs
index 3c327621d7c..f709226331e 100644
--- a/cs/demo/Ice/minimal/Client.cs
+++ b/cs/demo/Ice/minimal/Client.cs
@@ -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/cs/demo/Ice/minimal/Hello.ice b/cs/demo/Ice/minimal/Hello.ice
index 71cff05a221..6cd2473fc45 100644
--- a/cs/demo/Ice/minimal/Hello.ice
+++ b/cs/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.
diff --git a/cs/demo/Ice/minimal/HelloI.cs b/cs/demo/Ice/minimal/HelloI.cs
index f5f2d32226c..5632b826d72 100644
--- a/cs/demo/Ice/minimal/HelloI.cs
+++ b/cs/demo/Ice/minimal/HelloI.cs
@@ -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/cs/demo/Ice/minimal/Makefile b/cs/demo/Ice/minimal/Makefile
index 104f4842e08..a4d455c43cd 100644
--- a/cs/demo/Ice/minimal/Makefile
+++ b/cs/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/cs/demo/Ice/minimal/Makefile.mak b/cs/demo/Ice/minimal/Makefile.mak
index ab03f8d23d1..2bcc3822683 100644
--- a/cs/demo/Ice/minimal/Makefile.mak
+++ b/cs/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/cs/demo/Ice/minimal/Server.cs b/cs/demo/Ice/minimal/Server.cs
index d0e5066b345..8de5468cdaf 100644
--- a/cs/demo/Ice/minimal/Server.cs
+++ b/cs/demo/Ice/minimal/Server.cs
@@ -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/cs/demo/Ice/minimal/expect.py b/cs/demo/Ice/minimal/expect.py
index ed3da1070de..843d49a9c7d 100755
--- a/cs/demo/Ice/minimal/expect.py
+++ b/cs/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/cs/demo/Ice/multicast/Client.cs b/cs/demo/Ice/multicast/Client.cs
index 952c0a1191e..9014134c6aa 100644
--- a/cs/demo/Ice/multicast/Client.cs
+++ b/cs/demo/Ice/multicast/Client.cs
@@ -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/cs/demo/Ice/multicast/DiscoverI.cs b/cs/demo/Ice/multicast/DiscoverI.cs
index 9450d37f0ef..edc504d9840 100644
--- a/cs/demo/Ice/multicast/DiscoverI.cs
+++ b/cs/demo/Ice/multicast/DiscoverI.cs
@@ -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/cs/demo/Ice/multicast/DiscoverReplyI.cs b/cs/demo/Ice/multicast/DiscoverReplyI.cs
index 96c16eece22..0494eff3f67 100644
--- a/cs/demo/Ice/multicast/DiscoverReplyI.cs
+++ b/cs/demo/Ice/multicast/DiscoverReplyI.cs
@@ -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/cs/demo/Ice/multicast/Discovery.ice b/cs/demo/Ice/multicast/Discovery.ice
index d8beb26a286..4dd25aef7f7 100644
--- a/cs/demo/Ice/multicast/Discovery.ice
+++ b/cs/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/cs/demo/Ice/multicast/Hello.ice b/cs/demo/Ice/multicast/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cs/demo/Ice/multicast/Hello.ice
+++ b/cs/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/cs/demo/Ice/multicast/HelloI.cs b/cs/demo/Ice/multicast/HelloI.cs
index 168c99e8b31..ac8de00ca81 100644
--- a/cs/demo/Ice/multicast/HelloI.cs
+++ b/cs/demo/Ice/multicast/HelloI.cs
@@ -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/cs/demo/Ice/multicast/Makefile b/cs/demo/Ice/multicast/Makefile
index 4a5a8f02943..3e8b04a1046 100644
--- a/cs/demo/Ice/multicast/Makefile
+++ b/cs/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/cs/demo/Ice/multicast/Makefile.mak b/cs/demo/Ice/multicast/Makefile.mak
index de092b0bdfe..ff896cd76ba 100644
--- a/cs/demo/Ice/multicast/Makefile.mak
+++ b/cs/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/cs/demo/Ice/multicast/Server.cs b/cs/demo/Ice/multicast/Server.cs
index a48abea9d84..e343979992c 100644
--- a/cs/demo/Ice/multicast/Server.cs
+++ b/cs/demo/Ice/multicast/Server.cs
@@ -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/cs/demo/Ice/multicast/expect.py b/cs/demo/Ice/multicast/expect.py
index 577f56e3a07..17c39d8c28f 100755
--- a/cs/demo/Ice/multicast/expect.py
+++ b/cs/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/cs/demo/Ice/nested/Client.cs b/cs/demo/Ice/nested/Client.cs
index 2618b5925a8..18e59d45bd8 100644
--- a/cs/demo/Ice/nested/Client.cs
+++ b/cs/demo/Ice/nested/Client.cs
@@ -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/cs/demo/Ice/nested/Makefile b/cs/demo/Ice/nested/Makefile
index 6b97222248a..b5ee4f5f9cc 100644
--- a/cs/demo/Ice/nested/Makefile
+++ b/cs/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/cs/demo/Ice/nested/Makefile.mak b/cs/demo/Ice/nested/Makefile.mak
index 20b6ebc4507..a8fcb289a6b 100644
--- a/cs/demo/Ice/nested/Makefile.mak
+++ b/cs/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/cs/demo/Ice/nested/Nested.ice b/cs/demo/Ice/nested/Nested.ice
index fd5138e14c1..bd245a16432 100644
--- a/cs/demo/Ice/nested/Nested.ice
+++ b/cs/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/cs/demo/Ice/nested/NestedI.cs b/cs/demo/Ice/nested/NestedI.cs
index 9bddb75cb5e..39d25eee6ce 100644
--- a/cs/demo/Ice/nested/NestedI.cs
+++ b/cs/demo/Ice/nested/NestedI.cs
@@ -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/cs/demo/Ice/nested/Server.cs b/cs/demo/Ice/nested/Server.cs
index 33f1f1013bd..6f046b30a5b 100644
--- a/cs/demo/Ice/nested/Server.cs
+++ b/cs/demo/Ice/nested/Server.cs
@@ -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/cs/demo/Ice/nested/expect.py b/cs/demo/Ice/nested/expect.py
index a6234bd6d26..65e1c7f9c12 100755
--- a/cs/demo/Ice/nested/expect.py
+++ b/cs/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/cs/demo/Ice/session/Client.cs b/cs/demo/Ice/session/Client.cs
index bb6178d4df5..840894adf79 100644
--- a/cs/demo/Ice/session/Client.cs
+++ b/cs/demo/Ice/session/Client.cs
@@ -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/cs/demo/Ice/session/HelloI.cs b/cs/demo/Ice/session/HelloI.cs
index 68534728ae0..6a651a78097 100644
--- a/cs/demo/Ice/session/HelloI.cs
+++ b/cs/demo/Ice/session/HelloI.cs
@@ -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/cs/demo/Ice/session/Makefile b/cs/demo/Ice/session/Makefile
index 21c0bfb3a8b..121971b23a9 100644
--- a/cs/demo/Ice/session/Makefile
+++ b/cs/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/cs/demo/Ice/session/Makefile.mak b/cs/demo/Ice/session/Makefile.mak
index fdcc053095c..b1bd3368c78 100644
--- a/cs/demo/Ice/session/Makefile.mak
+++ b/cs/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/cs/demo/Ice/session/ReapThread.cs b/cs/demo/Ice/session/ReapThread.cs
index 587700eeb2a..4a6999cc63a 100644
--- a/cs/demo/Ice/session/ReapThread.cs
+++ b/cs/demo/Ice/session/ReapThread.cs
@@ -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/cs/demo/Ice/session/Server.cs b/cs/demo/Ice/session/Server.cs
index 00c16e9af6f..47e38a7751b 100644
--- a/cs/demo/Ice/session/Server.cs
+++ b/cs/demo/Ice/session/Server.cs
@@ -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/cs/demo/Ice/session/Session.ice b/cs/demo/Ice/session/Session.ice
index 1ef9d6ece54..dc1ca46fb15 100644
--- a/cs/demo/Ice/session/Session.ice
+++ b/cs/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/cs/demo/Ice/session/SessionFactoryI.cs b/cs/demo/Ice/session/SessionFactoryI.cs
index f2eaf0ad1b9..7c27fe44864 100644
--- a/cs/demo/Ice/session/SessionFactoryI.cs
+++ b/cs/demo/Ice/session/SessionFactoryI.cs
@@ -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/cs/demo/Ice/session/SessionI.cs b/cs/demo/Ice/session/SessionI.cs
index a2317744215..83fb2d18948 100644
--- a/cs/demo/Ice/session/SessionI.cs
+++ b/cs/demo/Ice/session/SessionI.cs
@@ -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/cs/demo/Ice/session/expect.py b/cs/demo/Ice/session/expect.py
index 7e9e539d4fc..4fb207c3f51 100755
--- a/cs/demo/Ice/session/expect.py
+++ b/cs/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/cs/demo/Ice/throughput/Client.cs b/cs/demo/Ice/throughput/Client.cs
index d80de5d2d6a..175c54f31a9 100644
--- a/cs/demo/Ice/throughput/Client.cs
+++ b/cs/demo/Ice/throughput/Client.cs
@@ -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/cs/demo/Ice/throughput/Makefile b/cs/demo/Ice/throughput/Makefile
index feab964643c..d776c7940fb 100644
--- a/cs/demo/Ice/throughput/Makefile
+++ b/cs/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/cs/demo/Ice/throughput/Makefile.mak b/cs/demo/Ice/throughput/Makefile.mak
index cd8894a8019..aea5dd03b4b 100644
--- a/cs/demo/Ice/throughput/Makefile.mak
+++ b/cs/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/cs/demo/Ice/throughput/Server.cs b/cs/demo/Ice/throughput/Server.cs
index 3ed018453de..e8f8b13e302 100644
--- a/cs/demo/Ice/throughput/Server.cs
+++ b/cs/demo/Ice/throughput/Server.cs
@@ -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/cs/demo/Ice/throughput/Throughput.ice b/cs/demo/Ice/throughput/Throughput.ice
index 9fd7decd49d..f61512e4e7a 100644
--- a/cs/demo/Ice/throughput/Throughput.ice
+++ b/cs/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/cs/demo/Ice/throughput/ThroughputI.cs b/cs/demo/Ice/throughput/ThroughputI.cs
index fefb7270f94..0233eec9828 100644
--- a/cs/demo/Ice/throughput/ThroughputI.cs
+++ b/cs/demo/Ice/throughput/ThroughputI.cs
@@ -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/cs/demo/Ice/throughput/expect.py b/cs/demo/Ice/throughput/expect.py
index 999c6030e70..9f39f2f84ee 100755
--- a/cs/demo/Ice/throughput/expect.py
+++ b/cs/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/cs/demo/Ice/value/Client.cs b/cs/demo/Ice/value/Client.cs
index 7ed8f13dd8b..b844a560793 100644
--- a/cs/demo/Ice/value/Client.cs
+++ b/cs/demo/Ice/value/Client.cs
@@ -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/cs/demo/Ice/value/DerivedPrinterI.cs b/cs/demo/Ice/value/DerivedPrinterI.cs
index fac004f0a66..aa0181c2c61 100644
--- a/cs/demo/Ice/value/DerivedPrinterI.cs
+++ b/cs/demo/Ice/value/DerivedPrinterI.cs
@@ -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/cs/demo/Ice/value/InitialI.cs b/cs/demo/Ice/value/InitialI.cs
index 7590ec7a870..04f7cdf6d01 100644
--- a/cs/demo/Ice/value/InitialI.cs
+++ b/cs/demo/Ice/value/InitialI.cs
@@ -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.
@@ -9,7 +9,7 @@
using Demo;
-class InitialI : Initial
+class InitialI : InitialDisp_
{
internal InitialI(Ice.ObjectAdapter adapter)
{
diff --git a/cs/demo/Ice/value/Makefile b/cs/demo/Ice/value/Makefile
index 553371e8cc5..b1c65cdde62 100644
--- a/cs/demo/Ice/value/Makefile
+++ b/cs/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/cs/demo/Ice/value/Makefile.mak b/cs/demo/Ice/value/Makefile.mak
index ab44e1aa810..f6afbfa1abc 100644
--- a/cs/demo/Ice/value/Makefile.mak
+++ b/cs/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/cs/demo/Ice/value/ObjectFactory.cs b/cs/demo/Ice/value/ObjectFactory.cs
index 6e23e1b9da2..465dd26a0bb 100644
--- a/cs/demo/Ice/value/ObjectFactory.cs
+++ b/cs/demo/Ice/value/ObjectFactory.cs
@@ -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/cs/demo/Ice/value/PrinterI.cs b/cs/demo/Ice/value/PrinterI.cs
index f255e4e84f3..c7df5b2695d 100644
--- a/cs/demo/Ice/value/PrinterI.cs
+++ b/cs/demo/Ice/value/PrinterI.cs
@@ -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/cs/demo/Ice/value/Server.cs b/cs/demo/Ice/value/Server.cs
index e77bad8cdd0..255641b98d3 100644
--- a/cs/demo/Ice/value/Server.cs
+++ b/cs/demo/Ice/value/Server.cs
@@ -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/cs/demo/Ice/value/Value.ice b/cs/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/cs/demo/Ice/value/Value.ice
+++ b/cs/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/cs/demo/Ice/value/expect.py b/cs/demo/Ice/value/expect.py
index af4fbe0dbb1..3361e5347ec 100755
--- a/cs/demo/Ice/value/expect.py
+++ b/cs/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.
diff --git a/cs/demo/IceBox/Makefile b/cs/demo/IceBox/Makefile
index 33dab2dddeb..086c3d5c4f9 100644
--- a/cs/demo/IceBox/Makefile
+++ b/cs/demo/IceBox/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/cs/demo/IceBox/Makefile.mak b/cs/demo/IceBox/Makefile.mak
index 32f6232c8dc..6c791995fec 100644
--- a/cs/demo/IceBox/Makefile.mak
+++ b/cs/demo/IceBox/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/cs/demo/IceBox/hello/Client.cs b/cs/demo/IceBox/hello/Client.cs
index dc15991287f..0e3faddc3c4 100644
--- a/cs/demo/IceBox/hello/Client.cs
+++ b/cs/demo/IceBox/hello/Client.cs
@@ -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/cs/demo/IceBox/hello/Hello.ice b/cs/demo/IceBox/hello/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/cs/demo/IceBox/hello/Hello.ice
+++ b/cs/demo/IceBox/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();
+ idempotent void sayHello();
};
};
diff --git a/cs/demo/IceBox/hello/HelloI.cs b/cs/demo/IceBox/hello/HelloI.cs
index f5f2d32226c..5632b826d72 100644
--- a/cs/demo/IceBox/hello/HelloI.cs
+++ b/cs/demo/IceBox/hello/HelloI.cs
@@ -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/cs/demo/IceBox/hello/HelloServiceI.cs b/cs/demo/IceBox/hello/HelloServiceI.cs
index ff62dacd0b4..c4b9909e394 100644
--- a/cs/demo/IceBox/hello/HelloServiceI.cs
+++ b/cs/demo/IceBox/hello/HelloServiceI.cs
@@ -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/cs/demo/IceBox/hello/Makefile b/cs/demo/IceBox/hello/Makefile
index 44b148345ae..e758e7cccce 100644
--- a/cs/demo/IceBox/hello/Makefile
+++ b/cs/demo/IceBox/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/cs/demo/IceBox/hello/Makefile.mak b/cs/demo/IceBox/hello/Makefile.mak
index 56f08be46ab..aee1b8accc9 100644
--- a/cs/demo/IceBox/hello/Makefile.mak
+++ b/cs/demo/IceBox/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/cs/demo/IceBox/hello/config.client b/cs/demo/IceBox/hello/config.client
index 20928ca0f08..520c6a99180 100644
--- a/cs/demo/IceBox/hello/config.client
+++ b/cs/demo/IceBox/hello/config.client
@@ -28,7 +28,7 @@ Ice.Warn.Connections=1
#Ice.Trace.Protocol=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/cs/demo/IceBox/hello/config.service b/cs/demo/IceBox/hello/config.service
index c4fee179c20..99d2850903a 100644
--- a/cs/demo/IceBox/hello/config.service
+++ b/cs/demo/IceBox/hello/config.service
@@ -28,7 +28,7 @@ Ice.Warn.Connections=1
#Ice.Trace.Protocol=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/cs/demo/IceBox/hello/expect.py b/cs/demo/IceBox/hello/expect.py
index 69f86af5867..f1e8b663c64 100755
--- a/cs/demo/IceBox/hello/expect.py
+++ b/cs/demo/IceBox/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.
diff --git a/cs/demo/IceGrid/Makefile b/cs/demo/IceGrid/Makefile
index 683693a6a46..6bc01df61df 100644
--- a/cs/demo/IceGrid/Makefile
+++ b/cs/demo/IceGrid/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/cs/demo/IceGrid/Makefile.mak b/cs/demo/IceGrid/Makefile.mak
index 49f036e3c22..d8f1a58ccb3 100644
--- a/cs/demo/IceGrid/Makefile.mak
+++ b/cs/demo/IceGrid/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/cs/demo/IceGrid/icebox/Client.cs b/cs/demo/IceGrid/icebox/Client.cs
index 53c695150af..828d009b479 100644
--- a/cs/demo/IceGrid/icebox/Client.cs
+++ b/cs/demo/IceGrid/icebox/Client.cs
@@ -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/cs/demo/IceGrid/icebox/Hello.ice b/cs/demo/IceGrid/icebox/Hello.ice
index ac9d5f5283e..6cd2473fc45 100644
--- a/cs/demo/IceGrid/icebox/Hello.ice
+++ b/cs/demo/IceGrid/icebox/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
{
- void sayHello();
+ idempotent void sayHello();
};
};
diff --git a/cs/demo/IceGrid/icebox/HelloI.cs b/cs/demo/IceGrid/icebox/HelloI.cs
index 4f16fcb065c..3c97f54e8e1 100644
--- a/cs/demo/IceGrid/icebox/HelloI.cs
+++ b/cs/demo/IceGrid/icebox/HelloI.cs
@@ -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/cs/demo/IceGrid/icebox/HelloServiceI.cs b/cs/demo/IceGrid/icebox/HelloServiceI.cs
index 5e66db63e28..713b1006c8e 100644
--- a/cs/demo/IceGrid/icebox/HelloServiceI.cs
+++ b/cs/demo/IceGrid/icebox/HelloServiceI.cs
@@ -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/cs/demo/IceGrid/icebox/Makefile b/cs/demo/IceGrid/icebox/Makefile
index d267db8cb3b..baa0304b097 100644
--- a/cs/demo/IceGrid/icebox/Makefile
+++ b/cs/demo/IceGrid/icebox/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/cs/demo/IceGrid/icebox/Makefile.mak b/cs/demo/IceGrid/icebox/Makefile.mak
index aa28962817d..e9bde2b7a7b 100644
--- a/cs/demo/IceGrid/icebox/Makefile.mak
+++ b/cs/demo/IceGrid/icebox/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/cs/demo/IceGrid/icebox/expect.py b/cs/demo/IceGrid/icebox/expect.py
index 16eb6d9f4ae..8279842fbcd 100755
--- a/cs/demo/IceGrid/icebox/expect.py
+++ b/cs/demo/IceGrid/icebox/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/cs/demo/IceGrid/simple/Client.cs b/cs/demo/IceGrid/simple/Client.cs
index 972462c5933..42814eb5e20 100644
--- a/cs/demo/IceGrid/simple/Client.cs
+++ b/cs/demo/IceGrid/simple/Client.cs
@@ -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/cs/demo/IceGrid/simple/Hello.ice b/cs/demo/IceGrid/simple/Hello.ice
index b30e06e02fc..4b123a06908 100644
--- a/cs/demo/IceGrid/simple/Hello.ice
+++ b/cs/demo/IceGrid/simple/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/cs/demo/IceGrid/simple/HelloI.cs b/cs/demo/IceGrid/simple/HelloI.cs
index 3af6d4ae94a..fea6dc79b5a 100644
--- a/cs/demo/IceGrid/simple/HelloI.cs
+++ b/cs/demo/IceGrid/simple/HelloI.cs
@@ -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/cs/demo/IceGrid/simple/Makefile b/cs/demo/IceGrid/simple/Makefile
index 1e888d3148c..09ccfe3a5ea 100644
--- a/cs/demo/IceGrid/simple/Makefile
+++ b/cs/demo/IceGrid/simple/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/cs/demo/IceGrid/simple/Makefile.mak b/cs/demo/IceGrid/simple/Makefile.mak
index 8d35c0a2694..3d8fe59d50f 100644
--- a/cs/demo/IceGrid/simple/Makefile.mak
+++ b/cs/demo/IceGrid/simple/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/cs/demo/IceGrid/simple/Server.cs b/cs/demo/IceGrid/simple/Server.cs
index 180f393576d..847a16aa143 100644
--- a/cs/demo/IceGrid/simple/Server.cs
+++ b/cs/demo/IceGrid/simple/Server.cs
@@ -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/cs/demo/IceGrid/simple/application.xml b/cs/demo/IceGrid/simple/application.xml
index cc429d7559b..9eb6536ebbd 100644
--- a/cs/demo/IceGrid/simple/application.xml
+++ b/cs/demo/IceGrid/simple/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/cs/demo/IceGrid/simple/application_with_replication.xml b/cs/demo/IceGrid/simple/application_with_replication.xml
index 37cc420e9a7..cd4cc8eaf96 100644
--- a/cs/demo/IceGrid/simple/application_with_replication.xml
+++ b/cs/demo/IceGrid/simple/application_with_replication.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/cs/demo/IceGrid/simple/application_with_template.xml b/cs/demo/IceGrid/simple/application_with_template.xml
index 353c687e45e..bc060686fc5 100644
--- a/cs/demo/IceGrid/simple/application_with_template.xml
+++ b/cs/demo/IceGrid/simple/application_with_template.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/cs/demo/IceGrid/simple/expect.py b/cs/demo/IceGrid/simple/expect.py
index ff5fe100126..e34075f8fd8 100755
--- a/cs/demo/IceGrid/simple/expect.py
+++ b/cs/demo/IceGrid/simple/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/cs/demo/IceStorm/Makefile b/cs/demo/IceStorm/Makefile
index 08042421ebb..ec64e964675 100644
--- a/cs/demo/IceStorm/Makefile
+++ b/cs/demo/IceStorm/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/cs/demo/IceStorm/Makefile.mak b/cs/demo/IceStorm/Makefile.mak
index ce11fd0b46b..1a6122e7b5d 100644
--- a/cs/demo/IceStorm/Makefile.mak
+++ b/cs/demo/IceStorm/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/cs/demo/IceStorm/clock/Clock.ice b/cs/demo/IceStorm/clock/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/cs/demo/IceStorm/clock/Clock.ice
+++ b/cs/demo/IceStorm/clock/Clock.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/cs/demo/IceStorm/clock/Makefile b/cs/demo/IceStorm/clock/Makefile
index a33a0dd5c2c..784784c3d31 100644
--- a/cs/demo/IceStorm/clock/Makefile
+++ b/cs/demo/IceStorm/clock/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/cs/demo/IceStorm/clock/Makefile.mak b/cs/demo/IceStorm/clock/Makefile.mak
index 92e6d8c9da3..3fb24d466c9 100644
--- a/cs/demo/IceStorm/clock/Makefile.mak
+++ b/cs/demo/IceStorm/clock/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/cs/demo/IceStorm/clock/Publisher.cs b/cs/demo/IceStorm/clock/Publisher.cs
index 1d9669f2bfd..666bbb067ab 100644
--- a/cs/demo/IceStorm/clock/Publisher.cs
+++ b/cs/demo/IceStorm/clock/Publisher.cs
@@ -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/cs/demo/IceStorm/clock/Subscriber.cs b/cs/demo/IceStorm/clock/Subscriber.cs
index 776dc6506d3..f70bc65f94c 100644
--- a/cs/demo/IceStorm/clock/Subscriber.cs
+++ b/cs/demo/IceStorm/clock/Subscriber.cs
@@ -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/cs/demo/IceStorm/clock/expect.py b/cs/demo/IceStorm/clock/expect.py
index 817a1d6608b..b82d88ee384 100755
--- a/cs/demo/IceStorm/clock/expect.py
+++ b/cs/demo/IceStorm/clock/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/cs/demo/Makefile b/cs/demo/Makefile
index 29f1f8cc901..1545cc3d43c 100644
--- a/cs/demo/Makefile
+++ b/cs/demo/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/cs/demo/Makefile.mak b/cs/demo/Makefile.mak
index 369caad1e63..0736ded2c41 100644
--- a/cs/demo/Makefile.mak
+++ b/cs/demo/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/cs/demo/book/Makefile b/cs/demo/book/Makefile
index 776af6877e8..073fdc73637 100644
--- a/cs/demo/book/Makefile
+++ b/cs/demo/book/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/cs/demo/book/Makefile.mak b/cs/demo/book/Makefile.mak
index b115e2254b1..9b3857ece50 100644
--- a/cs/demo/book/Makefile.mak
+++ b/cs/demo/book/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/cs/demo/book/lifecycle/Client.cs b/cs/demo/book/lifecycle/Client.cs
index b5a395a7a81..2921a4c347a 100644
--- a/cs/demo/book/lifecycle/Client.cs
+++ b/cs/demo/book/lifecycle/Client.cs
@@ -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/cs/demo/book/lifecycle/DirectoryI.cs b/cs/demo/book/lifecycle/DirectoryI.cs
index fe3f5c7395e..72c23b543d7 100644
--- a/cs/demo/book/lifecycle/DirectoryI.cs
+++ b/cs/demo/book/lifecycle/DirectoryI.cs
@@ -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/cs/demo/book/lifecycle/FileI.cs b/cs/demo/book/lifecycle/FileI.cs
index 0c0b4e6cfe5..ff0e5c45c31 100644
--- a/cs/demo/book/lifecycle/FileI.cs
+++ b/cs/demo/book/lifecycle/FileI.cs
@@ -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/cs/demo/book/lifecycle/Grammar.cs b/cs/demo/book/lifecycle/Grammar.cs
index f92da889fda..73bd2877776 100644
--- a/cs/demo/book/lifecycle/Grammar.cs
+++ b/cs/demo/book/lifecycle/Grammar.cs
@@ -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/cs/demo/book/lifecycle/Makefile b/cs/demo/book/lifecycle/Makefile
index 43457829e35..1fff20884be 100644
--- a/cs/demo/book/lifecycle/Makefile
+++ b/cs/demo/book/lifecycle/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/cs/demo/book/lifecycle/Makefile.mak b/cs/demo/book/lifecycle/Makefile.mak
index 3f08ee5a7ca..bdb49d313b9 100644
--- a/cs/demo/book/lifecycle/Makefile.mak
+++ b/cs/demo/book/lifecycle/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/cs/demo/book/lifecycle/NodeI.cs b/cs/demo/book/lifecycle/NodeI.cs
index a3b9a86b5e6..0e6c55c593a 100644
--- a/cs/demo/book/lifecycle/NodeI.cs
+++ b/cs/demo/book/lifecycle/NodeI.cs
@@ -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/cs/demo/book/lifecycle/Parser.cs b/cs/demo/book/lifecycle/Parser.cs
index db4bb423467..e16a51fa987 100644
--- a/cs/demo/book/lifecycle/Parser.cs
+++ b/cs/demo/book/lifecycle/Parser.cs
@@ -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/cs/demo/book/lifecycle/Scanner.cs b/cs/demo/book/lifecycle/Scanner.cs
index 99e92d04a24..8562648dd66 100644
--- a/cs/demo/book/lifecycle/Scanner.cs
+++ b/cs/demo/book/lifecycle/Scanner.cs
@@ -1,7 +1,7 @@
using System;
// **********************************************************************
//
-// 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/cs/demo/book/lifecycle/Server.cs b/cs/demo/book/lifecycle/Server.cs
index d43aead275f..428a178f7da 100644
--- a/cs/demo/book/lifecycle/Server.cs
+++ b/cs/demo/book/lifecycle/Server.cs
@@ -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/cs/demo/book/lifecycle/Token.cs b/cs/demo/book/lifecycle/Token.cs
index dca73502e53..4a87ef2a6ec 100644
--- a/cs/demo/book/lifecycle/Token.cs
+++ b/cs/demo/book/lifecycle/Token.cs
@@ -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/cs/demo/book/lifecycle/expect.py b/cs/demo/book/lifecycle/expect.py
index a2b7f6ea187..e91039c0def 100755
--- a/cs/demo/book/lifecycle/expect.py
+++ b/cs/demo/book/lifecycle/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/cs/demo/book/printer/Client.cs b/cs/demo/book/printer/Client.cs
index cb3b75b8c96..af3cf8e820d 100644
--- a/cs/demo/book/printer/Client.cs
+++ b/cs/demo/book/printer/Client.cs
@@ -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/cs/demo/book/printer/Makefile b/cs/demo/book/printer/Makefile
index 6d2a46d208e..2a2942b9592 100644
--- a/cs/demo/book/printer/Makefile
+++ b/cs/demo/book/printer/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/cs/demo/book/printer/Makefile.mak b/cs/demo/book/printer/Makefile.mak
index 5169a38ae30..58928cc3e5a 100644
--- a/cs/demo/book/printer/Makefile.mak
+++ b/cs/demo/book/printer/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/cs/demo/book/printer/Printer.ice b/cs/demo/book/printer/Printer.ice
index a1c7ce62497..b393d1bce0f 100644
--- a/cs/demo/book/printer/Printer.ice
+++ b/cs/demo/book/printer/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/cs/demo/book/printer/Server.cs b/cs/demo/book/printer/Server.cs
index 1665e5facba..42e3c16e591 100644
--- a/cs/demo/book/printer/Server.cs
+++ b/cs/demo/book/printer/Server.cs
@@ -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/cs/demo/book/printer/expect.py b/cs/demo/book/printer/expect.py
index 0b4c50ed1a8..f3bd4a54f7c 100755
--- a/cs/demo/book/printer/expect.py
+++ b/cs/demo/book/printer/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/cs/demo/book/simple_filesystem/Client.cs b/cs/demo/book/simple_filesystem/Client.cs
index 3471231e235..c3e7777665a 100644
--- a/cs/demo/book/simple_filesystem/Client.cs
+++ b/cs/demo/book/simple_filesystem/Client.cs
@@ -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/cs/demo/book/simple_filesystem/DirectoryI.cs b/cs/demo/book/simple_filesystem/DirectoryI.cs
index 21f797304cd..64152cf0515 100644
--- a/cs/demo/book/simple_filesystem/DirectoryI.cs
+++ b/cs/demo/book/simple_filesystem/DirectoryI.cs
@@ -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/cs/demo/book/simple_filesystem/FileI.cs b/cs/demo/book/simple_filesystem/FileI.cs
index f5cd63f7bb7..f23ea61d9ac 100644
--- a/cs/demo/book/simple_filesystem/FileI.cs
+++ b/cs/demo/book/simple_filesystem/FileI.cs
@@ -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/cs/demo/book/simple_filesystem/Filesystem.ice b/cs/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100644
--- a/cs/demo/book/simple_filesystem/Filesystem.ice
+++ b/cs/demo/book/simple_filesystem/Filesystem.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/cs/demo/book/simple_filesystem/Makefile b/cs/demo/book/simple_filesystem/Makefile
index 20456fa323d..d6eb6d75fd5 100644
--- a/cs/demo/book/simple_filesystem/Makefile
+++ b/cs/demo/book/simple_filesystem/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/cs/demo/book/simple_filesystem/Makefile.mak b/cs/demo/book/simple_filesystem/Makefile.mak
index 5198a95422d..945d43185cd 100644
--- a/cs/demo/book/simple_filesystem/Makefile.mak
+++ b/cs/demo/book/simple_filesystem/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/cs/demo/book/simple_filesystem/Server.cs b/cs/demo/book/simple_filesystem/Server.cs
index 847cb80d2d2..d9fdba70f12 100644
--- a/cs/demo/book/simple_filesystem/Server.cs
+++ b/cs/demo/book/simple_filesystem/Server.cs
@@ -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/cs/demo/book/simple_filesystem/expect.py b/cs/demo/book/simple_filesystem/expect.py
index 10c947e61a6..afa35753f1d 100755
--- a/cs/demo/book/simple_filesystem/expect.py
+++ b/cs/demo/book/simple_filesystem/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/cs/lib/pkgconfig/Glacier2.pc b/cs/lib/pkgconfig/Glacier2.pc
index 89eee8c4f58..f3174ea3bdf 100644
--- a/cs/lib/pkgconfig/Glacier2.pc
+++ b/cs/lib/pkgconfig/Glacier2.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = Glacier2
diff --git a/cs/lib/pkgconfig/Ice.pc b/cs/lib/pkgconfig/Ice.pc
index 83b78a7932f..2883c30b337 100644
--- a/cs/lib/pkgconfig/Ice.pc
+++ b/cs/lib/pkgconfig/Ice.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = Ice
diff --git a/cs/lib/pkgconfig/IceBox.pc b/cs/lib/pkgconfig/IceBox.pc
index df792c9c635..49ada9ab609 100644
--- a/cs/lib/pkgconfig/IceBox.pc
+++ b/cs/lib/pkgconfig/IceBox.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = IceBox
diff --git a/cs/lib/pkgconfig/IceGrid.pc b/cs/lib/pkgconfig/IceGrid.pc
index 1da36becba9..7de2b7dee6e 100644
--- a/cs/lib/pkgconfig/IceGrid.pc
+++ b/cs/lib/pkgconfig/IceGrid.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = IceGrid
diff --git a/cs/lib/pkgconfig/IcePatch2.pc b/cs/lib/pkgconfig/IcePatch2.pc
index 62d638c233c..b10238a1d84 100644
--- a/cs/lib/pkgconfig/IcePatch2.pc
+++ b/cs/lib/pkgconfig/IcePatch2.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = IcePatch2
diff --git a/cs/lib/pkgconfig/IceStorm.pc b/cs/lib/pkgconfig/IceStorm.pc
index 6c05de93996..6570ab44d3e 100644
--- a/cs/lib/pkgconfig/IceStorm.pc
+++ b/cs/lib/pkgconfig/IceStorm.pc
@@ -1,4 +1,4 @@
-version = 3.3.0
+version = 3.3.1
mono_root = /usr
name = IceStorm
diff --git a/cs/makedist.py b/cs/makedist.py
index 681fec9233a..2b3ed2d125f 100755
--- a/cs/makedist.py
+++ b/cs/makedist.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/cs/src/Glacier2/AssemblyInfo.cs b/cs/src/Glacier2/AssemblyInfo.cs
index 570ee831cc7..2394b1ccc26 100644
--- a/cs/src/Glacier2/AssemblyInfo.cs
+++ b/cs/src/Glacier2/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("Glacier2 for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/Glacier2/Makefile b/cs/src/Glacier2/Makefile
index adb8a055d39..2891802e33b 100644
--- a/cs/src/Glacier2/Makefile
+++ b/cs/src/Glacier2/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/cs/src/Glacier2/Makefile.mak b/cs/src/Glacier2/Makefile.mak
index fcb7ae06d04..b75a8d282e6 100644
--- a/cs/src/Glacier2/Makefile.mak
+++ b/cs/src/Glacier2/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/cs/src/Ice/Acceptor.cs b/cs/src/Ice/Acceptor.cs
index 8f9dc7dd667..b6289480d02 100644
--- a/cs/src/Ice/Acceptor.cs
+++ b/cs/src/Ice/Acceptor.cs
@@ -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,6 @@ namespace IceInternal
public interface Acceptor
{
- Socket fd();
void close();
void listen();
IAsyncResult beginAccept(AsyncCallback callback, object state);
diff --git a/cs/src/Ice/Application.cs b/cs/src/Ice/Application.cs
index de15935bf6f..9ce47f6fb05 100644
--- a/cs/src/Ice/Application.cs
+++ b/cs/src/Ice/Application.cs
@@ -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/cs/src/Ice/Arrays.cs b/cs/src/Ice/Arrays.cs
index 8117f1bfc6b..f76f71f640c 100644
--- a/cs/src/Ice/Arrays.cs
+++ b/cs/src/Ice/Arrays.cs
@@ -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/cs/src/Ice/AssemblyInfo.cs b/cs/src/Ice/AssemblyInfo.cs
index 6ae97bf0758..9fd787d33a6 100644
--- a/cs/src/Ice/AssemblyInfo.cs
+++ b/cs/src/Ice/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("Ice for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/Ice/AssemblyUtil.cs b/cs/src/Ice/AssemblyUtil.cs
index 2d511f1eb7d..5687a1cb844 100644
--- a/cs/src/Ice/AssemblyUtil.cs
+++ b/cs/src/Ice/AssemblyUtil.cs
@@ -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.
@@ -131,7 +131,7 @@ namespace IceInternal
//
// Make sure that all assemblies that are referenced by this process
// are actually loaded. This is necessary so we can use reflection
- // on any type in any assembly (because the type we are after will
+ // on any type in any assembly because the type we are after will
// most likely not be in the current assembly and, worse, may be
// in an assembly that has not been loaded yet. (Type.GetType()
// is no good because it looks only in the calling object's assembly
@@ -164,9 +164,16 @@ namespace IceInternal
{
if(!_loadedAssemblies.Contains(name.FullName))
{
- Assembly ra = Assembly.Load(name);
- _loadedAssemblies[ra.FullName] = ra;
- loadReferencedAssemblies(ra);
+ try
+ {
+ Assembly ra = Assembly.Load(name);
+ _loadedAssemblies[ra.FullName] = ra;
+ loadReferencedAssemblies(ra);
+ }
+ catch(System.Exception)
+ {
+ // Ignore assemblies that cannot be loaded.
+ }
}
}
}
diff --git a/cs/src/Ice/AsyncIOThread.cs b/cs/src/Ice/AsyncIOThread.cs
new file mode 100644
index 00000000000..5cbcd3181e9
--- /dev/null
+++ b/cs/src/Ice/AsyncIOThread.cs
@@ -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.
+//
+// **********************************************************************
+
+namespace IceInternal
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Diagnostics;
+ using System.Net;
+ using System.Threading;
+
+ public class AsyncIOThread
+ {
+ internal AsyncIOThread(Instance instance)
+ {
+ _instance = instance;
+
+ _thread = new HelperThread(this);
+ _thread.Start();
+ }
+
+ public void queue(AsyncCallback callback)
+ {
+ lock(this)
+ {
+ Debug.Assert(!_destroyed);
+ _queue.AddLast(callback);
+ Monitor.Pulse(this);
+ }
+ }
+
+ public void destroy()
+ {
+ lock(this)
+ {
+ Debug.Assert(!_destroyed);
+ _destroyed = true;
+ Monitor.Pulse(this);
+ }
+ }
+
+ public void joinWithThread()
+ {
+ if(_thread != null)
+ {
+ _thread.Join();
+ }
+ }
+
+ public void run()
+ {
+ LinkedList<AsyncCallback> queue = new LinkedList<AsyncCallback>();
+ while(true)
+ {
+ lock(this)
+ {
+ if(_destroyed && _queue.Count == 0)
+ {
+ break;
+ }
+
+ while(!_destroyed && _queue.Count == 0)
+ {
+ Monitor.Wait(this);
+ }
+
+ LinkedList<AsyncCallback> tmp = queue;
+ queue = _queue;
+ _queue = tmp;
+ }
+
+ foreach(AsyncCallback cb in queue)
+ {
+ try
+ {
+ cb(null);
+ }
+ catch(Ice.LocalException ex)
+ {
+ string s = "exception in asynchronous IO thread:\n" + ex;
+ _instance.initializationData().logger.error(s);
+ }
+ catch(System.Exception ex)
+ {
+ string s = "unknown exception in asynchronous IO thread:\n" + ex;
+ _instance.initializationData().logger.error(s);
+ }
+ }
+ queue.Clear();
+ }
+ }
+
+ private Instance _instance;
+ private bool _destroyed;
+ private LinkedList<AsyncCallback> _queue = new LinkedList<AsyncCallback>();
+
+ private sealed class HelperThread
+ {
+ internal HelperThread(AsyncIOThread asyncIOThread)
+ {
+ _asyncIOThread = asyncIOThread;
+ _name = _asyncIOThread._instance.initializationData().properties.getProperty("Ice.ProgramName");
+ if(_name.Length > 0)
+ {
+ _name += "-";
+ }
+ _name += "Ice.AsyncIOThread";
+ }
+
+ public void Join()
+ {
+ _thread.Join();
+ }
+
+ public void Start()
+ {
+ _thread = new Thread(new ThreadStart(Run));
+ _thread.IsBackground = true;
+ _thread.Name = _name;
+ _thread.Start();
+ }
+
+ public void Run()
+ {
+ _asyncIOThread.run();
+ }
+
+ private AsyncIOThread _asyncIOThread;
+ private string _name;
+ private Thread _thread;
+ }
+
+ private HelperThread _thread;
+ }
+}
diff --git a/cs/src/Ice/Base64.cs b/cs/src/Ice/Base64.cs
index 535a54d8f45..e141c21354d 100644
--- a/cs/src/Ice/Base64.cs
+++ b/cs/src/Ice/Base64.cs
@@ -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/cs/src/Ice/BasicStream.cs b/cs/src/Ice/BasicStream.cs
index e5603043645..f42018d2523 100644
--- a/cs/src/Ice/BasicStream.cs
+++ b/cs/src/Ice/BasicStream.cs
@@ -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.
@@ -129,6 +129,8 @@ namespace IceInternal
{
_objectList.Clear();
}
+
+ _sliceObjects = true;
}
public virtual Instance instance()
diff --git a/cs/src/Ice/Buffer.cs b/cs/src/Ice/Buffer.cs
index d5da57e98a0..3756d3848f7 100644
--- a/cs/src/Ice/Buffer.cs
+++ b/cs/src/Ice/Buffer.cs
@@ -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/cs/src/Ice/ByteBuffer.cs b/cs/src/Ice/ByteBuffer.cs
index 595b802db9c..95bc8f35e3a 100644
--- a/cs/src/Ice/ByteBuffer.cs
+++ b/cs/src/Ice/ByteBuffer.cs
@@ -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/cs/src/Ice/CollectionBase.cs b/cs/src/Ice/CollectionBase.cs
index 0f5bd70c623..87c81763f92 100644
--- a/cs/src/Ice/CollectionBase.cs
+++ b/cs/src/Ice/CollectionBase.cs
@@ -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/cs/src/Ice/Collections.cs b/cs/src/Ice/Collections.cs
index 3444e3d92d4..e3f4abc90d9 100644
--- a/cs/src/Ice/Collections.cs
+++ b/cs/src/Ice/Collections.cs
@@ -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/cs/src/Ice/CommunicatorI.cs b/cs/src/Ice/CommunicatorI.cs
index f8410c51337..65b6ba63a14 100644
--- a/cs/src/Ice/CommunicatorI.cs
+++ b/cs/src/Ice/CommunicatorI.cs
@@ -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/cs/src/Ice/Compare.cs b/cs/src/Ice/Compare.cs
index b2ba0f90d86..840fe97e665 100644
--- a/cs/src/Ice/Compare.cs
+++ b/cs/src/Ice/Compare.cs
@@ -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/cs/src/Ice/ConnectRequestHandler.cs b/cs/src/Ice/ConnectRequestHandler.cs
index dd5047689e1..6e5c762c07d 100644
--- a/cs/src/Ice/ConnectRequestHandler.cs
+++ b/cs/src/Ice/ConnectRequestHandler.cs
@@ -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/cs/src/Ice/ConnectionFactory.cs b/cs/src/Ice/ConnectionFactory.cs
index 59bf686f7a2..309c2598d34 100644
--- a/cs/src/Ice/ConnectionFactory.cs
+++ b/cs/src/Ice/ConnectionFactory.cs
@@ -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.
@@ -1621,9 +1621,8 @@ namespace IceInternal
warning(ex);
}
}
-
- bool b = System.Threading.ThreadPool.QueueUserWorkItem(acceptAsync);
- Debug.Assert(b);
+
+ _instance.asyncIOThread().queue(acceptAsync);
}
}
catch(Ice.SocketException ex)
@@ -1636,8 +1635,7 @@ namespace IceInternal
//
// Ignore socket exceptions and start another accept.
//
- bool b = System.Threading.ThreadPool.QueueUserWorkItem(acceptAsync);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(acceptAsync);
}
catch(Ice.LocalException ex)
{
@@ -1652,8 +1650,7 @@ namespace IceInternal
//
// Start another accept.
//
- bool b = System.Threading.ThreadPool.QueueUserWorkItem(acceptAsync);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(acceptAsync);
}
}
@@ -1690,8 +1687,7 @@ namespace IceInternal
if(!_accepting)
{
_accepting = true;
- bool b = System.Threading.ThreadPool.QueueUserWorkItem(acceptAsync);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(acceptAsync);
}
}
diff --git a/cs/src/Ice/ConnectionI.cs b/cs/src/Ice/ConnectionI.cs
index 655127e9a4a..021313db534 100644
--- a/cs/src/Ice/ConnectionI.cs
+++ b/cs/src/Ice/ConnectionI.cs
@@ -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.
@@ -40,7 +40,8 @@ namespace Ice
//
// Use asynchronous I/O. We cannot begin an asynchronous I/O request from
- // this thread if a callback is provided, so we queue a work item.
+ // this thread if a callback is provided, so we queue it on the async IO
+ // thread.
//
if(callback == null)
{
@@ -48,8 +49,7 @@ namespace Ice
}
else
{
- bool b = System.Threading.ThreadPool.UnsafeQueueUserWorkItem(initializeAsync, null);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(initializeAsync);
_startCallback = callback;
return;
}
@@ -1301,8 +1301,8 @@ namespace Ice
private void initializeAsync(object state)
{
//
- // This method is called from the .NET thread pool via QueueUserWorkItem, and as an
- // asynchronous I/O callback.
+ // This method is called from the async IO thread, and as
+ // an asynchronous I/O callback.
//
IAsyncResult result = (IAsyncResult)state;
@@ -1371,8 +1371,8 @@ namespace Ice
private void validateAsync(object state)
{
//
- // This method is called from the .NET thread pool via QueueUserWorkItem, and as an
- // asynchronous I/O callback.
+ // This method is called from the async IO thread, and as
+ // an asynchronous I/O callback.
//
IAsyncResult result = (IAsyncResult)state;
@@ -1590,11 +1590,10 @@ namespace Ice
//
// It is not safe to begin an asynchronous I/O request in this thread: if the
- // thread terminates, it also terminates the I/O request. Therefore, we must
- // schedule a work item.
+ // thread terminates, it also terminates the I/O request. Therefore, we call
+ // it from the async IO thread.
//
- bool b = System.Threading.ThreadPool.UnsafeQueueUserWorkItem(writeAsync, null);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(writeAsync);
return false;
}
@@ -1676,14 +1675,14 @@ namespace Ice
private void writeAsync(object state)
{
//
- // This method is called from the .NET thread pool via QueueUserWorkItem, and as an
- // asynchronous I/O callback.
+ // This method is called from the async IO thread, and as
+ // an asynchronous I/O callback.
//
IAsyncResult result = (IAsyncResult)state;
//
- // This callback is scheduled with the work queue when we need to begin a new asynchronous I/O
- // operation from a safe thread (i.e., a thread that will not terminate while the I/O request
+ // This callback is scheduled with the async IO thread when we need to begin a new asynchronous
+ // I/O operation from a safe thread (i.e., a thread that will not terminate while the I/O request
// is pending). In this case, the argument is null.
//
// This callback is also invoked when an I/O request completes, in which case the result
@@ -1953,8 +1952,7 @@ namespace Ice
//
// Schedule a work item to start a new read operation from a safe thread.
//
- bool b = System.Threading.ThreadPool.UnsafeQueueUserWorkItem(readAsync, null);
- Debug.Assert(b);
+ _instance.asyncIOThread().queue(readAsync);
}
private void readAsync(object state)
@@ -1965,8 +1963,7 @@ namespace Ice
// occurs.
//
// Usually this method is invoked as an AsyncCallback, i.e., when an asynchronous I/O
- // operation completes. It can also be invoked via the QueueUserWorkItem method in the
- // .NET thread pool.
+ // operation completes. It can also be invoked from the async IO thread.
//
// Return immediately if called as the result of a read operation completing synchronously.
//
@@ -1976,12 +1973,6 @@ namespace Ice
return;
}
- //
- // The assertion below must be done after the check above as readAsync can also be called
- // by the Ice thread pool threads if the call to beginRead completes synchronously.
- //
- Debug.Assert(Thread.CurrentThread.IsThreadPoolThread); // Must be invoked from a thread pool thread.
-
try
{
IceInternal.BasicStream stream = null;
@@ -1997,6 +1988,7 @@ namespace Ice
}
Debug.Assert(_transceiver != null);
+ bool parseHeader = _stream.isEmpty() || _stream.pos() < IceInternal.Protocol.headerSize;
//
// Complete an asynchronous read operation if necessary. This may raise a SocketException
@@ -2051,7 +2043,7 @@ namespace Ice
// When we've read enough to fill out the header, we need to validate it. The stream
// will be enlarged if necessary to contain the entire message.
//
- if(pos == IceInternal.Protocol.headerSize)
+ if(parseHeader && pos >= IceInternal.Protocol.headerSize)
{
validateHeader(_stream);
@@ -2067,8 +2059,6 @@ namespace Ice
_logger.warning("DatagramLimitException: maximum size of " + _stream.pos() +
" exceeded");
}
- _stream.pos(0);
- _stream.resize(0, true);
throw new Ice.DatagramLimitException();
}
}
@@ -2150,6 +2140,8 @@ namespace Ice
//
// Expected. Restart the read.
//
+ _stream.pos(0);
+ _stream.resize(IceInternal.Protocol.headerSize, true); // Make room for the next header.
readAsync(null);
}
catch(IceInternal.ReadAbortedException)
@@ -2176,6 +2168,8 @@ namespace Ice
//
// Restart the read.
//
+ _stream.pos(0);
+ _stream.resize(IceInternal.Protocol.headerSize, true); // Make room for the next header.
readAsync(null);
}
else
diff --git a/cs/src/Ice/ConnectionMonitor.cs b/cs/src/Ice/ConnectionMonitor.cs
index 67d43d73201..4bfeab6f561 100644
--- a/cs/src/Ice/ConnectionMonitor.cs
+++ b/cs/src/Ice/ConnectionMonitor.cs
@@ -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/cs/src/Ice/ConnectionRequestHandler.cs b/cs/src/Ice/ConnectionRequestHandler.cs
index 0987d17b0eb..10670dabf00 100644
--- a/cs/src/Ice/ConnectionRequestHandler.cs
+++ b/cs/src/Ice/ConnectionRequestHandler.cs
@@ -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/cs/src/Ice/Connector.cs b/cs/src/Ice/Connector.cs
index df25c94f727..419439ad9c3 100644
--- a/cs/src/Ice/Connector.cs
+++ b/cs/src/Ice/Connector.cs
@@ -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/cs/src/Ice/DefaultsAndOverrides.cs b/cs/src/Ice/DefaultsAndOverrides.cs
index 54f9b590c9c..3a99e355859 100644
--- a/cs/src/Ice/DefaultsAndOverrides.cs
+++ b/cs/src/Ice/DefaultsAndOverrides.cs
@@ -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/cs/src/Ice/DictionaryBase.cs b/cs/src/Ice/DictionaryBase.cs
index 706feeff827..a2880f2c983 100644
--- a/cs/src/Ice/DictionaryBase.cs
+++ b/cs/src/Ice/DictionaryBase.cs
@@ -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/cs/src/Ice/Direct.cs b/cs/src/Ice/Direct.cs
index 9706ebdefab..8e39b78eb74 100644
--- a/cs/src/Ice/Direct.cs
+++ b/cs/src/Ice/Direct.cs
@@ -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/cs/src/Ice/DispatchInterceptor.cs b/cs/src/Ice/DispatchInterceptor.cs
index 03ac935aa96..563f284d4bf 100644
--- a/cs/src/Ice/DispatchInterceptor.cs
+++ b/cs/src/Ice/DispatchInterceptor.cs
@@ -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/cs/src/Ice/EndpointFactory.cs b/cs/src/Ice/EndpointFactory.cs
index b4944b7caff..834616ec87a 100644
--- a/cs/src/Ice/EndpointFactory.cs
+++ b/cs/src/Ice/EndpointFactory.cs
@@ -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/cs/src/Ice/EndpointFactoryManager.cs b/cs/src/Ice/EndpointFactoryManager.cs
index 9b7064570d3..8c3d568820d 100644
--- a/cs/src/Ice/EndpointFactoryManager.cs
+++ b/cs/src/Ice/EndpointFactoryManager.cs
@@ -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/cs/src/Ice/EndpointHostResolver.cs b/cs/src/Ice/EndpointHostResolver.cs
index 3a713422909..4049b01f0ce 100644
--- a/cs/src/Ice/EndpointHostResolver.cs
+++ b/cs/src/Ice/EndpointHostResolver.cs
@@ -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/cs/src/Ice/EndpointI.cs b/cs/src/Ice/EndpointI.cs
index 9dd87061fba..5d9e5aa3a4f 100644
--- a/cs/src/Ice/EndpointI.cs
+++ b/cs/src/Ice/EndpointI.cs
@@ -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/cs/src/Ice/Exception.cs b/cs/src/Ice/Exception.cs
index de1b806fbcd..f8283c29dec 100644
--- a/cs/src/Ice/Exception.cs
+++ b/cs/src/Ice/Exception.cs
@@ -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/cs/src/Ice/ImplicitContextI.cs b/cs/src/Ice/ImplicitContextI.cs
index 9e7dc645d5f..0002dab4f10 100644
--- a/cs/src/Ice/ImplicitContextI.cs
+++ b/cs/src/Ice/ImplicitContextI.cs
@@ -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/cs/src/Ice/Incoming.cs b/cs/src/Ice/Incoming.cs
index 6139c0eaeef..680d9b9774e 100644
--- a/cs/src/Ice/Incoming.cs
+++ b/cs/src/Ice/Incoming.cs
@@ -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/cs/src/Ice/IncomingAsync.cs b/cs/src/Ice/IncomingAsync.cs
index c522b0c0c4d..e9633f7d847 100644
--- a/cs/src/Ice/IncomingAsync.cs
+++ b/cs/src/Ice/IncomingAsync.cs
@@ -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/cs/src/Ice/Instance.cs b/cs/src/Ice/Instance.cs
index 2c9012ea81c..e849b09a7e6 100644
--- a/cs/src/Ice/Instance.cs
+++ b/cs/src/Ice/Instance.cs
@@ -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.
@@ -198,6 +198,25 @@ namespace IceInternal
}
}
+ public AsyncIOThread
+ asyncIOThread()
+ {
+ lock(this)
+ {
+ if(_state == StateDestroyed)
+ {
+ throw new Ice.CommunicatorDestroyedException();
+ }
+
+ if(_asyncIOThread == null) // Lazy initialization.
+ {
+ _asyncIOThread = new AsyncIOThread(this);
+ }
+
+ return _asyncIOThread;
+ }
+ }
+
public EndpointHostResolver endpointHostResolver()
{
lock(this)
@@ -216,6 +235,20 @@ namespace IceInternal
}
}
+ public RetryQueue
+ retryQueue()
+ {
+ lock(this)
+ {
+ if(_state == StateDestroyed)
+ {
+ throw new Ice.CommunicatorDestroyedException();
+ }
+
+ return _retryQueue;
+ }
+ }
+
public Timer
timer()
{
@@ -584,7 +617,7 @@ namespace IceInternal
setLogger(Ice.Logger logger)
{
//
- // No locking, as it can only be called during plugin loading
+ // No locking, as it can only be called during plug-in loading
//
_initData.logger = logger;
}
@@ -703,7 +736,7 @@ namespace IceInternal
_routerManager = new RouterManager();
- _locatorManager = new LocatorManager();
+ _locatorManager = new LocatorManager(_initData.properties);
_referenceFactory = new ReferenceFactory(this, communicator);
@@ -742,7 +775,9 @@ namespace IceInternal
_servantFactoryManager = new ObjectFactoryManager();
_objectAdapterFactory = new ObjectAdapterFactory(this, communicator);
-
+
+ _retryQueue = new RetryQueue(this);
+
string[] facetFilter = _initData.properties.getPropertyAsList("Ice.Admin.Facets");
if(facetFilter.Length > 0)
{
@@ -807,7 +842,9 @@ namespace IceInternal
}
//
- // Start connection monitor if necessary.
+ // Start connection monitor if necessary. Set the check interval to
+ // 1/10 of the ACM timeout with a minmal value of 1 second and a
+ // maximum value of 5 minutes.
//
int interval = 0;
if(_clientACM > 0 && _serverACM > 0)
@@ -829,6 +866,10 @@ namespace IceInternal
{
interval = _serverACM;
}
+ if(interval > 0)
+ {
+ interval = System.Math.Min(300, System.Math.Max(1, (int)interval / 10));
+ }
interval = _initData.properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
if(interval > 0)
{
@@ -886,16 +927,22 @@ namespace IceInternal
_outgoingConnectionFactory.waitUntilFinished();
}
+ if(_retryQueue != null)
+ {
+ _retryQueue.destroy();
+ }
+
ThreadPool serverThreadPool = null;
ThreadPool clientThreadPool = null;
+ AsyncIOThread asyncIOThread = null;
EndpointHostResolver endpointHostResolver = null;
lock(this)
{
_objectAdapterFactory = null;
-
_outgoingConnectionFactory = null;
-
+ _retryQueue = null;
+
if(_connectionMonitor != null)
{
_connectionMonitor.destroy();
@@ -916,6 +963,13 @@ namespace IceInternal
_clientThreadPool = null;
}
+ if(_asyncIOThread != null)
+ {
+ _asyncIOThread.destroy();
+ asyncIOThread = _asyncIOThread;
+ _asyncIOThread = null;
+ }
+
if(_endpointHostResolver != null)
{
_endpointHostResolver.destroy();
@@ -986,6 +1040,10 @@ namespace IceInternal
{
serverThreadPool.joinWithAllThreads();
}
+ if(asyncIOThread != null)
+ {
+ asyncIOThread.joinWithThread();
+ }
if(endpointHostResolver != null)
{
endpointHostResolver.joinWithThread();
@@ -1030,8 +1088,10 @@ namespace IceInternal
private int _protocolSupport;
private ThreadPool _clientThreadPool;
private ThreadPool _serverThreadPool;
+ private AsyncIOThread _asyncIOThread;
private EndpointHostResolver _endpointHostResolver;
private Timer _timer;
+ private RetryQueue _retryQueue;
private bool _background;
private EndpointFactoryManager _endpointFactoryManager;
private Ice.PluginManager _pluginManager;
diff --git a/cs/src/Ice/LinkedList.cs b/cs/src/Ice/LinkedList.cs
index 0cd84098312..6b62f1de7b7 100644
--- a/cs/src/Ice/LinkedList.cs
+++ b/cs/src/Ice/LinkedList.cs
@@ -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/cs/src/Ice/LocalObject.cs b/cs/src/Ice/LocalObject.cs
index e08c9c1b58f..efbf28bfca0 100644
--- a/cs/src/Ice/LocalObject.cs
+++ b/cs/src/Ice/LocalObject.cs
@@ -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/cs/src/Ice/LocatorInfo.cs b/cs/src/Ice/LocatorInfo.cs
index 7e62c4d0da3..ed89f032a76 100644
--- a/cs/src/Ice/LocatorInfo.cs
+++ b/cs/src/Ice/LocatorInfo.cs
@@ -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.
@@ -8,7 +8,9 @@
// **********************************************************************
using System.Collections;
+using System.Collections.Generic;
using System.Diagnostics;
+using System.Threading;
namespace IceInternal
{
@@ -20,352 +22,502 @@ namespace IceInternal
void setException(Ice.LocalException ex);
}
- internal LocatorInfo(Ice.LocatorPrx locator, LocatorTable table)
+ private class RequestCallback
{
- _locator = locator;
- _table = table;
- }
-
- public void destroy()
- {
- lock(this)
+ public void
+ response(LocatorInfo locatorInfo, Ice.ObjectPrx proxy)
{
- _locatorRegistry = null;
- _table.clear();
- }
- }
-
- public override bool Equals(object obj)
- {
- if(object.ReferenceEquals(this, obj))
- {
- return true;
- }
-
- LocatorInfo rhs = obj as LocatorInfo;
- return rhs == null ? false : _locator.Equals(rhs._locator);
- }
+ EndpointI[] endpoints = null;
+ if(proxy != null)
+ {
+ Reference r = ((Ice.ObjectPrxHelperBase)proxy).reference__();
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
+ }
+ else if(_ref.isWellKnown() && !r.isWellKnown())
+ {
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ locatorInfo.getEndpoints(r, _ref, _ttl, _callback);
+ return;
+ }
+ }
- public override int GetHashCode()
- {
- return _locator.GetHashCode();
- }
-
- public Ice.LocatorPrx getLocator()
- {
- //
- // No synchronization necessary, _locator is immutable.
- //
- return _locator;
- }
+ if(_ref.getInstance().traceLevels().location >= 1)
+ {
+ locatorInfo.getEndpointsTrace(_ref, endpoints, false);
+ }
+ if(_callback != null)
+ {
+ _callback.setEndpoints(endpoints == null ? new EndpointI[0] : endpoints, false);
+ }
+ }
- public Ice.LocatorRegistryPrx getLocatorRegistry()
- {
- lock(this)
+ public void
+ exception(LocatorInfo locatorInfo, Ice.Exception exc)
{
- if(_locatorRegistry == null) // Lazy initialization
+ try
{
- _locatorRegistry = _locator.getRegistry();
-
- //
- // The locator registry can't be located.
- //
- _locatorRegistry = Ice.LocatorRegistryPrxHelper.uncheckedCast(_locatorRegistry.ice_locator(null));
+ locatorInfo.getEndpointsException(_ref, exc); // This throws.
+ }
+ catch(Ice.LocalException ex)
+ {
+ if(_callback != null)
+ {
+ _callback.setException(ex);
+ }
}
-
- return _locatorRegistry;
}
- }
- public EndpointI[] getEndpoints(Reference @ref, int ttl, out bool cached)
- {
- Debug.Assert(@ref.isIndirect());
-
- EndpointI[] endpoints = null;
- Ice.ObjectPrx obj = null;
- cached = true;
- string adapterId = @ref.getAdapterId();
- Ice.Identity identity = @ref.getIdentity();
+ public
+ RequestCallback(Reference @ref, int ttl, GetEndpointsCallback cb)
+ {
+ _ref = @ref;
+ _ttl = ttl;
+ _callback = cb;
+ }
- try
+ readonly Reference _ref;
+ readonly int _ttl;
+ readonly GetEndpointsCallback _callback;
+ };
+
+ private abstract class Request
+ {
+ public void
+ addCallback(Reference @ref, Reference wellKnownRef, int ttl, GetEndpointsCallback cb)
{
- if(!@ref.isWellKnown())
+ lock(this)
{
- endpoints = _table.getAdapterEndpoints(adapterId, ttl);
- if(endpoints == null)
+ RequestCallback callback = new RequestCallback(@ref, ttl, cb);
+ if(_response)
{
- cached = false;
-
- if(@ref.getInstance().traceLevels().location >= 1)
+ callback.response(_locatorInfo, _proxy);
+ }
+ else if(_exception != null)
+ {
+ callback.exception(_locatorInfo, _exception);
+ }
+ else
+ {
+ _callbacks.Add(callback);
+ if(wellKnownRef != null)
{
- System.Text.StringBuilder s = new System.Text.StringBuilder();
- s.Append("searching for adapter by id\n");
- s.Append("adapter = " + adapterId);
- @ref.getInstance().initializationData().logger.trace(
- @ref.getInstance().traceLevels().locationCat, s.ToString());
+ // This request is to resolve the endpoints of a cached well-known object ref
+ _wellKnownRefs.Add(wellKnownRef);
}
-
- //
- // Search the adapter in the location service if we didn't
- // find it in the cache.
- //
- obj = _locator.findAdapterById(adapterId);
- if(obj != null)
+ if(!_sent)
{
- endpoints = ((Ice.ObjectPrxHelperBase)obj).reference__().getEndpoints();
-
- if(endpoints != null && endpoints.Length > 0)
- {
- _table.addAdapterEndpoints(adapterId, endpoints);
- }
+ _sent = true;
+ send(true);
}
}
}
- else
+ }
+
+ public EndpointI[]
+ getEndpoints(Reference @ref, Reference wellKnownRef, int ttl, out bool cached)
+ {
+ lock(this)
{
- bool objectCached = true;
- obj = _table.getProxy(identity, ttl);
- if(obj == null)
+ if(!_response || _exception == null)
{
- objectCached = false;
-
- if(@ref.getInstance().traceLevels().location >= 1)
+ if(wellKnownRef != null)
{
- System.Text.StringBuilder s = new System.Text.StringBuilder();
- s.Append("searching for object by id\n");
- s.Append("object = " + @ref.getInstance().identityToString(identity));
- @ref.getInstance().initializationData().logger.trace(
- @ref.getInstance().traceLevels().locationCat, s.ToString());
+ // This request is to resolve the endpoints of a cached well-known object ref
+ _wellKnownRefs.Add(wellKnownRef);
+ }
+ if(!_sent)
+ {
+ _sent = true;
+ send(true);
+ }
+
+ while(!_response && _exception == null)
+ {
+ Monitor.Wait(this);
}
-
- obj = _locator.findObjectById(identity);
}
-
- bool endpointsCached = true;
- if(obj != null)
+
+ if(_exception != null)
+ {
+ _locatorInfo.getEndpointsException(@ref, _exception); // This throws.
+ }
+
+ Debug.Assert(_response);
+ EndpointI[] endpoints = null;
+ if(_proxy != null)
{
- Reference r = ((Ice.ObjectPrxHelperBase)obj).reference__();
+ Reference r = ((Ice.ObjectPrxHelperBase)_proxy).reference__();
if(!r.isIndirect())
{
- endpointsCached = false;
endpoints = r.getEndpoints();
}
- else if(!r.isWellKnown())
+ else if(@ref.isWellKnown() && !r.isWellKnown())
{
- endpoints = getEndpoints(r, ttl, out endpointsCached);
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ return _locatorInfo.getEndpoints(r, @ref, ttl, out cached);
}
}
-
- if(!objectCached && endpoints != null && endpoints.Length > 0)
+
+ cached = false;
+ if(_ref.getInstance().traceLevels().location >= 1)
{
- _table.addProxy(identity, obj);
+ _locatorInfo.getEndpointsTrace(@ref, endpoints, false);
}
-
- cached = objectCached || endpointsCached;
+ return endpoints == null ? new EndpointI[0] : endpoints;
}
}
- catch(System.Exception ex)
+
+ public Request(LocatorInfo locatorInfo, Reference @ref)
{
- getEndpointsException(@ref, ex);
+ _locatorInfo = locatorInfo;
+ _ref = @ref;
+ _sent = false;
+ _response = false;
}
- if(@ref.getInstance().traceLevels().location >= 1)
- {
- getEndpointsTrace(@ref, endpoints, cached);
- }
-
- return endpoints == null ? new EndpointI[0] : endpoints;
- }
-
- private class AdapterCallback : Ice.AMI_Locator_findAdapterById
- {
- internal AdapterCallback(LocatorInfo info, Reference @ref, int ttl, GetEndpointsCallback callback)
+ public void
+ response(Ice.ObjectPrx proxy)
{
- _info = info;
- _ref = @ref;
- _ttl = ttl;
- _callback = callback;
+ lock(this)
+ {
+ _locatorInfo.finishRequest(_ref, _wellKnownRefs, proxy, false);
+ _response = true;
+ _proxy = proxy;
+ foreach(RequestCallback callback in _callbacks)
+ {
+ callback.response(_locatorInfo, proxy);
+ }
+ Monitor.PulseAll(this);
+ }
}
-
- public override void ice_response(Ice.ObjectPrx obj)
+
+ public void
+ exception(Ice.Exception ex)
{
- EndpointI[] endpoints = null;
- if(obj != null)
+ if(ex is Ice.CollocationOptimizationException)
+ {
+ send(false); // Use synchronous collocation optimized locator request instead.
+ return;
+ }
+
+ lock(this)
{
- endpoints = ((Ice.ObjectPrxHelperBase)obj).reference__().getEndpoints();
- if(endpoints.Length > 0)
+ _locatorInfo.finishRequest(_ref, _wellKnownRefs, null, ex is Ice.UserException);
+ _exception = ex;
+ foreach(RequestCallback callback in _callbacks)
{
- _info._table.addAdapterEndpoints(_ref.getAdapterId(), endpoints);
+ callback.exception(_locatorInfo, ex);
}
+ Monitor.PulseAll(this);
}
+ }
- if(_ref.getInstance().traceLevels().location >= 1)
+ protected abstract void send(bool async);
+
+ readonly protected LocatorInfo _locatorInfo;
+ readonly protected Reference _ref;
+
+ private List<RequestCallback> _callbacks = new List<RequestCallback>();
+ private List<Reference> _wellKnownRefs = new List<Reference>();
+ private bool _sent;
+ private bool _response;
+ private Ice.ObjectPrx _proxy;
+ private Ice.Exception _exception;
+ };
+
+ private class ObjectRequest : Request
+ {
+ private class AMICallback : Ice.AMI_Locator_findObjectById
+ {
+ public AMICallback(Request request)
{
- _info.getEndpointsTrace(_ref, endpoints, false);
+ _request = request;
}
- if(endpoints == null)
+ override public void
+ ice_response(Ice.ObjectPrx proxy)
{
- _callback.setEndpoints(new EndpointI[0], false);
+ _request.response(proxy);
}
- else
+
+ override public void
+ ice_exception(Ice.Exception ex)
{
- _callback.setEndpoints(endpoints, false);
+ _request.exception(ex);
}
+
+ private readonly Request _request;
}
- public override void ice_exception(Ice.Exception ex)
+ public ObjectRequest(LocatorInfo locatorInfo, Reference @ref) : base(locatorInfo, @ref)
{
- if(ex is Ice.CollocationOptimizationException)
+ }
+
+ override protected void
+ send(bool async)
+ {
+ try
{
- try
+ if(async)
{
- bool cached;
- _callback.setEndpoints(_info.getEndpoints(_ref, _ttl, out cached), cached);
+ _locatorInfo.getLocator().findObjectById_async(new AMICallback(this), _ref.getIdentity());
}
- catch(Ice.LocalException e)
+ else
{
- _callback.setException(e);
+ response(_locatorInfo.getLocator().findObjectById(_ref.getIdentity()));
}
}
- else
+ catch(Ice.Exception ex)
{
- _info.getEndpointsException(_ref, ex, _callback);
+ exception(ex);
}
}
-
- private LocatorInfo _info;
- private Reference _ref;
- private int _ttl;
- private GetEndpointsCallback _callback;
}
- private class ObjectCallback : Ice.AMI_Locator_findObjectById
+ private class AdapterRequest : Request
{
- internal ObjectCallback(LocatorInfo info, Reference @ref, int ttl, GetEndpointsCallback callback)
+ private class AMICallback : Ice.AMI_Locator_findAdapterById
{
- _info = info;
- _ref = @ref;
- _ttl = ttl;
- _callback = callback;
+ public AMICallback(Request request)
+ {
+ _request = request;
+ }
+
+ override public void
+ ice_response(Ice.ObjectPrx proxy)
+ {
+ _request.response(proxy);
+ }
+
+ override public void
+ ice_exception(Ice.Exception ex)
+ {
+ _request.exception(ex);
+ }
+
+ private readonly Request _request;
}
- public override void ice_response(Ice.ObjectPrx obj)
+ public AdapterRequest(LocatorInfo locatorInfo, Reference @ref) : base(locatorInfo, @ref)
{
- _info.getWellKnownObjectEndpoints(_ref, obj, _ttl, false, _callback);
}
- public override void ice_exception(Ice.Exception ex)
+ override protected void
+ send(bool async)
{
- if(ex is Ice.CollocationOptimizationException)
+ try
{
- try
+ if(async)
{
- bool cached;
- _callback.setEndpoints(_info.getEndpoints(_ref, _ttl, out cached), cached);
+ _locatorInfo.getLocator().findAdapterById_async(new AMICallback(this), _ref.getAdapterId());
}
- catch(Ice.LocalException e)
+ else
{
- _callback.setException(e);
+ response(_locatorInfo.getLocator().findAdapterById(_ref.getAdapterId()));
}
}
- else
+ catch(Ice.Exception ex)
{
- _info.getEndpointsException(_ref, ex, _callback);
+ exception(ex);
}
}
+ }
+
+ internal LocatorInfo(Ice.LocatorPrx locator, LocatorTable table, bool background)
+ {
+ _locator = locator;
+ _table = table;
+ _background = background;
+ }
+
+ public void destroy()
+ {
+ lock(this)
+ {
+ _locatorRegistry = null;
+ _table.clear();
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if(object.ReferenceEquals(this, obj))
+ {
+ return true;
+ }
- private LocatorInfo _info;
- private Reference _ref;
- private int _ttl;
- private GetEndpointsCallback _callback;
+ LocatorInfo rhs = obj as LocatorInfo;
+ return rhs == null ? false : _locator.Equals(rhs._locator);
}
- public void getEndpoints(Reference @ref, int ttl, GetEndpointsCallback callback)
+ public override int GetHashCode()
{
- Debug.Assert(@ref.isIndirect());
+ return _locator.GetHashCode();
+ }
+
+ public Ice.LocatorPrx getLocator()
+ {
+ //
+ // No synchronization necessary, _locator is immutable.
+ //
+ return _locator;
+ }
- string adapterId = @ref.getAdapterId();
- Ice.Identity identity = @ref.getIdentity();
- Instance instance = @ref.getInstance();
- if(!@ref.isWellKnown())
+ public Ice.LocatorRegistryPrx getLocatorRegistry()
+ {
+ lock(this)
{
- EndpointI[] endpoints = _table.getAdapterEndpoints(adapterId, ttl);
- if(endpoints == null)
+ if(_locatorRegistry == null) // Lazy initialization
{
- if(instance.traceLevels().location >= 1)
- {
- System.Text.StringBuilder s = new System.Text.StringBuilder();
- s.Append("searching for adapter by id\n");
- s.Append("adapter = " + adapterId);
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
- }
-
+ _locatorRegistry = _locator.getRegistry();
+
//
- // Search the adapter in the location service if we didn't
- // find it in the cache.
+ // The locator registry can't be located.
//
- _locator.findAdapterById_async(new AdapterCallback(this, @ref, ttl, callback), adapterId);
- return;
+ _locatorRegistry = Ice.LocatorRegistryPrxHelper.uncheckedCast(_locatorRegistry.ice_locator(null));
}
- else
+
+ return _locatorRegistry;
+ }
+ }
+
+ public EndpointI[]
+ getEndpoints(Reference @ref, int ttl, out bool cached)
+ {
+ return getEndpoints(@ref, null, ttl, out cached);
+ }
+
+ public EndpointI[]
+ getEndpoints(Reference @ref, Reference wellKnownRef, int ttl, out bool cached)
+ {
+ Debug.Assert(@ref.isIndirect());
+ EndpointI[] endpoints = null;
+ cached = false;
+ if(!@ref.isWellKnown())
+ {
+ endpoints = _table.getAdapterEndpoints(@ref.getAdapterId(), ttl, out cached);
+ if(!cached)
{
- if(instance.traceLevels().location >= 1)
+ if(_background && endpoints != null)
{
- getEndpointsTrace(@ref, endpoints, true);
+ getAdapterRequest(@ref).addCallback(@ref, wellKnownRef, ttl, null);
+ }
+ else
+ {
+ return getAdapterRequest(@ref).getEndpoints(@ref, wellKnownRef, ttl, out cached);
}
- callback.setEndpoints(endpoints, true);
- return;
}
}
else
{
- Ice.ObjectPrx obj = _table.getProxy(identity, ttl);
- if(obj == null)
+ Reference r = _table.getObjectReference(@ref.getIdentity(), ttl, out cached);
+ if(!cached)
{
- if(instance.traceLevels().location >= 1)
+ if(_background && r != null)
{
- System.Text.StringBuilder s = new System.Text.StringBuilder();
- s.Append("searching for object by id\n");
- s.Append("object = " + instance.identityToString(identity));
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
+ getObjectRequest(@ref).addCallback(@ref, null, ttl, null);
+ }
+ else
+ {
+ return getObjectRequest(@ref).getEndpoints(@ref, null, ttl, out cached);
}
-
- _locator.findObjectById_async(new ObjectCallback(this, @ref, ttl, callback), identity);
- return;
}
- else
+
+ if(!r.isIndirect())
{
- getWellKnownObjectEndpoints(@ref, obj, ttl, true, callback);
- return;
+ endpoints = r.getEndpoints();
}
+ else if(!r.isWellKnown())
+ {
+ return getEndpoints(r, @ref, ttl, out cached);
+ }
+ }
+
+ Debug.Assert(endpoints != null);
+ cached = true;
+ if(@ref.getInstance().traceLevels().location >= 1)
+ {
+ getEndpointsTrace(@ref, endpoints, true);
}
+ return endpoints;
}
- public void clearObjectCache(Reference rf)
+ public void
+ getEndpoints(Reference @ref, int ttl, GetEndpointsCallback callback)
{
- Debug.Assert(rf.isIndirect());
- if(rf.getAdapterId().Length == 0)
+ getEndpoints(@ref, null, ttl, callback);
+ }
+
+ public void
+ getEndpoints(Reference @ref, Reference wellKnownRef, int ttl, GetEndpointsCallback callback)
+ {
+ Debug.Assert(@ref.isIndirect());
+ EndpointI[] endpoints = null;
+ bool cached = false;
+ if(!@ref.isWellKnown())
{
- Ice.ObjectPrx obj = _table.removeProxy(rf.getIdentity());
- if(obj != null)
+ endpoints = _table.getAdapterEndpoints(@ref.getAdapterId(), ttl, out cached);
+ if(!cached)
{
- Reference r = ((Ice.ObjectPrxHelperBase)obj).reference__();
- if(!r.isIndirect())
+ if(_background && endpoints != null)
{
- if(rf.getInstance().traceLevels().location >= 2)
- {
- trace("removed endpoints from locator table", rf, r.getEndpoints());
- }
+ getAdapterRequest(@ref).addCallback(@ref, wellKnownRef, ttl, null);
}
- else if(!r.isWellKnown())
+ else
{
- clearCache(r);
+ getAdapterRequest(@ref).addCallback(@ref, wellKnownRef, ttl, callback);
+ return;
+ }
+ }
+ }
+ else
+ {
+ Reference r = _table.getObjectReference(@ref.getIdentity(), ttl, out cached);
+ if(!cached)
+ {
+ if(_background && r != null)
+ {
+ getObjectRequest(@ref).addCallback(@ref, null, ttl, null);
}
+ else
+ {
+ getObjectRequest(@ref).addCallback(@ref, null, ttl, callback);
+ return;
+ }
+ }
+
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
+ }
+ else if(!r.isWellKnown())
+ {
+ getEndpoints(r, @ref, ttl, callback);
+ return;
}
}
+
+ Debug.Assert(endpoints != null);
+ if(@ref.getInstance().traceLevels().location >= 1)
+ {
+ getEndpointsTrace(@ref, endpoints, true);
+ }
+ if(callback != null)
+ {
+ callback.setEndpoints(endpoints, true);
+ }
}
-
+
public void clearCache(Reference rf)
{
Debug.Assert(rf.isIndirect());
@@ -380,10 +532,9 @@ namespace IceInternal
}
else
{
- Ice.ObjectPrx obj = _table.removeProxy(rf.getIdentity());
- if(obj != null)
+ Reference r = _table.removeObjectReference(rf.getIdentity());
+ if(r != null)
{
- Reference r = ((Ice.ObjectPrxHelperBase)obj).reference__();
if(!r.isIndirect())
{
if(rf.getInstance().traceLevels().location >= 2)
@@ -494,143 +645,160 @@ namespace IceInternal
}
}
- private void getEndpointsException(Reference @ref, System.Exception exc, GetEndpointsCallback callback)
- {
- try
- {
- getEndpointsException(@ref, exc);
- }
- catch(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- catch(System.Exception)
- {
- Debug.Assert(false);
- }
- }
-
- private class GetWellKnownObjectEndpointsCallback : GetEndpointsCallback
+ private void getEndpointsTrace(Reference @ref, EndpointI[] endpoints, bool cached)
{
- internal GetWellKnownObjectEndpointsCallback(LocatorInfo info, Reference @ref, Ice.ObjectPrx obj,
- bool objectCached, GetEndpointsCallback callback)
+ if(endpoints != null && endpoints.Length > 0)
{
- _info = info;
- _ref = @ref;
- _obj = obj;
- _objectCached = objectCached;
- _callback = callback;
+ if(cached)
+ {
+ trace("found endpoints in locator table", @ref, endpoints);
+ }
+ else
+ {
+ trace("retrieved endpoints from locator, adding to locator table", @ref, endpoints);
+ }
}
-
- public void setEndpoints(EndpointI[] endpoints, bool endpointsCached)
+ else
{
- if(!_objectCached && endpoints != null && endpoints.Length > 0)
+ Instance instance = @ref.getInstance();
+ System.Text.StringBuilder s = new System.Text.StringBuilder();
+ s.Append("no endpoints configured for ");
+ if(@ref.getAdapterId().Length > 0)
{
- _info._table.addProxy(_ref.getIdentity(), _obj);
+ s.Append("adapter\n");
+ s.Append("adapter = " + @ref.getAdapterId());
}
-
- if(_ref.getInstance().traceLevels().location >= 1)
+ else
{
- _info.getEndpointsTrace(_ref, endpoints, _objectCached || endpointsCached);
+ s.Append("object\n");
+ s.Append("object = " + instance.identityToString(@ref.getIdentity()));
}
-
- _callback.setEndpoints(endpoints, _objectCached || endpointsCached);
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
}
+ }
- public void setException(Ice.LocalException ex)
+ private Request
+ getAdapterRequest(Reference @ref)
+ {
+ if(@ref.getInstance().traceLevels().location >= 1)
{
- _callback.setException(ex);
+ Instance instance = @ref.getInstance();
+ System.Text.StringBuilder s = new System.Text.StringBuilder();
+ s.Append("searching for adapter by id\nadapter = ");
+ s.Append(@ref.getAdapterId());
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
}
- private LocatorInfo _info;
- private Reference _ref;
- private Ice.ObjectPrx _obj;
- private bool _objectCached;
- private GetEndpointsCallback _callback;
- }
-
- private void getWellKnownObjectEndpoints(Reference @ref, Ice.ObjectPrx obj, int ttl,
- bool objectCached, GetEndpointsCallback callback)
- {
- EndpointI[] endpoints = null;
- if(obj != null)
+ lock(this)
{
- Reference r = ((Ice.ObjectPrxHelperBase)obj).reference__();
- if(!r.isIndirect())
- {
- endpoints = r.getEndpoints();
- }
- else if(!r.isWellKnown())
+ Request request;
+ if(_adapterRequests.TryGetValue(@ref.getAdapterId(), out request))
{
- getEndpoints(r, ttl,
- new GetWellKnownObjectEndpointsCallback(this, @ref, obj, objectCached, callback));
- return;
+ return request;
}
+
+ request = new AdapterRequest(this, @ref);
+ _adapterRequests.Add(@ref.getAdapterId(), request);
+ return request;
}
-
- if(!objectCached && endpoints != null && endpoints.Length > 0)
- {
- _table.addProxy(@ref.getIdentity(), obj);
- }
+ }
+ private Request
+ getObjectRequest(Reference @ref)
+ {
if(@ref.getInstance().traceLevels().location >= 1)
{
- getEndpointsTrace(@ref, endpoints, objectCached);
+ Instance instance = @ref.getInstance();
+ System.Text.StringBuilder s = new System.Text.StringBuilder();
+ s.Append("searching for object by id\nobject = ");
+ s.Append(instance.identityToString(@ref.getIdentity()));
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
}
- if(endpoints == null)
- {
- callback.setEndpoints(new EndpointI[0], false);
- }
- else
+ lock(this)
{
- callback.setEndpoints(endpoints, objectCached);
+ Request request;
+ if(_objectRequests.TryGetValue(@ref.getIdentity(), out request))
+ {
+ return request;
+ }
+
+ request = new ObjectRequest(this, @ref);
+ _objectRequests.Add(@ref.getIdentity(), request);
+ return request;
}
}
- private void getEndpointsTrace(Reference @ref, EndpointI[] endpoints, bool cached)
+ private void
+ finishRequest(Reference @ref, List<Reference> wellKnownRefs, Ice.ObjectPrx proxy, bool notRegistered)
{
- if(endpoints != null && endpoints.Length > 0)
+ if(proxy == null || ((Ice.ObjectPrxHelperBase)proxy).reference__().isIndirect())
{
- if(cached)
+ //
+ // Remove the cached references of well-known objects for which we tried
+ // to resolved the endpoints if these endpoints are empty.
+ //
+ foreach(Reference r in wellKnownRefs)
{
- trace("found endpoints in locator table", @ref, endpoints);
+ _table.removeObjectReference(r.getIdentity());
}
- else
+ }
+
+ if(!@ref.isWellKnown())
+ {
+ if(proxy != null && !((Ice.ObjectPrxHelperBase)proxy).reference__().isIndirect())
{
- trace("retrieved endpoints from locator, adding to locator table", @ref, endpoints);
+ // Cache the adapter endpoints.
+ _table.addAdapterEndpoints(@ref.getAdapterId(),
+ ((Ice.ObjectPrxHelperBase)proxy).reference__().getEndpoints());
+ }
+ else if(notRegistered) // If the adapter isn't registered anymore, remove it from the cache.
+ {
+ _table.removeAdapterEndpoints(@ref.getAdapterId());
+ }
+
+ lock(this)
+ {
+ Debug.Assert(_adapterRequests.ContainsKey(@ref.getAdapterId()));
+ _adapterRequests.Remove(@ref.getAdapterId());
}
}
else
{
- Instance instance = @ref.getInstance();
- System.Text.StringBuilder s = new System.Text.StringBuilder();
- s.Append("no endpoints configured for ");
- if(@ref.getAdapterId().Length > 0)
+ if(proxy != null && !((Ice.ObjectPrxHelperBase)proxy).reference__().isWellKnown())
{
- s.Append("adapter\n");
- s.Append("adapter = " + @ref.getAdapterId());
+ // Cache the well-known object reference.
+ _table.addObjectReference(@ref.getIdentity(), ((Ice.ObjectPrxHelperBase)proxy).reference__());
}
- else
+ else if(notRegistered) // If the well-known object isn't registered anymore, remove it from the cache.
{
- s.Append("object\n");
- s.Append("object = " + instance.identityToString(@ref.getIdentity()));
+ _table.removeObjectReference(@ref.getIdentity());
+ }
+
+ lock(this)
+ {
+ Debug.Assert(_objectRequests.ContainsKey(@ref.getIdentity()));
+ _objectRequests.Remove(@ref.getIdentity());
}
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.ToString());
}
}
private readonly Ice.LocatorPrx _locator;
private Ice.LocatorRegistryPrx _locatorRegistry;
private readonly LocatorTable _table;
+ private readonly bool _background;
+
+ private Dictionary<string, Request> _adapterRequests = new Dictionary<string, Request>();
+ private Dictionary<Ice.Identity, Request> _objectRequests = new Dictionary<Ice.Identity, Request>();
}
public sealed class LocatorManager
{
- internal LocatorManager()
+ internal LocatorManager(Ice.Properties properties)
{
_table = new Hashtable();
_locatorTables = new Hashtable();
+ _background = properties.getPropertyAsInt("Ice.BackgroundLocatorCacheUpdates") > 0;
}
internal void destroy()
@@ -683,7 +851,7 @@ namespace IceInternal
_locatorTables[locator.ice_getIdentity()] = table;
}
- info = new LocatorInfo(locator, table);
+ info = new LocatorInfo(locator, table, _background);
_table[locator] = info;
}
@@ -693,6 +861,7 @@ namespace IceInternal
private Hashtable _table;
private Hashtable _locatorTables;
+ private readonly bool _background;
}
sealed class LocatorTable
@@ -712,20 +881,23 @@ namespace IceInternal
}
}
- internal IceInternal.EndpointI[] getAdapterEndpoints(string adapter, int ttl)
+ internal IceInternal.EndpointI[] getAdapterEndpoints(string adapter, int ttl, out bool cached)
{
if(ttl == 0) // Locator cache disabled.
{
+ cached = false;
return null;
}
lock(this)
{
EndpointTableEntry entry = (EndpointTableEntry)_adapterEndpointsTable[adapter];
- if(entry != null && checkTTL(entry.time, ttl))
+ if(entry != null)
{
+ cached = checkTTL(entry.time, ttl);
return entry.endpoints;
}
+ cached = false;
return null;
}
}
@@ -749,39 +921,42 @@ namespace IceInternal
}
}
- internal Ice.ObjectPrx getProxy(Ice.Identity id, int ttl)
+ internal Reference getObjectReference(Ice.Identity id, int ttl, out bool cached)
{
if(ttl == 0) // Locator cache disabled.
{
+ cached = false;
return null;
}
lock(this)
{
- ProxyTableEntry entry = (ProxyTableEntry)_objectTable[id];
- if(entry != null && checkTTL(entry.time, ttl))
+ ReferenceTableEntry entry = (ReferenceTableEntry)_objectTable[id];
+ if(entry != null)
{
- return entry.proxy;
+ cached = checkTTL(entry.time, ttl);
+ return entry.reference;
}
+ cached = false;
return null;
}
}
- internal void addProxy(Ice.Identity id, Ice.ObjectPrx proxy)
+ internal void addObjectReference(Ice.Identity id, Reference reference)
{
lock(this)
{
- _objectTable[id] = new ProxyTableEntry(Time.currentMonotonicTimeMillis(), proxy);
+ _objectTable[id] = new ReferenceTableEntry(Time.currentMonotonicTimeMillis(), reference);
}
}
- internal Ice.ObjectPrx removeProxy(Ice.Identity id)
+ internal Reference removeObjectReference(Ice.Identity id)
{
lock(this)
{
- ProxyTableEntry entry = (ProxyTableEntry)_objectTable[id];
+ ReferenceTableEntry entry = (ReferenceTableEntry)_objectTable[id];
_objectTable.Remove(id);
- return entry != null ? entry.proxy : null;
+ return entry != null ? entry.reference : null;
}
}
@@ -810,16 +985,16 @@ namespace IceInternal
public IceInternal.EndpointI[] endpoints;
}
- sealed private class ProxyTableEntry
+ sealed private class ReferenceTableEntry
{
- public ProxyTableEntry(long time, Ice.ObjectPrx proxy)
+ public ReferenceTableEntry(long time, Reference reference)
{
this.time = time;
- this.proxy = proxy;
+ this.reference = reference;
}
public long time;
- public Ice.ObjectPrx proxy;
+ public Reference reference;
}
private Hashtable _adapterEndpointsTable;
diff --git a/cs/src/Ice/LoggerI.cs b/cs/src/Ice/LoggerI.cs
index e5465a06cc2..61f28dfad5b 100644
--- a/cs/src/Ice/LoggerI.cs
+++ b/cs/src/Ice/LoggerI.cs
@@ -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/cs/src/Ice/LoggerPlugin.cs b/cs/src/Ice/LoggerPlugin.cs
index c9be5ffa16f..3fed6899a6a 100644
--- a/cs/src/Ice/LoggerPlugin.cs
+++ b/cs/src/Ice/LoggerPlugin.cs
@@ -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/cs/src/Ice/Makefile b/cs/src/Ice/Makefile
index f8e1ff08da0..c89d272f4ee 100644
--- a/cs/src/Ice/Makefile
+++ b/cs/src/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.
@@ -19,6 +19,7 @@ SRCS = Acceptor.cs \
Arrays.cs \
AssemblyInfo.cs \
AssemblyUtil.cs \
+ AsyncIOThread.cs \
Base64.cs \
BasicStream.cs \
Buffer.cs \
@@ -76,6 +77,7 @@ SRCS = Acceptor.cs \
ReferenceFactory.cs \
ReplyStatus.cs \
RequestHandler.cs \
+ RetryQueue.cs \
RouterInfo.cs \
ServantManager.cs \
Set.cs \
diff --git a/cs/src/Ice/Makefile.mak b/cs/src/Ice/Makefile.mak
index a082e51a3b3..b859a2187c0 100644
--- a/cs/src/Ice/Makefile.mak
+++ b/cs/src/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.
@@ -19,6 +19,7 @@ SRCS = Acceptor.cs \
Arrays.cs \
AssemblyInfo.cs \
AssemblyUtil.cs \
+ AsyncIOThread.cs \
Base64.cs \
BasicStream.cs \
Buffer.cs \
@@ -76,6 +77,7 @@ SRCS = Acceptor.cs \
ReferenceFactory.cs \
ReplyStatus.cs \
RequestHandler.cs \
+ RetryQueue.cs \
RouterInfo.cs \
ServantManager.cs \
Set.cs \
diff --git a/cs/src/Ice/Network.cs b/cs/src/Ice/Network.cs
index 40264456e95..6ed94d33cad 100644
--- a/cs/src/Ice/Network.cs
+++ b/cs/src/Ice/Network.cs
@@ -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/cs/src/Ice/Object.cs b/cs/src/Ice/Object.cs
index d063a5b09d0..77b55ac56e1 100644
--- a/cs/src/Ice/Object.cs
+++ b/cs/src/Ice/Object.cs
@@ -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/cs/src/Ice/ObjectAdapterFactory.cs b/cs/src/Ice/ObjectAdapterFactory.cs
index 1b5f67e6d2d..a00cbabd4bc 100644
--- a/cs/src/Ice/ObjectAdapterFactory.cs
+++ b/cs/src/Ice/ObjectAdapterFactory.cs
@@ -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/cs/src/Ice/ObjectAdapterI.cs b/cs/src/Ice/ObjectAdapterI.cs
index a092d9f06df..8ad2efeb684 100644
--- a/cs/src/Ice/ObjectAdapterI.cs
+++ b/cs/src/Ice/ObjectAdapterI.cs
@@ -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/cs/src/Ice/ObjectFactoryManager.cs b/cs/src/Ice/ObjectFactoryManager.cs
index 201cd040d5f..35e74b6f29a 100644
--- a/cs/src/Ice/ObjectFactoryManager.cs
+++ b/cs/src/Ice/ObjectFactoryManager.cs
@@ -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/cs/src/Ice/Options.cs b/cs/src/Ice/Options.cs
index add81d4985a..e793079684e 100644
--- a/cs/src/Ice/Options.cs
+++ b/cs/src/Ice/Options.cs
@@ -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/cs/src/Ice/Outgoing.cs b/cs/src/Ice/Outgoing.cs
index 90f3f114528..ecbfe13fd9a 100644
--- a/cs/src/Ice/Outgoing.cs
+++ b/cs/src/Ice/Outgoing.cs
@@ -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/cs/src/Ice/OutgoingAsync.cs b/cs/src/Ice/OutgoingAsync.cs
index 516fc702573..c21221a14d0 100644
--- a/cs/src/Ice/OutgoingAsync.cs
+++ b/cs/src/Ice/OutgoingAsync.cs
@@ -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.
@@ -74,7 +74,7 @@ namespace IceInternal
}
}
- protected void releaseCallback__(Ice.LocalException ex)
+ public void releaseCallback__(Ice.LocalException ex)
{
Debug.Assert(os__ != null);
@@ -99,7 +99,7 @@ namespace IceInternal
}
}
- protected void releaseCallback__()
+ protected void releaseCallback__()
{
lock(monitor__)
{
@@ -380,6 +380,23 @@ namespace IceInternal
}
}
+ public void retry__(int interval)
+ {
+ //
+ // This method is called by the proxy to retry an
+ // invocation. No other threads can access this object.
+ //
+ if(interval > 0)
+ {
+ Debug.Assert(os__ != null);
+ os__.instance().retryQueue().add(this, interval);
+ }
+ else
+ {
+ send__();
+ }
+ }
+
public bool send__()
{
try
@@ -409,7 +426,8 @@ namespace IceInternal
_delegate = null;
_cnt = 0;
_mode = mode;
-
+ _sentSynchronously = false;
+
//
// Can't call async via a batch proxy.
//
diff --git a/cs/src/Ice/OutputBase.cs b/cs/src/Ice/OutputBase.cs
index 4a10742dd6f..36c3ff251c2 100644
--- a/cs/src/Ice/OutputBase.cs
+++ b/cs/src/Ice/OutputBase.cs
@@ -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/cs/src/Ice/Patcher.cs b/cs/src/Ice/Patcher.cs
index 341718039d0..bc2eadc2c5b 100644
--- a/cs/src/Ice/Patcher.cs
+++ b/cs/src/Ice/Patcher.cs
@@ -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/cs/src/Ice/PluginManagerI.cs b/cs/src/Ice/PluginManagerI.cs
index f762081a32a..d5606c5e820 100644
--- a/cs/src/Ice/PluginManagerI.cs
+++ b/cs/src/Ice/PluginManagerI.cs
@@ -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.
@@ -28,12 +28,12 @@ namespace Ice
if(_initialized)
{
InitializationException ex = new InitializationException();
- ex.reason = "plugins already initialized";
+ ex.reason = "plug-ins already initialized";
throw ex;
}
//
- // Invoke initialize() on the plugins, in the order they were loaded.
+ // Invoke initialize() on the plug-ins, in the order they were loaded.
//
ArrayList initializedPlugins = new ArrayList();
try
@@ -44,10 +44,10 @@ namespace Ice
initializedPlugins.Add(p);
}
}
- catch(Exception)
+ catch(System.Exception)
{
//
- // Destroy the plugins that have been successfully initialized, in the
+ // Destroy the plug-ins that have been successfully initialized, in the
// reverse order.
//
initializedPlugins.Reverse();
@@ -57,7 +57,7 @@ namespace Ice
{
p.destroy();
}
- catch(Exception)
+ catch(System.Exception)
{
// Ignore.
}
@@ -115,9 +115,21 @@ namespace Ice
{
if(_communicator != null)
{
- foreach(Plugin plugin in _plugins.Values)
+ if(_initialized)
{
- plugin.destroy();
+ foreach(DictionaryEntry entry in _plugins)
+ {
+ try
+ {
+ Plugin plugin = (Plugin) entry.Value;
+ plugin.destroy();
+ }
+ catch(System.Exception ex)
+ {
+ Ice.Util.getProcessLogger().warning("unexpected exception raised by plug-in '" + entry.Key.ToString() + "' destruction.\n");
+ Ice.Util.getProcessLogger().warning("exception: " + ex.ToString());
+ }
+ }
}
_communicator = null;
@@ -150,8 +162,8 @@ namespace Ice
// Ice.Plugin.Logger=logger, Version=0.0.0.0, Culture=neutral:LoginPluginFactory
//
// If the Ice.PluginLoadOrder property is defined, load the
- // specified plugins in the specified order, then load any
- // remaining plugins.
+ // specified plug-ins in the specified order, then load any
+ // remaining plug-ins.
//
string prefix = "Ice.Plugin.";
Properties properties = _communicator.getProperties();
@@ -168,7 +180,7 @@ namespace Ice
if(_plugins.Contains(loadOrder[i]))
{
PluginInitializationException e = new PluginInitializationException();
- e.reason = "plugin `" + loadOrder[i] + "' already loaded";
+ e.reason = "plug-in `" + loadOrder[i] + "' already loaded";
throw e;
}
@@ -193,13 +205,13 @@ namespace Ice
else
{
PluginInitializationException e = new PluginInitializationException();
- e.reason = "plugin `" + loadOrder[i] + "' not defined";
+ e.reason = "plug-in `" + loadOrder[i] + "' not defined";
throw e;
}
}
//
- // Load any remaining plugins that weren't specified in PluginLoadOrder.
+ // Load any remaining plug-ins that weren't specified in PluginLoadOrder.
//
while(plugins.Count > 0)
{
@@ -257,7 +269,7 @@ namespace Ice
//
// An application can set Ice.InitPlugins=0 if it wants to postpone
// initialization until after it has interacted directly with the
- // plugins.
+ // plug-ins.
//
if(properties.getPropertyAsIntWithDefault("Ice.InitPlugins", 1) > 0)
{
@@ -326,7 +338,7 @@ namespace Ice
//
// Retrieve the assembly name and the type.
//
- string err = "unable to load plugin '" + entryPoint + "': ";
+ string err = "unable to load plug-in '" + entryPoint + "': ";
int sepPos = entryPoint.IndexOf(':');
if (sepPos == -1)
{
@@ -359,7 +371,7 @@ namespace Ice
if(!_sslWarnOnce)
{
_communicator.getLogger().warning(
- "IceSSL plugin not loaded: IceSSL is not supported with Mono");
+ "IceSSL plug-in not loaded: IceSSL is not supported with Mono");
_sslWarnOnce = true;
}
return;
diff --git a/cs/src/Ice/ProcessI.cs b/cs/src/Ice/ProcessI.cs
index cd54d8dd76b..bc2bc0867aa 100644
--- a/cs/src/Ice/ProcessI.cs
+++ b/cs/src/Ice/ProcessI.cs
@@ -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/cs/src/Ice/PropertiesAdminI.cs b/cs/src/Ice/PropertiesAdminI.cs
index d43bc4258c5..5fd4317500b 100644
--- a/cs/src/Ice/PropertiesAdminI.cs
+++ b/cs/src/Ice/PropertiesAdminI.cs
@@ -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/cs/src/Ice/PropertiesI.cs b/cs/src/Ice/PropertiesI.cs
index be2bd3732cc..a321ca0e7a6 100644
--- a/cs/src/Ice/PropertiesI.cs
+++ b/cs/src/Ice/PropertiesI.cs
@@ -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/cs/src/Ice/Property.cs b/cs/src/Ice/Property.cs
index f9928a51eeb..cbfe83f6110 100644
--- a/cs/src/Ice/Property.cs
+++ b/cs/src/Ice/Property.cs
@@ -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/cs/src/Ice/PropertyNames.cs b/cs/src/Ice/PropertyNames.cs
index aaedace07ef..e7186a9d9d9 100644
--- a/cs/src/Ice/PropertyNames.cs
+++ b/cs/src/Ice/PropertyNames.cs
@@ -1,12 +1,15 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+//
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jan 20 15:47:00 2009
+
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
namespace IceInternal
@@ -34,6 +37,7 @@ namespace IceInternal
new Property(@"^Ice\.Admin\.Facets$", false, null),
new Property(@"^Ice\.Admin\.InstanceName$", false, null),
new Property(@"^Ice\.Admin\.ServerId$", false, null),
+ new Property(@"^Ice\.BackgroundLocatorCacheUpdates$", false, null),
new Property(@"^Ice\.BatchAutoFlush$", false, null),
new Property(@"^Ice\.ChangeUser$", false, null),
new Property(@"^Ice\.Compression\.Level$", false, null),
@@ -264,7 +268,15 @@ namespace IceInternal
new Property(@"^IceGrid\.Registry\.CryptPasswords$", false, null),
new Property(@"^IceGrid\.Registry\.Data$", false, null),
new Property(@"^IceGrid\.Registry\.DefaultTemplates$", false, null),
+ new Property(@"^IceGrid\.Registry\.Discard\.Interval$", false, null),
new Property(@"^IceGrid\.Registry\.DynamicRegistration$", false, null),
+ new Property(@"^IceGrid\.Registry\.Election\.ElectionTimeout$", false, null),
+ new Property(@"^IceGrid\.Registry\.Election\.MasterTimeout$", false, null),
+ new Property(@"^IceGrid\.Registry\.Election\.ResponseTimeout$", false, null),
+ new Property(@"^IceGrid\.Registry\.Flush\.Timeout$", false, null),
+ new Property(@"^IceGrid\.Registry\.IceStormAdmin\.TopicManager\.Default$", false, null),
+ new Property(@"^IceGrid\.Registry\.IceStormAdmin\.TopicManager\.[^\s]+$", false, null),
+ new Property(@"^IceGrid\.Registry\.InstanceName$", false, null),
new Property(@"^IceGrid\.Registry\.Internal\.AdapterId$", false, null),
new Property(@"^IceGrid\.Registry\.Internal\.Endpoints$", false, null),
new Property(@"^IceGrid\.Registry\.Internal\.Locator$", false, null),
@@ -278,6 +290,9 @@ namespace IceInternal
new Property(@"^IceGrid\.Registry\.Internal\.ThreadPool\.SizeWarn$", false, null),
new Property(@"^IceGrid\.Registry\.Internal\.ThreadPool\.StackSize$", false, null),
new Property(@"^IceGrid\.Registry\.Internal\.ThreadPool\.Serialize$", false, null),
+ new Property(@"^IceGrid\.Registry\.Node\.[^\s]+$", false, null),
+ new Property(@"^IceGrid\.Registry\.NodeId$", false, null),
+ new Property(@"^IceGrid\.Registry\.Nodes\.id$", false, null),
new Property(@"^IceGrid\.Registry\.NodeSessionTimeout$", false, null),
new Property(@"^IceGrid\.Registry\.PermissionsVerifier\.EndpointSelection$", false, null),
new Property(@"^IceGrid\.Registry\.PermissionsVerifier\.ConnectionCached$", false, null),
@@ -288,8 +303,12 @@ namespace IceInternal
new Property(@"^IceGrid\.Registry\.PermissionsVerifier\.CollocationOptimization$", true, @"IceGrid.Registry.PermissionsVerifier.CollocationOptimized"),
new Property(@"^IceGrid\.Registry\.PermissionsVerifier\.CollocationOptimized$", false, null),
new Property(@"^IceGrid\.Registry\.PermissionsVerifier$", false, null),
+ new Property(@"^IceGrid\.Registry\.Publish\.[^\s]+$", false, null),
new Property(@"^IceGrid\.Registry\.ReplicaName$", false, null),
new Property(@"^IceGrid\.Registry\.ReplicaSessionTimeout$", false, null),
+ new Property(@"^IceGrid\.Registry\.ReplicatedPublishEndpoints$", false, null),
+ new Property(@"^IceGrid\.Registry\.ReplicatedTopicManagerEndpoints$", false, null),
+ new Property(@"^IceGrid\.Registry\.Send\.Timeout$", false, null),
new Property(@"^IceGrid\.Registry\.Server\.AdapterId$", false, null),
new Property(@"^IceGrid\.Registry\.Server\.Endpoints$", false, null),
new Property(@"^IceGrid\.Registry\.Server\.Locator$", false, null),
@@ -327,15 +346,22 @@ namespace IceInternal
new Property(@"^IceGrid\.Registry\.SSLPermissionsVerifier\.CollocationOptimization$", true, @"IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized"),
new Property(@"^IceGrid\.Registry\.SSLPermissionsVerifier\.CollocationOptimized$", false, null),
new Property(@"^IceGrid\.Registry\.SSLPermissionsVerifier$", false, null),
+ new Property(@"^IceGrid\.Registry\.TopicManager\.[^\s]+$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Application$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Adapter$", false, null),
+ new Property(@"^IceGrid\.Registry\.Trace\.Election$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Locator$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Node$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Object$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Patch$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Replica$", false, null),
+ new Property(@"^IceGrid\.Registry\.Trace\.Replication$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Server$", false, null),
new Property(@"^IceGrid\.Registry\.Trace\.Session$", false, null),
+ new Property(@"^IceGrid\.Registry\.Trace\.Subscriber$", false, null),
+ new Property(@"^IceGrid\.Registry\.Trace\.Topic$", false, null),
+ new Property(@"^IceGrid\.Registry\.Trace\.TopicManager$", false, null),
+ new Property(@"^IceGrid\.Registry\.Transient$", false, null),
new Property(@"^IceGrid\.Registry\.UserAccounts$", false, null),
null
};
diff --git a/cs/src/Ice/Protocol.cs b/cs/src/Ice/Protocol.cs
index 3b635db8959..2de6ba978ca 100644
--- a/cs/src/Ice/Protocol.cs
+++ b/cs/src/Ice/Protocol.cs
@@ -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/cs/src/Ice/ProtocolPluginFacade.cs b/cs/src/Ice/ProtocolPluginFacade.cs
index 27fe4701cba..cd2df6ef872 100644
--- a/cs/src/Ice/ProtocolPluginFacade.cs
+++ b/cs/src/Ice/ProtocolPluginFacade.cs
@@ -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/cs/src/Ice/Proxy.cs b/cs/src/Ice/Proxy.cs
index 1cf148be120..4b92505412b 100644
--- a/cs/src/Ice/Proxy.cs
+++ b/cs/src/Ice/Proxy.cs
@@ -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/cs/src/Ice/ProxyFactory.cs b/cs/src/Ice/ProxyFactory.cs
index 034a1caac13..7525754df68 100644
--- a/cs/src/Ice/ProxyFactory.cs
+++ b/cs/src/Ice/ProxyFactory.cs
@@ -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,21 +13,6 @@ namespace IceInternal
{
public sealed class ProxyFactory
{
- private sealed class RetryTask : TimerTask
- {
- internal RetryTask(OutgoingAsync outAsync)
- {
- _outAsync = outAsync;
- }
-
- public void runTimerTask()
- {
- _outAsync.send__();
- }
-
- private OutgoingAsync _outAsync;
- }
-
public Ice.ObjectPrx stringToProxy(string str)
{
Reference r = instance_.referenceFactory().create(str, null);
@@ -121,7 +106,11 @@ namespace IceInternal
// We retry ObjectNotExistException if the reference is
// indirect.
//
- li.clearObjectCache(@ref);
+
+ if(@ref.isWellKnown())
+ {
+ li.clearCache(@ref);
+ }
}
else if(@ref.getRouterInfo() != null && one.operation.Equals("ice_add_proxy"))
{
@@ -209,26 +198,16 @@ namespace IceInternal
logger.trace(traceLevels.retryCat, s);
}
- if(interval > 0)
+ if(outAsync != null)
{
- if(outAsync != null)
- {
- instance_.timer().schedule(new RetryTask(outAsync), interval);
- }
- else
- {
- //
- // Sleep before retrying.
- //
- System.Threading.Thread.Sleep(interval);
- }
+ outAsync.retry__(interval);
}
- else
+ else if(interval > 0)
{
- if(outAsync != null)
- {
- outAsync.send__();
- }
+ //
+ // Sleep before retrying.
+ //
+ System.Threading.Thread.Sleep(interval);
}
}
diff --git a/cs/src/Ice/ProxyIdentityKey.cs b/cs/src/Ice/ProxyIdentityKey.cs
index 5b61c31a5c9..3ea7394c268 100644
--- a/cs/src/Ice/ProxyIdentityKey.cs
+++ b/cs/src/Ice/ProxyIdentityKey.cs
@@ -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/cs/src/Ice/Reference.cs b/cs/src/Ice/Reference.cs
index 420f8570339..eea221fafd4 100644
--- a/cs/src/Ice/Reference.cs
+++ b/cs/src/Ice/Reference.cs
@@ -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/cs/src/Ice/ReferenceFactory.cs b/cs/src/Ice/ReferenceFactory.cs
index 14187057155..97411e491ad 100644
--- a/cs/src/Ice/ReferenceFactory.cs
+++ b/cs/src/Ice/ReferenceFactory.cs
@@ -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/cs/src/Ice/ReplyStatus.cs b/cs/src/Ice/ReplyStatus.cs
index f3e7c33e643..7397aca75fe 100644
--- a/cs/src/Ice/ReplyStatus.cs
+++ b/cs/src/Ice/ReplyStatus.cs
@@ -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/cs/src/Ice/RequestHandler.cs b/cs/src/Ice/RequestHandler.cs
index 3c01e5d07a5..f2b89c246e7 100644
--- a/cs/src/Ice/RequestHandler.cs
+++ b/cs/src/Ice/RequestHandler.cs
@@ -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/cs/src/Ice/RetryQueue.cs b/cs/src/Ice/RetryQueue.cs
new file mode 100644
index 00000000000..c8df073dd0b
--- /dev/null
+++ b/cs/src/Ice/RetryQueue.cs
@@ -0,0 +1,90 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+namespace IceInternal
+{
+ using System.Collections.Generic;
+
+ public class RetryTask : TimerTask
+ {
+ public RetryTask(RetryQueue retryQueue, OutgoingAsync outAsync)
+ {
+ _retryQueue = retryQueue;
+ _outAsync = outAsync;
+ }
+
+ public void runTimerTask()
+ {
+ if(_retryQueue.remove(this))
+ {
+ try
+ {
+ _outAsync.send__();
+ }
+ catch(Ice.LocalException ex)
+ {
+ _outAsync.releaseCallback__(ex);
+ }
+ }
+ }
+
+ public void destroy()
+ {
+ _outAsync.releaseCallback__(new Ice.CommunicatorDestroyedException());
+ }
+
+ private RetryQueue _retryQueue;
+ private OutgoingAsync _outAsync;
+ };
+
+ public class RetryQueue
+ {
+ public RetryQueue(Instance instance)
+ {
+ _instance = instance;
+ }
+
+ public void add(OutgoingAsync outAsync, int interval)
+ {
+ lock(this)
+ {
+ RetryTask task = new RetryTask(this, outAsync);
+ _instance.timer().schedule(task, interval);
+ _requests.Add(task, null);
+ }
+ }
+
+ public void
+ destroy()
+ {
+ lock(this)
+ {
+ foreach(RetryTask task in _requests.Keys)
+ {
+ _instance.timer().cancel(task);
+ task.destroy();
+ }
+ _requests.Clear();
+ }
+ }
+
+ public bool
+ remove(RetryTask task)
+ {
+ lock(this)
+ {
+ return _requests.Remove(task);
+ }
+ }
+
+ private Instance _instance;
+ private Dictionary<RetryTask, object> _requests = new Dictionary<RetryTask, object>();
+ }
+}
+
diff --git a/cs/src/Ice/RouterInfo.cs b/cs/src/Ice/RouterInfo.cs
index c31931f4cbc..afbf82301ed 100644
--- a/cs/src/Ice/RouterInfo.cs
+++ b/cs/src/Ice/RouterInfo.cs
@@ -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/cs/src/Ice/ServantManager.cs b/cs/src/Ice/ServantManager.cs
index 144f063af44..9ae77ccb174 100644
--- a/cs/src/Ice/ServantManager.cs
+++ b/cs/src/Ice/ServantManager.cs
@@ -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/cs/src/Ice/Set.cs b/cs/src/Ice/Set.cs
index 2dbe5aae01d..bcfaaf04ad0 100644
--- a/cs/src/Ice/Set.cs
+++ b/cs/src/Ice/Set.cs
@@ -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/cs/src/Ice/SliceChecksums.cs b/cs/src/Ice/SliceChecksums.cs
index 783db9ecb71..a3a8434b24b 100644
--- a/cs/src/Ice/SliceChecksums.cs
+++ b/cs/src/Ice/SliceChecksums.cs
@@ -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/cs/src/Ice/Stream.cs b/cs/src/Ice/Stream.cs
index 683d0248f67..bb232c2b545 100644
--- a/cs/src/Ice/Stream.cs
+++ b/cs/src/Ice/Stream.cs
@@ -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.
@@ -166,9 +166,13 @@ namespace Ice
public abstract void write(OutputStream os);
public abstract bool usesClasses();
- public override void write__(IceInternal.BasicStream ostr)
+ public override void write__(IceInternal.BasicStream os)
{
- OutputStream stream = new OutputStreamI(communicator_, ostr);
+ OutputStream stream = (OutputStream)os.closure();
+ if(stream == null)
+ {
+ stream = new OutputStreamI(communicator_, os);
+ }
write(stream);
}
diff --git a/cs/src/Ice/StreamI.cs b/cs/src/Ice/StreamI.cs
index 812c99d65db..5d6657fab54 100644
--- a/cs/src/Ice/StreamI.cs
+++ b/cs/src/Ice/StreamI.cs
@@ -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/cs/src/Ice/StringUtil.cs b/cs/src/Ice/StringUtil.cs
index e0fd0d06582..3c4ec3c46cd 100644
--- a/cs/src/Ice/StringUtil.cs
+++ b/cs/src/Ice/StringUtil.cs
@@ -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/cs/src/Ice/SysLoggerI.cs b/cs/src/Ice/SysLoggerI.cs
index 14653776d13..0ef1ebf88e8 100644
--- a/cs/src/Ice/SysLoggerI.cs
+++ b/cs/src/Ice/SysLoggerI.cs
@@ -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/cs/src/Ice/TcpAcceptor.cs b/cs/src/Ice/TcpAcceptor.cs
index 9c24e7bd3b0..381fba770b0 100644
--- a/cs/src/Ice/TcpAcceptor.cs
+++ b/cs/src/Ice/TcpAcceptor.cs
@@ -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.
@@ -17,11 +17,6 @@ namespace IceInternal
class TcpAcceptor : Acceptor
{
- public virtual Socket fd()
- {
- return _fd;
- }
-
public virtual void close()
{
Socket fd;
diff --git a/cs/src/Ice/TcpConnector.cs b/cs/src/Ice/TcpConnector.cs
index 79b3078e334..fa694c58304 100644
--- a/cs/src/Ice/TcpConnector.cs
+++ b/cs/src/Ice/TcpConnector.cs
@@ -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/cs/src/Ice/TcpEndpointI.cs b/cs/src/Ice/TcpEndpointI.cs
index 46be5a9f389..1455021830c 100644
--- a/cs/src/Ice/TcpEndpointI.cs
+++ b/cs/src/Ice/TcpEndpointI.cs
@@ -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/cs/src/Ice/TcpTransceiver.cs b/cs/src/Ice/TcpTransceiver.cs
index 704d99c8da3..01532065159 100644
--- a/cs/src/Ice/TcpTransceiver.cs
+++ b/cs/src/Ice/TcpTransceiver.cs
@@ -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,12 +18,6 @@ namespace IceInternal
sealed class TcpTransceiver : Transceiver
{
- public Socket fd()
- {
- Debug.Assert(_fd != null);
- return _fd;
- }
-
public bool restartable()
{
return true;
diff --git a/cs/src/Ice/ThreadPool.cs b/cs/src/Ice/ThreadPool.cs
index 7c4be1a72fe..132200dbda6 100644
--- a/cs/src/Ice/ThreadPool.cs
+++ b/cs/src/Ice/ThreadPool.cs
@@ -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/cs/src/Ice/TieBase.cs b/cs/src/Ice/TieBase.cs
index 061098e040a..86dc080e860 100644
--- a/cs/src/Ice/TieBase.cs
+++ b/cs/src/Ice/TieBase.cs
@@ -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/cs/src/Ice/Time.cs b/cs/src/Ice/Time.cs
index 8dede3fec05..5a2168634c4 100644
--- a/cs/src/Ice/Time.cs
+++ b/cs/src/Ice/Time.cs
@@ -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/cs/src/Ice/Timer.cs b/cs/src/Ice/Timer.cs
index 0095c6d2481..bf2dca0e11f 100644
--- a/cs/src/Ice/Timer.cs
+++ b/cs/src/Ice/Timer.cs
@@ -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/cs/src/Ice/TraceLevels.cs b/cs/src/Ice/TraceLevels.cs
index 0c3f45f1c59..39e38c1d32c 100644
--- a/cs/src/Ice/TraceLevels.cs
+++ b/cs/src/Ice/TraceLevels.cs
@@ -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/cs/src/Ice/TraceUtil.cs b/cs/src/Ice/TraceUtil.cs
index b200f247a1b..45d32ec349e 100644
--- a/cs/src/Ice/TraceUtil.cs
+++ b/cs/src/Ice/TraceUtil.cs
@@ -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/cs/src/Ice/Transceiver.cs b/cs/src/Ice/Transceiver.cs
index e9f4a128e87..3cc96f08bc0 100644
--- a/cs/src/Ice/Transceiver.cs
+++ b/cs/src/Ice/Transceiver.cs
@@ -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.
@@ -39,8 +39,6 @@ namespace IceInternal
public interface Transceiver
{
- Socket fd();
-
//
// Return true if read operations can be safely restarted.
//
diff --git a/cs/src/Ice/UdpConnector.cs b/cs/src/Ice/UdpConnector.cs
index 6ad7afb48fa..b53d0877024 100644
--- a/cs/src/Ice/UdpConnector.cs
+++ b/cs/src/Ice/UdpConnector.cs
@@ -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/cs/src/Ice/UdpEndpointI.cs b/cs/src/Ice/UdpEndpointI.cs
index 1f814c46a3e..bb2cf143dd3 100644
--- a/cs/src/Ice/UdpEndpointI.cs
+++ b/cs/src/Ice/UdpEndpointI.cs
@@ -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/cs/src/Ice/UdpTransceiver.cs b/cs/src/Ice/UdpTransceiver.cs
index 5c69e27431b..2763d973007 100644
--- a/cs/src/Ice/UdpTransceiver.cs
+++ b/cs/src/Ice/UdpTransceiver.cs
@@ -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,12 +18,6 @@ namespace IceInternal
sealed class UdpTransceiver : Transceiver
{
- public Socket fd()
- {
- Debug.Assert(_fd != null);
- return _fd;
- }
-
public bool restartable()
{
return true;
diff --git a/cs/src/Ice/UnknownEndpointI.cs b/cs/src/Ice/UnknownEndpointI.cs
index 2ab3e8a7614..2542f75da39 100644
--- a/cs/src/Ice/UnknownEndpointI.cs
+++ b/cs/src/Ice/UnknownEndpointI.cs
@@ -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/cs/src/Ice/UserExceptionFactory.cs b/cs/src/Ice/UserExceptionFactory.cs
index fa3b9490e05..6c6aebd92e1 100644
--- a/cs/src/Ice/UserExceptionFactory.cs
+++ b/cs/src/Ice/UserExceptionFactory.cs
@@ -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/cs/src/Ice/Util.cs b/cs/src/Ice/Util.cs
index 3b72e378f11..32a24e7188f 100644
--- a/cs/src/Ice/Util.cs
+++ b/cs/src/Ice/Util.cs
@@ -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.
@@ -303,12 +303,12 @@ namespace Ice
public static string stringVersion()
{
- return "3.3.0"; // "A.B.C", with A=major, B=minor, C=patch
+ return "3.3.1"; // "A.B.C", with A=major, B=minor, C=patch
}
public static int intVersion()
{
- return 30300; // AABBCC, with AA=major, BB=minor, CC=patch
+ return 30301; // AABBCC, with AA=major, BB=minor, CC=patch
}
private static object _processLoggerMutex = new object();
diff --git a/cs/src/Ice/ValueWriter.cs b/cs/src/Ice/ValueWriter.cs
index 6914e1e0cc2..a0e9b798012 100644
--- a/cs/src/Ice/ValueWriter.cs
+++ b/cs/src/Ice/ValueWriter.cs
@@ -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/cs/src/Ice/XMLOutput.cs b/cs/src/Ice/XMLOutput.cs
index 447f2797c44..010bc2cb738 100644
--- a/cs/src/Ice/XMLOutput.cs
+++ b/cs/src/Ice/XMLOutput.cs
@@ -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/cs/src/IceBox/AssemblyInfo.cs b/cs/src/IceBox/AssemblyInfo.cs
index e917879f195..d3875c5ad3c 100644
--- a/cs/src/IceBox/AssemblyInfo.cs
+++ b/cs/src/IceBox/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IceBox for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/IceBox/Makefile b/cs/src/IceBox/Makefile
index f72136c060d..546c9d70521 100644
--- a/cs/src/IceBox/Makefile
+++ b/cs/src/IceBox/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/cs/src/IceBox/Makefile.mak b/cs/src/IceBox/Makefile.mak
index 96be0c5cdf3..5e0d1f90afc 100644
--- a/cs/src/IceBox/Makefile.mak
+++ b/cs/src/IceBox/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/cs/src/IceBox/Server.cs b/cs/src/IceBox/Server.cs
index 06e1944bad9..170001500df 100644
--- a/cs/src/IceBox/Server.cs
+++ b/cs/src/IceBox/Server.cs
@@ -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/cs/src/IceBox/ServiceManagerI.cs b/cs/src/IceBox/ServiceManagerI.cs
index b2903a88410..4b3d53e2ecf 100644
--- a/cs/src/IceBox/ServiceManagerI.cs
+++ b/cs/src/IceBox/ServiceManagerI.cs
@@ -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.
@@ -980,7 +980,7 @@ class ServiceManagerI : ServiceManagerDisp_
//
// Remaining command line options are passed to the communicator. This is
- // necessary for Ice plugin properties (e.g.: IceSSL).
+ // necessary for Ice plug-in properties (e.g.: IceSSL).
//
Ice.InitializationData initData = new Ice.InitializationData();
initData.properties = properties;
diff --git a/cs/src/IceGrid/AssemblyInfo.cs b/cs/src/IceGrid/AssemblyInfo.cs
index 7bfa751b232..08576ffe0c1 100644
--- a/cs/src/IceGrid/AssemblyInfo.cs
+++ b/cs/src/IceGrid/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IceGrid for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/IceGrid/Makefile b/cs/src/IceGrid/Makefile
index 3ad55c7062a..3d2092912bd 100644
--- a/cs/src/IceGrid/Makefile
+++ b/cs/src/IceGrid/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/cs/src/IceGrid/Makefile.mak b/cs/src/IceGrid/Makefile.mak
index 17fd6134a17..ee9d242ae20 100644
--- a/cs/src/IceGrid/Makefile.mak
+++ b/cs/src/IceGrid/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.
@@ -21,6 +21,7 @@ GEN_SRCS = $(GDIR)\Admin.cs \
$(GDIR)\Descriptor.cs \
$(GDIR)\Exception.cs \
$(GDIR)\FileParser.cs \
+ $(GDIR)\Locator.cs \
$(GDIR)\Query.cs \
$(GDIR)\Registry.cs \
$(GDIR)\Session.cs \
diff --git a/cs/src/IcePatch2/AssemblyInfo.cs b/cs/src/IcePatch2/AssemblyInfo.cs
index 9bf16bd1041..abff628fff2 100644
--- a/cs/src/IcePatch2/AssemblyInfo.cs
+++ b/cs/src/IcePatch2/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IcePatch2 for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/IcePatch2/Makefile b/cs/src/IcePatch2/Makefile
index 381e062b976..095e50700f8 100644
--- a/cs/src/IcePatch2/Makefile
+++ b/cs/src/IcePatch2/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/cs/src/IcePatch2/Makefile.mak b/cs/src/IcePatch2/Makefile.mak
index 82ec9825c27..cbb3a1c3475 100644
--- a/cs/src/IcePatch2/Makefile.mak
+++ b/cs/src/IcePatch2/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/cs/src/IceSSL/AcceptorI.cs b/cs/src/IceSSL/AcceptorI.cs
index d19b611d649..d8e0124eccc 100644
--- a/cs/src/IceSSL/AcceptorI.cs
+++ b/cs/src/IceSSL/AcceptorI.cs
@@ -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,11 +19,6 @@ namespace IceSSL
class AcceptorI : IceInternal.Acceptor
{
- public Socket fd()
- {
- return _fd;
- }
-
public void close()
{
Socket fd;
@@ -65,12 +60,12 @@ namespace IceSSL
public IAsyncResult beginAccept(AsyncCallback callback, object state)
{
//
- // The plugin may not be fully initialized.
+ // The plug-in may not be fully initialized.
//
if(!_instance.initialized())
{
Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
diff --git a/cs/src/IceSSL/AssemblyInfo.cs b/cs/src/IceSSL/AssemblyInfo.cs
index bc791a2640e..4c02451d399 100644
--- a/cs/src/IceSSL/AssemblyInfo.cs
+++ b/cs/src/IceSSL/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IceSSL for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/IceSSL/ConnectorI.cs b/cs/src/IceSSL/ConnectorI.cs
index fb451292040..139c9c74368 100644
--- a/cs/src/IceSSL/ConnectorI.cs
+++ b/cs/src/IceSSL/ConnectorI.cs
@@ -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.
@@ -22,12 +22,12 @@ namespace IceSSL
public IceInternal.Transceiver connect()
{
//
- // The plugin may not be fully initialized.
+ // The plug-in may not be fully initialized.
//
if(!_instance.initialized())
{
Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
diff --git a/cs/src/IceSSL/EndpointI.cs b/cs/src/IceSSL/EndpointI.cs
index 281cd0e18a0..53ff5a6e24e 100644
--- a/cs/src/IceSSL/EndpointI.cs
+++ b/cs/src/IceSSL/EndpointI.cs
@@ -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/cs/src/IceSSL/Instance.cs b/cs/src/IceSSL/Instance.cs
index a66c364ea4d..548fccf8f29 100644
--- a/cs/src/IceSSL/Instance.cs
+++ b/cs/src/IceSSL/Instance.cs
@@ -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.
@@ -32,7 +32,7 @@ namespace IceSSL
//
// Register the endpoint factory. We have to do this now, rather than
// in initialize, because the communicator may need to interpret
- // proxies before the plugin is fully initialized.
+ // proxies before the plug-in is fully initialized.
//
_facade.addEndpointFactory(new EndpointFactoryI(this));
}
@@ -261,7 +261,7 @@ namespace IceSSL
if(_initialized)
{
Ice.PluginInitializationException e = new Ice.PluginInitializationException();
- e.reason = "IceSSL: plugin is already initialized";
+ e.reason = "IceSSL: plug-in is already initialized";
throw e;
}
diff --git a/cs/src/IceSSL/Makefile b/cs/src/IceSSL/Makefile
index c52bb6bceef..fc66d5188f3 100644
--- a/cs/src/IceSSL/Makefile
+++ b/cs/src/IceSSL/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/cs/src/IceSSL/Makefile.mak b/cs/src/IceSSL/Makefile.mak
index bad010dc07f..c43fddab548 100644
--- a/cs/src/IceSSL/Makefile.mak
+++ b/cs/src/IceSSL/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/cs/src/IceSSL/Plugin.cs b/cs/src/IceSSL/Plugin.cs
index f3fcd37a057..b2217996bce 100644
--- a/cs/src/IceSSL/Plugin.cs
+++ b/cs/src/IceSSL/Plugin.cs
@@ -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.
@@ -26,7 +26,7 @@ namespace IceSSL
}
//
- // A password callback is an alternate way of supplying the plugin with
+ // A password callback is an alternate way of supplying the plug-in with
// passwords that avoids using plaintext configuration properties.
//
public interface PasswordCallback
@@ -53,13 +53,13 @@ namespace IceSSL
//
// Specify the certificates to use for SSL connections. This
- // must be done before the plugin is initialized, therefore
+ // must be done before the plug-in is initialized, therefore
// the application must define the property Ice.InitPlugins=0,
// set the certificates, and finally invoke initializePlugins
// on the PluginManager.
//
// When the application supplies its own certificates, the
- // plugin skips its normal property-based configuration.
+ // plug-in skips its normal property-based configuration.
//
abstract public void setCertificates(X509Certificate2Collection certs);
@@ -77,7 +77,7 @@ namespace IceSSL
//
// Establish the password callback object. This should be
- // done before the plugin is initialized.
+ // done before the plug-in is initialized.
//
abstract public void setPasswordCallback(PasswordCallback callback);
diff --git a/cs/src/IceSSL/PluginI.cs b/cs/src/IceSSL/PluginI.cs
index 907508278cb..527bd522e9b 100644
--- a/cs/src/IceSSL/PluginI.cs
+++ b/cs/src/IceSSL/PluginI.cs
@@ -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/cs/src/IceSSL/RFC2253.cs b/cs/src/IceSSL/RFC2253.cs
index 24265898fbc..c2e5d0332af 100644
--- a/cs/src/IceSSL/RFC2253.cs
+++ b/cs/src/IceSSL/RFC2253.cs
@@ -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/cs/src/IceSSL/TransceiverI.cs b/cs/src/IceSSL/TransceiverI.cs
index 52604332f3a..6dec1e0d61e 100644
--- a/cs/src/IceSSL/TransceiverI.cs
+++ b/cs/src/IceSSL/TransceiverI.cs
@@ -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.
@@ -22,12 +22,6 @@ namespace IceSSL
sealed class TransceiverI : IceInternal.Transceiver
{
- public Socket fd()
- {
- Debug.Assert(_fd != null);
- return _fd;
- }
-
public bool restartable()
{
return false;
diff --git a/cs/src/IceSSL/TrustManager.cs b/cs/src/IceSSL/TrustManager.cs
index f4d4712ff39..ad19665e709 100644
--- a/cs/src/IceSSL/TrustManager.cs
+++ b/cs/src/IceSSL/TrustManager.cs
@@ -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/cs/src/IceSSL/Util.cs b/cs/src/IceSSL/Util.cs
index 83e7c2d0fcd..3eac5999c24 100644
--- a/cs/src/IceSSL/Util.cs
+++ b/cs/src/IceSSL/Util.cs
@@ -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/cs/src/IceStorm/AssemblyInfo.cs b/cs/src/IceStorm/AssemblyInfo.cs
index 9cc29584ceb..21a9430397f 100644
--- a/cs/src/IceStorm/AssemblyInfo.cs
+++ b/cs/src/IceStorm/AssemblyInfo.cs
@@ -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,8 +18,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyCompany("ZeroC, Inc.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("IceStorm for .NET")]
-[assembly: AssemblyCopyright("Copyright (c) 2003-2008 ZeroC, Inc.")]
+[assembly: AssemblyCopyright("Copyright (c) 2003-2009 ZeroC, Inc.")]
[assembly: AssemblyTrademark("Ice")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("3.3.0")]
+[assembly: AssemblyVersion("3.3.1")]
[assembly: AssemblyDelaySign(false)]
diff --git a/cs/src/IceStorm/Makefile b/cs/src/IceStorm/Makefile
index 4262e4929d1..b1ce4c5ae21 100644
--- a/cs/src/IceStorm/Makefile
+++ b/cs/src/IceStorm/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/cs/src/IceStorm/Makefile.mak b/cs/src/IceStorm/Makefile.mak
index 9da5fc42517..57733b85fd0 100644
--- a/cs/src/IceStorm/Makefile.mak
+++ b/cs/src/IceStorm/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/cs/src/Makefile b/cs/src/Makefile
index 377fe9cc193..77e33638768 100644
--- a/cs/src/Makefile
+++ b/cs/src/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/cs/src/Makefile.mak b/cs/src/Makefile.mak
index eacdf99c822..59e59a4be7c 100644
--- a/cs/src/Makefile.mak
+++ b/cs/src/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/cs/test/Glacier2/Makefile b/cs/test/Glacier2/Makefile
index f76037ef9bb..3419d57e197 100644
--- a/cs/test/Glacier2/Makefile
+++ b/cs/test/Glacier2/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.
@@ -11,7 +11,7 @@ top_srcdir = ../..
include $(top_srcdir)/config/Make.rules.cs
-SUBDIRS = router attack
+SUBDIRS = router
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cs/test/Glacier2/Makefile.mak b/cs/test/Glacier2/Makefile.mak
index 3637a390d37..341595c5980 100644
--- a/cs/test/Glacier2/Makefile.mak
+++ b/cs/test/Glacier2/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.
@@ -11,7 +11,7 @@ top_srcdir = ..\..
!include $(top_srcdir)\config\Make.rules.mak.cs
-SUBDIRS = router attack
+SUBDIRS = router
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cs/test/Glacier2/attack/.depend b/cs/test/Glacier2/attack/.depend
deleted file mode 100644
index 65d12dffbe6..00000000000
--- a/cs/test/Glacier2/attack/.depend
+++ /dev/null
@@ -1 +0,0 @@
-Backend.cs: ./Backend.ice
diff --git a/cs/test/Glacier2/attack/BackendI.cs b/cs/test/Glacier2/attack/BackendI.cs
deleted file mode 100644
index bc4e3196344..00000000000
--- a/cs/test/Glacier2/attack/BackendI.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-using Test;
-
-public sealed class BackendI : BackendDisp_
-{
- public BackendI()
- {
- }
-
- public override void
- shutdown(Ice.Current current)
- {
- current.adapter.getCommunicator().shutdown();
- }
-}
diff --git a/cs/test/Glacier2/attack/Client.cs b/cs/test/Glacier2/attack/Client.cs
deleted file mode 100644
index 82ac0bb5cdf..00000000000
--- a/cs/test/Glacier2/attack/Client.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-using Test;
-using System;
-using System.Collections;
-using System.Diagnostics;
-using System.Reflection;
-
-[assembly: CLSCompliant(true)]
-
-[assembly: AssemblyTitle("IceTest")]
-[assembly: AssemblyDescription("Ice test")]
-[assembly: AssemblyCompany("ZeroC, Inc.")]
-
-public class Client
-{
- public class App : Ice.Application
- {
- public override int run(string[] args)
- {
- Console.Out.Write("getting router... ");
- Console.Out.Flush();
- Ice.ObjectPrx routerBase = communicator().stringToProxy("Glacier2/router:default -p 12347 -t 10000");
- Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.checkedCast(routerBase);
- test(router != null);
- Console.Out.WriteLine("ok");
-
- Console.Out.Write("creating session... ");
- Console.Out.Flush();
- router.createSession("userid", "abc123");
- communicator().setDefaultRouter(router);
- Console.Out.WriteLine("ok");
-
- Console.Out.Write("making thousands of invocations on proxies... ");
- Console.Out.Flush();
- Ice.ObjectPrx backendBase = communicator().stringToProxy("dummy:tcp -p 12010 -t 10000");
- BackendPrx backend = BackendPrxHelper.uncheckedCast(backendBase);
- backend.ice_ping();
-
- Hashtable backends = new Hashtable();
- Random rand = new Random(unchecked((int)DateTime.Now.Ticks));
-
- String msg = "";
- for(int i = 1; i <= 10000; ++i)
- {
- if(i % 100 == 0)
- {
- for(int j = 0; j < msg.Length; ++j)
- {
- Console.Out.Write('\b');
- }
-
- msg = "" + i;
- Console.Out.Write(i);
- Console.Out.Flush();
- }
-
- Ice.Identity ident = new Ice.Identity("", "");
- ident.name += (char)('A' + rand.Next() % 26);
-
- int len = rand.Next() % 2;
- for(int j = 0; j < len; ++j)
- {
- ident.category += (char)('a' + rand.Next() % 26);
- }
-
- BackendPrx newBackend = BackendPrxHelper.uncheckedCast(backendBase.ice_identity(ident));
-
- if(!backends.ContainsKey(newBackend))
- {
- backends.Add(newBackend, newBackend);
- backend = newBackend;
- }
- else
- {
- backend = (BackendPrx)backends[newBackend];
- }
-
- backend.ice_ping();
- }
-
- for(int j = 0; j < msg.Length; ++j)
- {
- Console.Out.Write('\b');
- }
- for(int j = 0; j < msg.Length; ++j)
- {
- Console.Out.Write(' ');
- }
- for(int j = 0; j < msg.Length; ++j)
- {
- Console.Out.Write('\b');
- }
- Console.Out.WriteLine("ok");
-
- Console.Out.Write("testing server and router shutdown... ");
- Console.Out.Flush();
- backend.shutdown();
- communicator().setDefaultRouter(null);
- Ice.ObjectPrx processBase =
- communicator().stringToProxy("Glacier2/admin -f Process:tcp -h 127.0.0.1 -p 12348 -t 10000");
- Ice.ProcessPrx process = Ice.ProcessPrxHelper.checkedCast(processBase);
- test(process != null);
- process.shutdown();
- try
- {
- process.ice_ping();
- test(false);
- }
- catch(Ice.LocalException)
- {
- Console.Out.WriteLine("ok");
- }
-
- return 0;
- }
-
- private static void
- test(bool b)
- {
- if(!b)
- {
- throw new Exception();
- }
- }
- }
-
- public static void Main(string[] args)
- {
- Debug.Listeners.Add(new ConsoleTraceListener());
-
- //
- // We want to check whether the client retries for evicted
- // proxies, even with regular retries disabled.
- //
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties(ref args);
- initData.properties.setProperty("Ice.RetryIntervals", "-1");
-
- App app = new App();
- int status = app.main(args, initData);
-
- if(status != 0)
- {
- Environment.Exit(status);
- }
- }
-}
diff --git a/cs/test/Glacier2/attack/Makefile b/cs/test/Glacier2/attack/Makefile
deleted file mode 100644
index e9a50c8eb6c..00000000000
--- a/cs/test/Glacier2/attack/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. 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 = ../../..
-
-TARGETS = client.exe server.exe
-
-C_SRCS = Client.cs generated/Backend.cs
-S_SRCS = Server.cs generated/Backend.cs BackendI.cs
-
-SLICE_SRCS = $(SDIR)/Backend.ice
-
-SDIR = .
-
-GDIR = generated
-
-include $(top_srcdir)/config/Make.rules.cs
-
-MCSFLAGS := $(MCSFLAGS) -target:exe
-
-SLICE2CSFLAGS := $(SLICE2CSFLAGS) --ice -I. -I$(slicedir)
-
-client.exe: $(C_SRCS) $(GEN_SRCS)
- $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(call ref,Glacier2) $(subst /,$(DSEP),$^)
-
-server.exe: $(S_SRCS) $(GEN_SRCS)
- $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(call ref,Glacier2) $(subst /,$(DSEP),$^)
-
-include .depend
diff --git a/cs/test/Glacier2/attack/Makefile.mak b/cs/test/Glacier2/attack/Makefile.mak
deleted file mode 100644
index c8b06eb0039..00000000000
--- a/cs/test/Glacier2/attack/Makefile.mak
+++ /dev/null
@@ -1,36 +0,0 @@
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. 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 = ..\..\..
-
-TARGETS = client.exe server.exe
-TARGETS_CONFIG = $(TARGETS:.exe=.exe.config)
-
-C_SRCS = Client.cs
-S_SRCS = Server.cs BackendI.cs
-
-GEN_SRCS = $(GDIR)\Backend.cs
-
-SDIR = .
-
-GDIR = generated
-
-!include $(top_srcdir)\config\Make.rules.mak.cs
-
-MCSFLAGS = $(MCSFLAGS) -target:exe
-
-SLICE2CSFLAGS = $(SLICE2CSFLAGS) --ice -I. -I$(slicedir)
-
-client.exe: $(C_SRCS) $(GEN_SRCS)
- $(MCS) $(MCSFLAGS) -out:$@ -r:$(refdir)\Ice.dll -r:$(refdir)\Glacier2.dll $(C_SRCS) $(GEN_SRCS)
-
-server.exe: $(S_SRCS) $(GEN_SRCS)
- $(MCS) $(MCSFLAGS) -out:$@ -r:$(refdir)\Ice.dll -r:$(refdir)\Glacier2.dll $(S_SRCS) $(GEN_SRCS)
-
-!include .depend
diff --git a/cs/test/Glacier2/attack/Server.cs b/cs/test/Glacier2/attack/Server.cs
deleted file mode 100644
index 5869d2c89d6..00000000000
--- a/cs/test/Glacier2/attack/Server.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-using Test;
-using System;
-using System.Diagnostics;
-using System.Reflection;
-
-[assembly: CLSCompliant(true)]
-
-[assembly: AssemblyTitle("IceTest")]
-[assembly: AssemblyDescription("Ice test")]
-[assembly: AssemblyCompany("ZeroC, Inc.")]
-
-class Server
-{
- sealed class ServantLocatorI : Ice.ServantLocator
- {
- public ServantLocatorI()
- {
- _backend = new BackendI();
- }
-
- public Ice.Object locate(Ice.Current curr, out System.Object cookie)
- {
- cookie = null;
- return _backend;
- }
-
- public void finished(Ice.Current curr, Ice.Object servant, System.Object cookie)
- {
- }
-
- public void deactivate(string category)
- {
- }
-
- private Backend _backend;
- }
-
- class App : Ice.Application
- {
- public override int run(string[] args)
- {
- communicator().getProperties().setProperty("BackendAdapter.Endpoints", "tcp -p 12010 -t 10000");
- Ice.ObjectAdapter adapter = communicator().createObjectAdapter("BackendAdapter");
- adapter.addServantLocator(new ServantLocatorI(), "");
- adapter.activate();
- communicator().waitForShutdown();
- return 0;
- }
- }
-
- public static void Main(string[] args)
- {
- Debug.Listeners.Add(new ConsoleTraceListener());
-
- App app = new App();
- int status = app.main(args);
- if(status != 0)
- {
- System.Environment.Exit(status);
- }
- }
-}
diff --git a/cs/test/Glacier2/attack/passwords b/cs/test/Glacier2/attack/passwords
deleted file mode 100644
index a1527dec2b9..00000000000
--- a/cs/test/Glacier2/attack/passwords
+++ /dev/null
@@ -1 +0,0 @@
-userid xxMqsnnDcK8tw \ No newline at end of file
diff --git a/cs/test/Glacier2/attack/run.py b/cs/test/Glacier2/attack/run.py
deleted file mode 100755
index e3494e44d50..00000000000
--- a/cs/test/Glacier2/attack/run.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. 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 os, sys, getopt
-
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-name = os.path.join("Glacier2", "router")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-args = r' --Ice.PrintProcessId' \
- r' --Glacier2.RoutingTable.MaxSize=10' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + os.path.join(testdir, "passwords") + '"'
-
-print "starting router...",
-routerCfg = TestUtil.DriverConfig("server")
-routerCfg.lang = "cpp"
-starterPipe = TestUtil.startServer(router, args, routerCfg)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
-print "ok"
-
-name = os.path.join("Glacier2", "attack")
-
-TestUtil.clientServerTest(name)
-
-if TestUtil.serverStatus():
- sys.exit(0)
-
-sys.exit(0)
diff --git a/cs/test/Glacier2/router/Callback.ice b/cs/test/Glacier2/router/Callback.ice
index c35b67ec95d..8df703ebedc 100644
--- a/cs/test/Glacier2/router/Callback.ice
+++ b/cs/test/Glacier2/router/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/cs/test/Glacier2/router/CallbackI.cs b/cs/test/Glacier2/router/CallbackI.cs
index 885455d643b..9153c1ba560 100644
--- a/cs/test/Glacier2/router/CallbackI.cs
+++ b/cs/test/Glacier2/router/CallbackI.cs
@@ -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/cs/test/Glacier2/router/Client.cs b/cs/test/Glacier2/router/Client.cs
index 269129714d0..4e9904b2802 100644
--- a/cs/test/Glacier2/router/Client.cs
+++ b/cs/test/Glacier2/router/Client.cs
@@ -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/cs/test/Glacier2/router/Makefile b/cs/test/Glacier2/router/Makefile
index 002db0aa8dd..331cac260b8 100644
--- a/cs/test/Glacier2/router/Makefile
+++ b/cs/test/Glacier2/router/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/cs/test/Glacier2/router/Makefile.mak b/cs/test/Glacier2/router/Makefile.mak
index 539673a6c59..d8f2ebbe752 100644
--- a/cs/test/Glacier2/router/Makefile.mak
+++ b/cs/test/Glacier2/router/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/cs/test/Glacier2/router/Server.cs b/cs/test/Glacier2/router/Server.cs
index 1e40f11c11d..0baa3f0dd64 100644
--- a/cs/test/Glacier2/router/Server.cs
+++ b/cs/test/Glacier2/router/Server.cs
@@ -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/cs/test/Glacier2/router/run.py b/cs/test/Glacier2/router/run.py
index 73cc7da6a36..de0004085d3 100755
--- a/cs/test/Glacier2/router/run.py
+++ b/cs/test/Glacier2/router/run.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.
@@ -10,60 +10,42 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+sys.path.append(os.path.join(path[0]))
+from scripts import *
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-name = os.path.join("Glacier2", "router")
-testdir = os.path.dirname(os.path.abspath(__file__))
-args = r' --Ice.Warn.Dispatch=0' + \
- r' --Ice.Warn.Connections=0' + \
- r' --Glacier2.Filter.Category.Accept="c1 c2"' + \
- r' --Glacier2.Filter.Category.AcceptUser="2"' + \
- r' --Glacier2.SessionTimeout="30"' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + os.path.join(testdir, "passwords") + '"'
+args = ' --Ice.Warn.Dispatch=0' + \
+ ' --Ice.Warn.Connections=0' + \
+ ' --Glacier2.Filter.Category.Accept="c1 c2"' + \
+ ' --Glacier2.Filter.Category.AcceptUser="2"' + \
+ ' --Glacier2.SessionTimeout="30"' + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.CryptPasswords="' + os.path.join(os.getcwd(), "passwords") + '"'
print "starting router...",
routerConfig = TestUtil.DriverConfig("server")
routerConfig.lang = "cpp"
-starterPipe = TestUtil.startServer(router, args, routerConfig)
-TestUtil.getServerPid(starterPipe)
-#
-# For this test we don't want to add the router to the server threads
-# since we want the the router to run over two calls to
-# mixedClientServerTest
-#
-TestUtil.getAdapterReady(starterPipe, False, 2)
+starterProc = TestUtil.startServer(router, args, count=2, config=routerConfig)
print "ok"
-starterThread = TestUtil.ReaderThread(starterPipe);
-starterThread.start()
-TestUtil.mixedClientServerTest(name)
+TestUtil.clientServerTest()
#
# We run the test again, to check whether the glacier router can
# handle multiple clients. Also, when we run for the second time, we
# want the client to shutdown the router after running the tests.
#
-TestUtil.mixedClientServerTestWithOptions(name, "", " --shutdown")
-
-starterStatus = TestUtil.closePipe(starterPipe)
-
-starterThread.join()
-if starterThread.getStatus():
- sys.exit(1)
+TestUtil.clientServerTest(additionalClientOptions=" --shutdown")
-sys.exit(0)
+starterProc.waitTestSuccess()
diff --git a/cs/test/Ice/Makefile b/cs/test/Ice/Makefile
index 40c9bcf672b..8d18f8d2e83 100644
--- a/cs/test/Ice/Makefile
+++ b/cs/test/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.
@@ -32,7 +32,8 @@ SUBDIRS = application \
interceptor \
dictMapping \
seqMapping \
- background
+ background \
+ udp
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
diff --git a/cs/test/Ice/Makefile.mak b/cs/test/Ice/Makefile.mak
index 8e8ea44e28e..3632757730a 100644
--- a/cs/test/Ice/Makefile.mak
+++ b/cs/test/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.
@@ -32,7 +32,8 @@ SUBDIRS = application \
interceptor \
dictMapping \
seqMapping \
- background
+ background \
+ udp
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cs/test/Ice/adapterDeactivation/AllTests.cs b/cs/test/Ice/adapterDeactivation/AllTests.cs
index ba39f42a2c7..e7aac6b42c0 100644
--- a/cs/test/Ice/adapterDeactivation/AllTests.cs
+++ b/cs/test/Ice/adapterDeactivation/AllTests.cs
@@ -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/cs/test/Ice/adapterDeactivation/Client.cs b/cs/test/Ice/adapterDeactivation/Client.cs
index 2d855294ede..e7fd6e9bd93 100644
--- a/cs/test/Ice/adapterDeactivation/Client.cs
+++ b/cs/test/Ice/adapterDeactivation/Client.cs
@@ -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/cs/test/Ice/adapterDeactivation/Collocated.cs b/cs/test/Ice/adapterDeactivation/Collocated.cs
index a6a55600efb..bd00db59c52 100644
--- a/cs/test/Ice/adapterDeactivation/Collocated.cs
+++ b/cs/test/Ice/adapterDeactivation/Collocated.cs
@@ -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/cs/test/Ice/adapterDeactivation/CookieI.cs b/cs/test/Ice/adapterDeactivation/CookieI.cs
index 5ddf4f64588..f3b54d9eb49 100644
--- a/cs/test/Ice/adapterDeactivation/CookieI.cs
+++ b/cs/test/Ice/adapterDeactivation/CookieI.cs
@@ -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/cs/test/Ice/adapterDeactivation/Makefile b/cs/test/Ice/adapterDeactivation/Makefile
index 3876502eafe..834ea82a3df 100644
--- a/cs/test/Ice/adapterDeactivation/Makefile
+++ b/cs/test/Ice/adapterDeactivation/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/cs/test/Ice/adapterDeactivation/Makefile.mak b/cs/test/Ice/adapterDeactivation/Makefile.mak
index b5e07aa7604..c038fc6487d 100644
--- a/cs/test/Ice/adapterDeactivation/Makefile.mak
+++ b/cs/test/Ice/adapterDeactivation/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/cs/test/Ice/adapterDeactivation/ServantLocatorI.cs b/cs/test/Ice/adapterDeactivation/ServantLocatorI.cs
index 454d48011fd..1514dcffca0 100644
--- a/cs/test/Ice/adapterDeactivation/ServantLocatorI.cs
+++ b/cs/test/Ice/adapterDeactivation/ServantLocatorI.cs
@@ -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/cs/test/Ice/adapterDeactivation/Server.cs b/cs/test/Ice/adapterDeactivation/Server.cs
index be2c9cb82e4..a01e85d44d6 100644
--- a/cs/test/Ice/adapterDeactivation/Server.cs
+++ b/cs/test/Ice/adapterDeactivation/Server.cs
@@ -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/cs/test/Ice/adapterDeactivation/Test.ice b/cs/test/Ice/adapterDeactivation/Test.ice
index df9f15b406e..1d6a9a52d40 100644
--- a/cs/test/Ice/adapterDeactivation/Test.ice
+++ b/cs/test/Ice/adapterDeactivation/Test.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/cs/test/Ice/adapterDeactivation/TestI.cs b/cs/test/Ice/adapterDeactivation/TestI.cs
index 66092ebc3b7..6d7fa3baeec 100644
--- a/cs/test/Ice/adapterDeactivation/TestI.cs
+++ b/cs/test/Ice/adapterDeactivation/TestI.cs
@@ -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/cs/test/Ice/adapterDeactivation/run.py b/cs/test/Ice/adapterDeactivation/run.py
index d6b3157dd2e..41deffb909d 100755
--- a/cs/test/Ice/adapterDeactivation/run.py
+++ b/cs/test/Ice/adapterDeactivation/run.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.
@@ -10,19 +10,15 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "adapterDeactivation")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/application/Client.cs b/cs/test/Ice/application/Client.cs
index aa3728a67cc..c7e8d682a0d 100644
--- a/cs/test/Ice/application/Client.cs
+++ b/cs/test/Ice/application/Client.cs
@@ -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/cs/test/Ice/application/Makefile b/cs/test/Ice/application/Makefile
index 744ee50df62..21f9b5aed4d 100644
--- a/cs/test/Ice/application/Makefile
+++ b/cs/test/Ice/application/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/cs/test/Ice/application/Makefile.mak b/cs/test/Ice/application/Makefile.mak
index e414c80bde2..5f697a836af 100644
--- a/cs/test/Ice/application/Makefile.mak
+++ b/cs/test/Ice/application/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/cs/test/Ice/background/Acceptor.cs b/cs/test/Ice/background/Acceptor.cs
index f3123061e3e..75913dff7a7 100644
--- a/cs/test/Ice/background/Acceptor.cs
+++ b/cs/test/Ice/background/Acceptor.cs
@@ -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.
@@ -12,11 +12,6 @@ using System.Net.Sockets;
internal class Acceptor : IceInternal.Acceptor
{
- public Socket fd()
- {
- return _acceptor.fd();
- }
-
public void close()
{
_acceptor.close();
diff --git a/cs/test/Ice/background/AllTests.cs b/cs/test/Ice/background/AllTests.cs
index dd39346635a..1c6c3373729 100644
--- a/cs/test/Ice/background/AllTests.cs
+++ b/cs/test/Ice/background/AllTests.cs
@@ -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/cs/test/Ice/background/BackgroundControllerI.cs b/cs/test/Ice/background/BackgroundControllerI.cs
index 9c253f6c9c0..bcd7b4ec4a4 100644
--- a/cs/test/Ice/background/BackgroundControllerI.cs
+++ b/cs/test/Ice/background/BackgroundControllerI.cs
@@ -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/cs/test/Ice/background/BackgroundI.cs b/cs/test/Ice/background/BackgroundI.cs
index 2e3fe211cb5..3fb5c5a98bf 100644
--- a/cs/test/Ice/background/BackgroundI.cs
+++ b/cs/test/Ice/background/BackgroundI.cs
@@ -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/cs/test/Ice/background/Client.cs b/cs/test/Ice/background/Client.cs
index 6092d50c09d..55f6c85b83f 100644
--- a/cs/test/Ice/background/Client.cs
+++ b/cs/test/Ice/background/Client.cs
@@ -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.
@@ -49,7 +49,7 @@ public class Client
initData.properties.setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
string defaultProtocol = initData.properties.getPropertyWithDefault("Ice.Default.Protocol", "tcp");
initData.properties.setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
diff --git a/cs/test/Ice/background/Configuration.cs b/cs/test/Ice/background/Configuration.cs
index a597555737b..ab37f3d3bed 100644
--- a/cs/test/Ice/background/Configuration.cs
+++ b/cs/test/Ice/background/Configuration.cs
@@ -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/cs/test/Ice/background/Connector.cs b/cs/test/Ice/background/Connector.cs
index 0c89e096b29..6f4b9a0d863 100644
--- a/cs/test/Ice/background/Connector.cs
+++ b/cs/test/Ice/background/Connector.cs
@@ -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/cs/test/Ice/background/EndpointFactory.cs b/cs/test/Ice/background/EndpointFactory.cs
index 39c408e834d..123bb1611b5 100644
--- a/cs/test/Ice/background/EndpointFactory.cs
+++ b/cs/test/Ice/background/EndpointFactory.cs
@@ -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/cs/test/Ice/background/EndpointI.cs b/cs/test/Ice/background/EndpointI.cs
index 48438b53a33..b6fb007da17 100644
--- a/cs/test/Ice/background/EndpointI.cs
+++ b/cs/test/Ice/background/EndpointI.cs
@@ -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/cs/test/Ice/background/Makefile b/cs/test/Ice/background/Makefile
index 6f564e59f5e..8e1c366383f 100644
--- a/cs/test/Ice/background/Makefile
+++ b/cs/test/Ice/background/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/cs/test/Ice/background/Makefile.mak b/cs/test/Ice/background/Makefile.mak
index a43c8a91b66..fb56d1bbcee 100644
--- a/cs/test/Ice/background/Makefile.mak
+++ b/cs/test/Ice/background/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/cs/test/Ice/background/PluginI.cs b/cs/test/Ice/background/PluginI.cs
index 731b5bd4e9f..3b587ca81a2 100644
--- a/cs/test/Ice/background/PluginI.cs
+++ b/cs/test/Ice/background/PluginI.cs
@@ -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/cs/test/Ice/background/Server.cs b/cs/test/Ice/background/Server.cs
index caac923f686..01a618207d7 100644
--- a/cs/test/Ice/background/Server.cs
+++ b/cs/test/Ice/background/Server.cs
@@ -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.
@@ -133,7 +133,7 @@ public class Server
initData.properties.setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
string defaultProtocol = initData.properties.getPropertyWithDefault("Ice.Default.Protocol", "tcp");
initData.properties.setProperty("Ice.Default.Protocol", "test-" + defaultProtocol);
diff --git a/cs/test/Ice/background/Test.ice b/cs/test/Ice/background/Test.ice
index abfeee52a4e..93d42454edf 100644
--- a/cs/test/Ice/background/Test.ice
+++ b/cs/test/Ice/background/Test.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/cs/test/Ice/background/Transceiver.cs b/cs/test/Ice/background/Transceiver.cs
index 2dee3c1a421..3b113550fc5 100644
--- a/cs/test/Ice/background/Transceiver.cs
+++ b/cs/test/Ice/background/Transceiver.cs
@@ -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.
@@ -12,11 +12,6 @@ using System.Net.Sockets;
internal class Transceiver : IceInternal.Transceiver
{
- public Socket fd()
- {
- return _transceiver.fd();
- }
-
public bool restartable()
{
return _transceiver.restartable();
diff --git a/cs/test/Ice/background/run.py b/cs/test/Ice/background/run.py
index 9e6678eb11c..b1c2e15a493 100755
--- a/cs/test/Ice/background/run.py
+++ b/cs/test/Ice/background/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "background")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/binding/AllTests.cs b/cs/test/Ice/binding/AllTests.cs
index 936ef34fb34..b6fdbe989dc 100644
--- a/cs/test/Ice/binding/AllTests.cs
+++ b/cs/test/Ice/binding/AllTests.cs
@@ -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/cs/test/Ice/binding/Client.cs b/cs/test/Ice/binding/Client.cs
index 71e866a4713..ea0a2ba4af6 100644
--- a/cs/test/Ice/binding/Client.cs
+++ b/cs/test/Ice/binding/Client.cs
@@ -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/cs/test/Ice/binding/Makefile b/cs/test/Ice/binding/Makefile
index 874918d1474..9dd938b3f72 100644
--- a/cs/test/Ice/binding/Makefile
+++ b/cs/test/Ice/binding/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/cs/test/Ice/binding/Makefile.mak b/cs/test/Ice/binding/Makefile.mak
index a5d16a169a6..dd739500c0f 100644
--- a/cs/test/Ice/binding/Makefile.mak
+++ b/cs/test/Ice/binding/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/cs/test/Ice/binding/RemoteCommunicatorI.cs b/cs/test/Ice/binding/RemoteCommunicatorI.cs
index b9fc27b8d8f..2b04cddcfae 100644
--- a/cs/test/Ice/binding/RemoteCommunicatorI.cs
+++ b/cs/test/Ice/binding/RemoteCommunicatorI.cs
@@ -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/cs/test/Ice/binding/RemoteObjectAdapterI.cs b/cs/test/Ice/binding/RemoteObjectAdapterI.cs
index 31fd047aa99..78b373ab923 100644
--- a/cs/test/Ice/binding/RemoteObjectAdapterI.cs
+++ b/cs/test/Ice/binding/RemoteObjectAdapterI.cs
@@ -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/cs/test/Ice/binding/Server.cs b/cs/test/Ice/binding/Server.cs
index 06b393ee580..b1b1fb8821f 100644
--- a/cs/test/Ice/binding/Server.cs
+++ b/cs/test/Ice/binding/Server.cs
@@ -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/cs/test/Ice/binding/Test.ice b/cs/test/Ice/binding/Test.ice
index 5baef2fb7d4..40783e4535c 100644
--- a/cs/test/Ice/binding/Test.ice
+++ b/cs/test/Ice/binding/Test.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/cs/test/Ice/binding/TestI.cs b/cs/test/Ice/binding/TestI.cs
index ea7e7cf9ccc..49de6152a45 100644
--- a/cs/test/Ice/binding/TestI.cs
+++ b/cs/test/Ice/binding/TestI.cs
@@ -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/cs/test/Ice/binding/run.py b/cs/test/Ice/binding/run.py
index b1435679753..b1c2e15a493 100755
--- a/cs/test/Ice/binding/run.py
+++ b/cs/test/Ice/binding/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/checksum/client/.depend b/cs/test/Ice/checksum/.depend
index d9813471586..d9813471586 100644
--- a/cs/test/Ice/checksum/client/.depend
+++ b/cs/test/Ice/checksum/.depend
diff --git a/cs/test/Ice/checksum/client/AllTests.cs b/cs/test/Ice/checksum/AllTests.cs
index de48e691029..3b90901e9a1 100644
--- a/cs/test/Ice/checksum/client/AllTests.cs
+++ b/cs/test/Ice/checksum/AllTests.cs
@@ -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/cs/test/Ice/checksum/client/Client.cs b/cs/test/Ice/checksum/Client.cs
index d69a8e30562..ae20659d12f 100644
--- a/cs/test/Ice/checksum/client/Client.cs
+++ b/cs/test/Ice/checksum/Client.cs
@@ -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/cs/test/Ice/checksum/Makefile b/cs/test/Ice/checksum/Makefile
index cf078f7693b..ac86a4fcd37 100644
--- a/cs/test/Ice/checksum/Makefile
+++ b/cs/test/Ice/checksum/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.
@@ -9,9 +9,26 @@
top_srcdir = ../../..
+TARGETS = client.exe
+
+C_SRCS = AllTests.cs Client.cs
+
+SLICE_SRCS = $(SDIR)/Test.ice $(SDIR)/Types.ice
+
+SDIR = .
+
+GDIR = generated
+
include $(top_srcdir)/config/Make.rules.cs
-SUBDIRS = client server
+MCSFLAGS := $(MCSFLAGS) -target:exe
+
+SLICE2CSFLAGS := $(SLICE2CSFLAGS) --checksum --ice -I. -I$(slicedir)
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
+SUBDIRS = server
$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
@@ -22,3 +39,5 @@ $(EVERYTHING)::
test::
@python $(top_srcdir)/allTests.py
+
+include .depend
diff --git a/cs/test/Ice/checksum/Makefile.mak b/cs/test/Ice/checksum/Makefile.mak
index f74af5e6607..268681bdc7a 100644
--- a/cs/test/Ice/checksum/Makefile.mak
+++ b/cs/test/Ice/checksum/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.
@@ -9,9 +9,32 @@
top_srcdir = ..\..\..
+TARGETS = client.exe
+TARGETS_CONFIG = $(TARGETS:.exe=.exe.config)
+
+C_SRCS = AllTests.cs Client.cs
+
+SLICE_SRCS = $(SDIR)\Test.ice \
+ $(SDIR)\Types.ice
+
+GEN_SRCS = $(GDIR)\Test.cs \
+ $(GDIR)\Types.cs
+
+SDIR = .
+
+GDIR = generated
+
!include $(top_srcdir)\config\Make.rules.mak.cs
-SUBDIRS = client server
+MCSFLAGS = $(MCSFLAGS) -target:exe
+
+SLICE2CSFLAGS = $(SLICE2CSFLAGS) --checksum --ice -I. -I$(slicedir)
+
+client.exe: $(C_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:$(refdir)\Ice.dll $(C_SRCS) $(GEN_SRCS)
+
+
+SUBDIRS = server
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
@@ -20,3 +43,5 @@ $(EVERYTHING)::
test::
@python $(top_srcdir)/allTests.py
+
+!include .depend
diff --git a/java/test/Ice/checksum/client/Test.ice b/cs/test/Ice/checksum/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/java/test/Ice/checksum/client/Test.ice
+++ b/cs/test/Ice/checksum/Test.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/test/Ice/checksum/client/Types.ice b/cs/test/Ice/checksum/Types.ice
index ea5e644a755..f9f05a43e4c 100644
--- a/cpp/test/Ice/checksum/client/Types.ice
+++ b/cs/test/Ice/checksum/Types.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/cs/test/Ice/checksum/client/generated/.gitignore b/cs/test/Ice/checksum/generated/.gitignore
index 39af5887579..39af5887579 100644
--- a/cs/test/Ice/checksum/client/generated/.gitignore
+++ b/cs/test/Ice/checksum/generated/.gitignore
diff --git a/cs/test/Ice/checksum/run.py b/cs/test/Ice/checksum/run.py
index ede7e1a4419..023492a48e4 100755
--- a/cs/test/Ice/checksum/run.py
+++ b/cs/test/Ice/checksum/run.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.
@@ -10,19 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "checksum")
-
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", os.path.join("server", "server"), \
- os.path.join("client", "client"))
-sys.exit(0)
+TestUtil.clientServerTest(server = os.path.join(os.getcwd(), "server", "server"))
diff --git a/cs/test/Ice/checksum/server/Makefile b/cs/test/Ice/checksum/server/Makefile
index 0d9430cbb7c..fa46d678c26 100644
--- a/cs/test/Ice/checksum/server/Makefile
+++ b/cs/test/Ice/checksum/server/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/cs/test/Ice/checksum/server/Makefile.mak b/cs/test/Ice/checksum/server/Makefile.mak
index 0fd0336b3c6..b7ff79eaab1 100644
--- a/cs/test/Ice/checksum/server/Makefile.mak
+++ b/cs/test/Ice/checksum/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/cs/test/Ice/checksum/server/Server.cs b/cs/test/Ice/checksum/server/Server.cs
index ff3af2b670c..e9fa8785996 100644
--- a/cs/test/Ice/checksum/server/Server.cs
+++ b/cs/test/Ice/checksum/server/Server.cs
@@ -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/cs/test/Ice/checksum/server/Test.ice b/cs/test/Ice/checksum/server/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/cs/test/Ice/checksum/server/Test.ice
+++ b/cs/test/Ice/checksum/server/Test.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/cs/test/Ice/checksum/server/TestI.cs b/cs/test/Ice/checksum/server/TestI.cs
index 55d1656cd89..136b687206b 100644
--- a/cs/test/Ice/checksum/server/TestI.cs
+++ b/cs/test/Ice/checksum/server/TestI.cs
@@ -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/cs/test/Ice/checksum/server/Types.ice b/cs/test/Ice/checksum/server/Types.ice
index e85192aef7e..27bac1ecdd4 100644
--- a/cs/test/Ice/checksum/server/Types.ice
+++ b/cs/test/Ice/checksum/server/Types.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/cs/test/Ice/dictMapping/AllTests.cs b/cs/test/Ice/dictMapping/AllTests.cs
index 773cf3c329e..4a69d79863f 100644
--- a/cs/test/Ice/dictMapping/AllTests.cs
+++ b/cs/test/Ice/dictMapping/AllTests.cs
@@ -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/cs/test/Ice/dictMapping/Client.cs b/cs/test/Ice/dictMapping/Client.cs
index 90ebcd39d5f..a112da154e4 100644
--- a/cs/test/Ice/dictMapping/Client.cs
+++ b/cs/test/Ice/dictMapping/Client.cs
@@ -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/cs/test/Ice/dictMapping/Collocated.cs b/cs/test/Ice/dictMapping/Collocated.cs
index 73412ceaf2d..ebf36318108 100644
--- a/cs/test/Ice/dictMapping/Collocated.cs
+++ b/cs/test/Ice/dictMapping/Collocated.cs
@@ -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/cs/test/Ice/dictMapping/Makefile b/cs/test/Ice/dictMapping/Makefile
index 7f392ec764e..c475aa68182 100644
--- a/cs/test/Ice/dictMapping/Makefile
+++ b/cs/test/Ice/dictMapping/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/cs/test/Ice/dictMapping/Makefile.mak b/cs/test/Ice/dictMapping/Makefile.mak
index 13c60fa37ed..2d517180f5f 100644
--- a/cs/test/Ice/dictMapping/Makefile.mak
+++ b/cs/test/Ice/dictMapping/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/cs/test/Ice/dictMapping/MyClassAMDI.cs b/cs/test/Ice/dictMapping/MyClassAMDI.cs
index 7dd249c1250..1bde8941392 100644
--- a/cs/test/Ice/dictMapping/MyClassAMDI.cs
+++ b/cs/test/Ice/dictMapping/MyClassAMDI.cs
@@ -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/cs/test/Ice/dictMapping/MyClassI.cs b/cs/test/Ice/dictMapping/MyClassI.cs
index 7e3fba9b560..4df2b105517 100644
--- a/cs/test/Ice/dictMapping/MyClassI.cs
+++ b/cs/test/Ice/dictMapping/MyClassI.cs
@@ -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/cs/test/Ice/dictMapping/Server.cs b/cs/test/Ice/dictMapping/Server.cs
index 3f317c872e0..1b5900a2f44 100644
--- a/cs/test/Ice/dictMapping/Server.cs
+++ b/cs/test/Ice/dictMapping/Server.cs
@@ -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/cs/test/Ice/dictMapping/Test.ice b/cs/test/Ice/dictMapping/Test.ice
index 68008be9db7..82d751a07b9 100644
--- a/cs/test/Ice/dictMapping/Test.ice
+++ b/cs/test/Ice/dictMapping/Test.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/cs/test/Ice/dictMapping/TestAMD.ice b/cs/test/Ice/dictMapping/TestAMD.ice
index 6eb26fa78b6..0f15b053747 100644
--- a/cs/test/Ice/dictMapping/TestAMD.ice
+++ b/cs/test/Ice/dictMapping/TestAMD.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/cs/test/Ice/dictMapping/Twoways.cs b/cs/test/Ice/dictMapping/Twoways.cs
index c228ee38c83..29cea8dc2fa 100644
--- a/cs/test/Ice/dictMapping/Twoways.cs
+++ b/cs/test/Ice/dictMapping/Twoways.cs
@@ -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/cs/test/Ice/dictMapping/TwowaysAMI.cs b/cs/test/Ice/dictMapping/TwowaysAMI.cs
index c23d6179251..7c6982d0658 100644
--- a/cs/test/Ice/dictMapping/TwowaysAMI.cs
+++ b/cs/test/Ice/dictMapping/TwowaysAMI.cs
@@ -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/cs/test/Ice/dictMapping/run.py b/cs/test/Ice/dictMapping/run.py
index 281e64cc767..41d0413642d 100755
--- a/cs/test/Ice/dictMapping/run.py
+++ b/cs/test/Ice/dictMapping/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "dictMapping")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/exceptions/AllTests.cs b/cs/test/Ice/exceptions/AllTests.cs
index ceae3d984a7..dbb1c6b224f 100644
--- a/cs/test/Ice/exceptions/AllTests.cs
+++ b/cs/test/Ice/exceptions/AllTests.cs
@@ -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/cs/test/Ice/exceptions/Client.cs b/cs/test/Ice/exceptions/Client.cs
index f88d5edefad..8cfb40b3364 100644
--- a/cs/test/Ice/exceptions/Client.cs
+++ b/cs/test/Ice/exceptions/Client.cs
@@ -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/cs/test/Ice/exceptions/Collocated.cs b/cs/test/Ice/exceptions/Collocated.cs
index 7452b6db6c1..bcfb5ea4eee 100644
--- a/cs/test/Ice/exceptions/Collocated.cs
+++ b/cs/test/Ice/exceptions/Collocated.cs
@@ -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/cs/test/Ice/exceptions/EmptyI.cs b/cs/test/Ice/exceptions/EmptyI.cs
index 179775f7be8..554fcb208f2 100644
--- a/cs/test/Ice/exceptions/EmptyI.cs
+++ b/cs/test/Ice/exceptions/EmptyI.cs
@@ -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/cs/test/Ice/exceptions/Makefile b/cs/test/Ice/exceptions/Makefile
index b8f3005ee6e..0b2e3d10b9d 100644
--- a/cs/test/Ice/exceptions/Makefile
+++ b/cs/test/Ice/exceptions/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/cs/test/Ice/exceptions/Makefile.mak b/cs/test/Ice/exceptions/Makefile.mak
index 299b541f314..b1841d82336 100644
--- a/cs/test/Ice/exceptions/Makefile.mak
+++ b/cs/test/Ice/exceptions/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/cs/test/Ice/exceptions/ObjectFactoryI.cs b/cs/test/Ice/exceptions/ObjectFactoryI.cs
index d366698b4f4..a651be484b6 100644
--- a/cs/test/Ice/exceptions/ObjectFactoryI.cs
+++ b/cs/test/Ice/exceptions/ObjectFactoryI.cs
@@ -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/cs/test/Ice/exceptions/ServantLocatorI.cs b/cs/test/Ice/exceptions/ServantLocatorI.cs
index 047c8aeeec0..c43c7ddfc78 100644
--- a/cs/test/Ice/exceptions/ServantLocatorI.cs
+++ b/cs/test/Ice/exceptions/ServantLocatorI.cs
@@ -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/cs/test/Ice/exceptions/Server.cs b/cs/test/Ice/exceptions/Server.cs
index 9ea149e602c..11b95ba79ec 100644
--- a/cs/test/Ice/exceptions/Server.cs
+++ b/cs/test/Ice/exceptions/Server.cs
@@ -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/cs/test/Ice/exceptions/Test.ice b/cs/test/Ice/exceptions/Test.ice
index 1c822f753a2..cc545e1c151 100644
--- a/cs/test/Ice/exceptions/Test.ice
+++ b/cs/test/Ice/exceptions/Test.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/cs/test/Ice/exceptions/TestAMD.ice b/cs/test/Ice/exceptions/TestAMD.ice
index c56d5f7e355..103b62053d3 100644
--- a/cs/test/Ice/exceptions/TestAMD.ice
+++ b/cs/test/Ice/exceptions/TestAMD.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/cs/test/Ice/exceptions/ThrowerAMDI.cs b/cs/test/Ice/exceptions/ThrowerAMDI.cs
index 5f632360ea8..e30f8e409c0 100644
--- a/cs/test/Ice/exceptions/ThrowerAMDI.cs
+++ b/cs/test/Ice/exceptions/ThrowerAMDI.cs
@@ -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.
@@ -30,7 +30,7 @@ public class ThrowerI : ThrowerDisp_
public override void supportsAssertException_async(AMD_Thrower_supportsAssertException cb, Ice.Current current)
{
- cb.ice_response(true);
+ cb.ice_response(false);
}
public override void throwAasA_async(AMD_Thrower_throwAasA cb, int a, Ice.Current current)
diff --git a/cs/test/Ice/exceptions/ThrowerI.cs b/cs/test/Ice/exceptions/ThrowerI.cs
index a449ca75afa..56e1dd6b1f9 100644
--- a/cs/test/Ice/exceptions/ThrowerI.cs
+++ b/cs/test/Ice/exceptions/ThrowerI.cs
@@ -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/cs/test/Ice/exceptions/run.py b/cs/test/Ice/exceptions/run.py
index ba86355a237..0321e0dd6b8 100755
--- a/cs/test/Ice/exceptions/run.py
+++ b/cs/test/Ice/exceptions/run.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.
@@ -10,23 +10,19 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTestWithOptions(name, "", " --Ice.Warn.Connections=0")
+TestUtil.clientServerTest(additionalClientOptions=" --Ice.Warn.Connections=0")
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/facets/AI.cs b/cs/test/Ice/facets/AI.cs
index 59a86dc1a3e..b2fa82d19ce 100644
--- a/cs/test/Ice/facets/AI.cs
+++ b/cs/test/Ice/facets/AI.cs
@@ -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/cs/test/Ice/facets/AllTests.cs b/cs/test/Ice/facets/AllTests.cs
index 84d82d603a7..a5375201011 100644
--- a/cs/test/Ice/facets/AllTests.cs
+++ b/cs/test/Ice/facets/AllTests.cs
@@ -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/cs/test/Ice/facets/BI.cs b/cs/test/Ice/facets/BI.cs
index 6693cd35415..5b69fab588e 100644
--- a/cs/test/Ice/facets/BI.cs
+++ b/cs/test/Ice/facets/BI.cs
@@ -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/cs/test/Ice/facets/CI.cs b/cs/test/Ice/facets/CI.cs
index b5c98d73699..69807d31379 100644
--- a/cs/test/Ice/facets/CI.cs
+++ b/cs/test/Ice/facets/CI.cs
@@ -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/cs/test/Ice/facets/Client.cs b/cs/test/Ice/facets/Client.cs
index 7dc865b88cb..7366d095333 100644
--- a/cs/test/Ice/facets/Client.cs
+++ b/cs/test/Ice/facets/Client.cs
@@ -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/cs/test/Ice/facets/Collocated.cs b/cs/test/Ice/facets/Collocated.cs
index 74746de8dd3..fbd92e75881 100644
--- a/cs/test/Ice/facets/Collocated.cs
+++ b/cs/test/Ice/facets/Collocated.cs
@@ -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/cs/test/Ice/facets/DI.cs b/cs/test/Ice/facets/DI.cs
index 2082251fd8c..bc257c70ca4 100644
--- a/cs/test/Ice/facets/DI.cs
+++ b/cs/test/Ice/facets/DI.cs
@@ -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/cs/test/Ice/facets/EI.cs b/cs/test/Ice/facets/EI.cs
index a8a664c1f9e..8f7dc22b493 100644
--- a/cs/test/Ice/facets/EI.cs
+++ b/cs/test/Ice/facets/EI.cs
@@ -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/cs/test/Ice/facets/EmptyI.cs b/cs/test/Ice/facets/EmptyI.cs
index 179775f7be8..554fcb208f2 100644
--- a/cs/test/Ice/facets/EmptyI.cs
+++ b/cs/test/Ice/facets/EmptyI.cs
@@ -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/cs/test/Ice/facets/FI.cs b/cs/test/Ice/facets/FI.cs
index f1710e88a89..8a0a14f0304 100644
--- a/cs/test/Ice/facets/FI.cs
+++ b/cs/test/Ice/facets/FI.cs
@@ -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/cs/test/Ice/facets/GI.cs b/cs/test/Ice/facets/GI.cs
index ea2b8ea0b1b..011319aeaad 100644
--- a/cs/test/Ice/facets/GI.cs
+++ b/cs/test/Ice/facets/GI.cs
@@ -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/cs/test/Ice/facets/HI.cs b/cs/test/Ice/facets/HI.cs
index 66a8c8f6560..9b340ac1f62 100644
--- a/cs/test/Ice/facets/HI.cs
+++ b/cs/test/Ice/facets/HI.cs
@@ -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/cs/test/Ice/facets/Makefile b/cs/test/Ice/facets/Makefile
index 9b5b576884b..55306c6337f 100644
--- a/cs/test/Ice/facets/Makefile
+++ b/cs/test/Ice/facets/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/cs/test/Ice/facets/Makefile.mak b/cs/test/Ice/facets/Makefile.mak
index 3d8f9380e56..2ccfc48b209 100644
--- a/cs/test/Ice/facets/Makefile.mak
+++ b/cs/test/Ice/facets/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/cs/test/Ice/facets/Server.cs b/cs/test/Ice/facets/Server.cs
index 3e58bc2fd34..931f15b28d3 100644
--- a/cs/test/Ice/facets/Server.cs
+++ b/cs/test/Ice/facets/Server.cs
@@ -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/cs/test/Ice/facets/Test.ice b/cs/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/cs/test/Ice/facets/Test.ice
+++ b/cs/test/Ice/facets/Test.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/cs/test/Ice/facets/run.py b/cs/test/Ice/facets/run.py
index 3c4d1ec1b78..41deffb909d 100755
--- a/cs/test/Ice/facets/run.py
+++ b/cs/test/Ice/facets/run.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.
@@ -10,19 +10,15 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/faultTolerance/AllTests.cs b/cs/test/Ice/faultTolerance/AllTests.cs
index fec811f76ee..7b316ed5dfb 100644
--- a/cs/test/Ice/faultTolerance/AllTests.cs
+++ b/cs/test/Ice/faultTolerance/AllTests.cs
@@ -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/cs/test/Ice/faultTolerance/Client.cs b/cs/test/Ice/faultTolerance/Client.cs
index 45149e67167..52df71c98a8 100644
--- a/cs/test/Ice/faultTolerance/Client.cs
+++ b/cs/test/Ice/faultTolerance/Client.cs
@@ -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/cs/test/Ice/faultTolerance/Makefile b/cs/test/Ice/faultTolerance/Makefile
index dccd16181e7..8cdfaa74308 100644
--- a/cs/test/Ice/faultTolerance/Makefile
+++ b/cs/test/Ice/faultTolerance/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/cs/test/Ice/faultTolerance/Makefile.mak b/cs/test/Ice/faultTolerance/Makefile.mak
index abad5c7ca42..9ef8ca6e31d 100644
--- a/cs/test/Ice/faultTolerance/Makefile.mak
+++ b/cs/test/Ice/faultTolerance/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/cs/test/Ice/faultTolerance/Server.cs b/cs/test/Ice/faultTolerance/Server.cs
index 5109ec9a574..033e95076ba 100644
--- a/cs/test/Ice/faultTolerance/Server.cs
+++ b/cs/test/Ice/faultTolerance/Server.cs
@@ -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/cs/test/Ice/faultTolerance/Test.ice b/cs/test/Ice/faultTolerance/Test.ice
index cdf39af146f..877dd83e990 100644
--- a/cs/test/Ice/faultTolerance/Test.ice
+++ b/cs/test/Ice/faultTolerance/Test.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/cs/test/Ice/faultTolerance/TestI.cs b/cs/test/Ice/faultTolerance/TestI.cs
index 5d77baeed90..c3e7674e73d 100644
--- a/cs/test/Ice/faultTolerance/TestI.cs
+++ b/cs/test/Ice/faultTolerance/TestI.cs
@@ -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/cs/test/Ice/faultTolerance/run.py b/cs/test/Ice/faultTolerance/run.py
index a9aa8a52d88..6f2d867aa09 100755
--- a/cs/test/Ice/faultTolerance/run.py
+++ b/cs/test/Ice/faultTolerance/run.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.
@@ -10,22 +10,18 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "faultTolerance")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-server = os.path.join(testdir, "server")
-client = os.path.join(testdir, "client")
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
if TestUtil.isCygwin():
print "\nYou may get spurious \"Signal 127\" messages during this test run."
@@ -34,11 +30,10 @@ if TestUtil.isCygwin():
num = 12
base = 12340
+serverProc = []
for i in range(0, num):
print "starting server #%d..." % (i + 1),
- serverPipe = TestUtil.startServer(server, " %d" % (base + i))
- TestUtil.getServerPid(serverPipe)
- TestUtil.getAdapterReady(serverPipe)
+ serverProc.append(TestUtil.startServer(server, " %d" % (base + i)))
print "ok"
ports = ""
@@ -46,22 +41,12 @@ for i in range(0, num):
ports = "%s %d" % (ports, base + i)
print "starting client...",
-clientPipe = TestUtil.startClient(client, ports)
+clientProc = TestUtil.startClient(client, ports)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-#
-# We simuluate the abort of the server by calling Process.Kill(). However, this
-# results in a non-zero exit status. Therefore we ignore the status.
-#
-#if TestUtil.serverStatus():
- #sys.exit(1)
-TestUtil.joinServers()
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+for p in serverProc:
+ #p.waitTestSuccess()
+ # We simuluate the abort of the server by calling Process.Kill(). However, this
+ # results in a non-zero exit status. Therefore we ignore the status.
+ p.wait()
diff --git a/cs/test/Ice/hold/AllTests.cs b/cs/test/Ice/hold/AllTests.cs
index 7dae48a4b01..a53912ba911 100644
--- a/cs/test/Ice/hold/AllTests.cs
+++ b/cs/test/Ice/hold/AllTests.cs
@@ -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/cs/test/Ice/hold/Client.cs b/cs/test/Ice/hold/Client.cs
index 5e44d01d6c8..3fae8297e31 100644
--- a/cs/test/Ice/hold/Client.cs
+++ b/cs/test/Ice/hold/Client.cs
@@ -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/cs/test/Ice/hold/HoldI.cs b/cs/test/Ice/hold/HoldI.cs
index e373bbf1d79..91b0e133de9 100644
--- a/cs/test/Ice/hold/HoldI.cs
+++ b/cs/test/Ice/hold/HoldI.cs
@@ -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/cs/test/Ice/hold/Makefile b/cs/test/Ice/hold/Makefile
index 14683ef2d33..019bd646dd7 100644
--- a/cs/test/Ice/hold/Makefile
+++ b/cs/test/Ice/hold/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/cs/test/Ice/hold/Makefile.mak b/cs/test/Ice/hold/Makefile.mak
index 4c488d0bb75..2d28e55d091 100644
--- a/cs/test/Ice/hold/Makefile.mak
+++ b/cs/test/Ice/hold/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/cs/test/Ice/hold/Server.cs b/cs/test/Ice/hold/Server.cs
index 18d327712b3..45f12ae68fb 100644
--- a/cs/test/Ice/hold/Server.cs
+++ b/cs/test/Ice/hold/Server.cs
@@ -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/cs/test/Ice/hold/Test.ice b/cs/test/Ice/hold/Test.ice
index f5f84f390e8..153c5c6d0e8 100644
--- a/cs/test/Ice/hold/Test.ice
+++ b/cs/test/Ice/hold/Test.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/cs/test/Ice/hold/run.py b/cs/test/Ice/hold/run.py
index b70138f8bf5..b1c2e15a493 100755
--- a/cs/test/Ice/hold/run.py
+++ b/cs/test/Ice/hold/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "hold")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/inheritance/AllTests.cs b/cs/test/Ice/inheritance/AllTests.cs
index 3da00e2ec95..969c16aca89 100644
--- a/cs/test/Ice/inheritance/AllTests.cs
+++ b/cs/test/Ice/inheritance/AllTests.cs
@@ -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/cs/test/Ice/inheritance/CAI.cs b/cs/test/Ice/inheritance/CAI.cs
index aa063c2e7cc..7b9a66ce3bd 100644
--- a/cs/test/Ice/inheritance/CAI.cs
+++ b/cs/test/Ice/inheritance/CAI.cs
@@ -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/cs/test/Ice/inheritance/CBI.cs b/cs/test/Ice/inheritance/CBI.cs
index b5ecbe5ec00..0a457e1f103 100644
--- a/cs/test/Ice/inheritance/CBI.cs
+++ b/cs/test/Ice/inheritance/CBI.cs
@@ -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/cs/test/Ice/inheritance/CCI.cs b/cs/test/Ice/inheritance/CCI.cs
index f73b847bd54..0c97206f3d7 100644
--- a/cs/test/Ice/inheritance/CCI.cs
+++ b/cs/test/Ice/inheritance/CCI.cs
@@ -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/cs/test/Ice/inheritance/CDI.cs b/cs/test/Ice/inheritance/CDI.cs
index 1ea6f79fb32..0caef140489 100644
--- a/cs/test/Ice/inheritance/CDI.cs
+++ b/cs/test/Ice/inheritance/CDI.cs
@@ -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/cs/test/Ice/inheritance/Client.cs b/cs/test/Ice/inheritance/Client.cs
index a9f936b6ae7..7e369e107c8 100644
--- a/cs/test/Ice/inheritance/Client.cs
+++ b/cs/test/Ice/inheritance/Client.cs
@@ -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/cs/test/Ice/inheritance/Collocated.cs b/cs/test/Ice/inheritance/Collocated.cs
index 305c2aa9449..c03d54e509d 100644
--- a/cs/test/Ice/inheritance/Collocated.cs
+++ b/cs/test/Ice/inheritance/Collocated.cs
@@ -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/cs/test/Ice/inheritance/IAI.cs b/cs/test/Ice/inheritance/IAI.cs
index 744f652511b..2f4024b5719 100644
--- a/cs/test/Ice/inheritance/IAI.cs
+++ b/cs/test/Ice/inheritance/IAI.cs
@@ -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/cs/test/Ice/inheritance/IB1I.cs b/cs/test/Ice/inheritance/IB1I.cs
index e27b157980e..9688541e436 100644
--- a/cs/test/Ice/inheritance/IB1I.cs
+++ b/cs/test/Ice/inheritance/IB1I.cs
@@ -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/cs/test/Ice/inheritance/IB2I.cs b/cs/test/Ice/inheritance/IB2I.cs
index d44546a7b67..22c45c9b485 100644
--- a/cs/test/Ice/inheritance/IB2I.cs
+++ b/cs/test/Ice/inheritance/IB2I.cs
@@ -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/cs/test/Ice/inheritance/ICI.cs b/cs/test/Ice/inheritance/ICI.cs
index b44157d2b09..f58e46d2d05 100644
--- a/cs/test/Ice/inheritance/ICI.cs
+++ b/cs/test/Ice/inheritance/ICI.cs
@@ -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/cs/test/Ice/inheritance/InitialI.cs b/cs/test/Ice/inheritance/InitialI.cs
index e07e942ce55..414bf572b98 100644
--- a/cs/test/Ice/inheritance/InitialI.cs
+++ b/cs/test/Ice/inheritance/InitialI.cs
@@ -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/cs/test/Ice/inheritance/Makefile b/cs/test/Ice/inheritance/Makefile
index bdda45f987b..45cfb7b24df 100644
--- a/cs/test/Ice/inheritance/Makefile
+++ b/cs/test/Ice/inheritance/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/cs/test/Ice/inheritance/Makefile.mak b/cs/test/Ice/inheritance/Makefile.mak
index 92298253d92..ab185024c39 100644
--- a/cs/test/Ice/inheritance/Makefile.mak
+++ b/cs/test/Ice/inheritance/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/cs/test/Ice/inheritance/Server.cs b/cs/test/Ice/inheritance/Server.cs
index 1fc69c9de2c..eeb4bbf7fc9 100644
--- a/cs/test/Ice/inheritance/Server.cs
+++ b/cs/test/Ice/inheritance/Server.cs
@@ -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/cs/test/Ice/inheritance/Test.ice b/cs/test/Ice/inheritance/Test.ice
index e4dc78a89f5..a93a2bfb330 100644
--- a/cs/test/Ice/inheritance/Test.ice
+++ b/cs/test/Ice/inheritance/Test.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/cs/test/Ice/inheritance/run.py b/cs/test/Ice/inheritance/run.py
index f535ac5d996..41deffb909d 100755
--- a/cs/test/Ice/inheritance/run.py
+++ b/cs/test/Ice/inheritance/run.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.
@@ -10,19 +10,15 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/interceptor/AMDInterceptorI.cs b/cs/test/Ice/interceptor/AMDInterceptorI.cs
index 23ac94d2656..42775316e94 100644
--- a/cs/test/Ice/interceptor/AMDInterceptorI.cs
+++ b/cs/test/Ice/interceptor/AMDInterceptorI.cs
@@ -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/cs/test/Ice/interceptor/Client.cs b/cs/test/Ice/interceptor/Client.cs
index 4b7aea52c1c..ff9e7c17bdf 100644
--- a/cs/test/Ice/interceptor/Client.cs
+++ b/cs/test/Ice/interceptor/Client.cs
@@ -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/cs/test/Ice/interceptor/InterceptorI.cs b/cs/test/Ice/interceptor/InterceptorI.cs
index 3fe12fa7ddf..5e808e9afe7 100644
--- a/cs/test/Ice/interceptor/InterceptorI.cs
+++ b/cs/test/Ice/interceptor/InterceptorI.cs
@@ -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/cs/test/Ice/interceptor/Makefile b/cs/test/Ice/interceptor/Makefile
index 0993ddda837..73802ecc04d 100644
--- a/cs/test/Ice/interceptor/Makefile
+++ b/cs/test/Ice/interceptor/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/cs/test/Ice/interceptor/Makefile.mak b/cs/test/Ice/interceptor/Makefile.mak
index 9d3005db4cc..49a4c6a9004 100644
--- a/cs/test/Ice/interceptor/Makefile.mak
+++ b/cs/test/Ice/interceptor/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/cs/test/Ice/interceptor/MyObjectI.cs b/cs/test/Ice/interceptor/MyObjectI.cs
index 89cfc98b57a..8160570b2b2 100644
--- a/cs/test/Ice/interceptor/MyObjectI.cs
+++ b/cs/test/Ice/interceptor/MyObjectI.cs
@@ -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/cs/test/Ice/interceptor/Test.ice b/cs/test/Ice/interceptor/Test.ice
index 129779d5470..6d6873a9df4 100644
--- a/cs/test/Ice/interceptor/Test.ice
+++ b/cs/test/Ice/interceptor/Test.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/cs/test/Ice/interceptor/run.py b/cs/test/Ice/interceptor/run.py
index 285eb6f81cf..4237aa17057 100755
--- a/cs/test/Ice/interceptor/run.py
+++ b/cs/test/Ice/interceptor/run.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.
@@ -10,31 +10,20 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "interceptor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, " --Ice.Warn.Dispatch=0")
+clientProc = TestUtil.startClient(client, " --Ice.Warn.Dispatch=0")
print "ok"
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/cs/test/Ice/location/AllTests.cs b/cs/test/Ice/location/AllTests.cs
index 885a9e03d05..504036cdd4f 100644
--- a/cs/test/Ice/location/AllTests.cs
+++ b/cs/test/Ice/location/AllTests.cs
@@ -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,6 +20,35 @@ public class AllTests
}
}
+ class AMICallbackResponse : Test.AMI_Hello_sayHello
+ {
+ override public void
+ ice_exception(Ice.Exception ex)
+ {
+ test(false);
+ }
+
+ override public void
+ ice_response()
+ {
+ }
+ }
+
+ class AMICallbackException : Test.AMI_Hello_sayHello
+ {
+ override public void
+ ice_exception(Ice.Exception ex)
+ {
+ test(ex is Ice.NotRegisteredException);
+ }
+
+ override public void
+ ice_response()
+ {
+ test(false);
+ }
+ }
+
public static void allTests(Ice.Communicator communicator)
{
ServerManagerPrx manager = ServerManagerPrxHelper.checkedCast(
@@ -27,6 +56,8 @@ public class AllTests
test(manager != null);
TestLocatorPrx locator = TestLocatorPrxHelper.uncheckedCast(communicator.getDefaultLocator());
test(locator != null);
+ TestLocatorRegistryPrx registry = TestLocatorRegistryPrxHelper.checkedCast(locator.getRegistry());
+ test(registry != null);
Console.Out.Write("testing stringToProxy... ");
Console.Out.Flush();
@@ -270,6 +301,7 @@ public class AllTests
Console.Out.Write("testing proxy from server... ");
Console.Out.Flush();
+ obj = TestIntfPrxHelper.checkedCast(communicator.stringToProxy("test@TestAdapter"));
HelloPrx hello = obj.getHello();
hello.sayHello();
test(hello.ice_getAdapterId().Equals("TestAdapter"));
@@ -285,6 +317,294 @@ public class AllTests
hello.sayHello();
Console.Out.WriteLine("ok");
+ Console.Out.Write("testing locator request queuing... ");
+ Console.Out.Flush();
+ hello = (HelloPrx)obj.getReplicatedHello().ice_locatorCacheTimeout(0).ice_connectionCached(false);
+ count = locator.getRequestCount();
+ hello.ice_ping();
+ test(++count == locator.getRequestCount());
+ for(int i = 0; i < 1000; i++)
+ {
+ hello.sayHello_async(new AMICallbackResponse());
+ }
+ test(locator.getRequestCount() > count && locator.getRequestCount() < count + 500);
+ count = locator.getRequestCount();
+ hello = (HelloPrx)hello.ice_adapterId("unknown");
+ for(int i = 0; i < 1000; i++)
+ {
+ hello.sayHello_async(new AMICallbackException());
+ }
+ test(locator.getRequestCount() > count && locator.getRequestCount() < count + 500);
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing adapter locator cache... ");
+ Console.Out.Flush();
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ test(false);
+ }
+ catch(Ice.NotRegisteredException ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id.Equals("TestAdapter3"));
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ }
+ catch(Ice.LocalException)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_locatorCacheTimeout(0).ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ }
+ catch(Ice.LocalException)
+ {
+ test(false);
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing well-known object locator cache... ");
+ Console.Out.Flush();
+ registry.addObject(communicator.stringToProxy("test3@TestUnknown"));
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.NotRegisteredException ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id.Equals("TestUnknown"));
+ }
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter4")); // Update
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException)
+ {
+ test(false);
+ }
+
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter4").ice_locatorCacheTimeout(0).ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter4").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException)
+ {
+ }
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter"));
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException)
+ {
+ test(false);
+ }
+
+ registry.addObject(communicator.stringToProxy("test4"));
+ try
+ {
+ communicator.stringToProxy("test4").ice_ping();
+ test(false);
+ }
+ catch(Ice.NoEndpointException)
+ {
+ }
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing locator cache background updates... ");
+ Console.Out.Flush();
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties().ice_clone_();
+ initData.properties.setProperty("Ice.BackgroundLocatorCacheUpdates", "1");
+ Ice.Communicator ic = Ice.Util.initialize(initData);
+
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter5", locator.findAdapterById("TestAdapter"));
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+
+ count = locator.getRequestCount();
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache.
+ count += 3;
+ test(count == locator.getRequestCount());
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter5", null);
+ }
+ catch(Ice.AdapterAlreadyActiveException)
+ {
+ }
+ catch(Ice.AdapterNotFoundException)
+ {
+ }
+ registry.addObject(communicator.stringToProxy("test3:tcp"));
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ test(count == locator.getRequestCount());
+ System.Threading.Thread.Sleep(new System.TimeSpan(10 * 1200 * 1000));
+
+ // The following requets should trigger the background updates but still use the cached endpoints
+ // and therefore succeed.
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+
+ try
+ {
+ while(true)
+ {
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ System.Threading.Thread.Sleep(new System.TimeSpan(10 * 10 * 1000));
+ }
+ }
+ catch(Ice.LocalException)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ try
+ {
+ while(true)
+ {
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ System.Threading.Thread.Sleep(new System.TimeSpan(10 * 10 * 1000));
+ }
+ }
+ catch(Ice.LocalException)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ ic.destroy();
+ }
+ Console.Out.WriteLine("ok");
+
Console.Out.Write("testing object migration... ");
Console.Out.Flush();
hello = HelloPrxHelper.checkedCast(communicator.stringToProxy("hello"));
@@ -316,8 +636,6 @@ public class AllTests
properties.setProperty("Ice.PrintAdapterReady", "0");
Ice.ObjectAdapter adapter = communicator.createObjectAdapterWithEndpoints("Hello", "default");
adapter.setLocator(locator);
- TestLocatorRegistryPrx registry = TestLocatorRegistryPrxHelper.checkedCast(locator.getRegistry());
- test(registry != null);
Ice.Identity id = new Ice.Identity();
id.name = Ice.Util.generateUUID();
diff --git a/cs/test/Ice/location/Client.cs b/cs/test/Ice/location/Client.cs
index 7bae5bb5174..ce121274779 100644
--- a/cs/test/Ice/location/Client.cs
+++ b/cs/test/Ice/location/Client.cs
@@ -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/cs/test/Ice/location/HelloI.cs b/cs/test/Ice/location/HelloI.cs
index bf6358c7841..4a8b7e42864 100644
--- a/cs/test/Ice/location/HelloI.cs
+++ b/cs/test/Ice/location/HelloI.cs
@@ -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/cs/test/Ice/location/Makefile b/cs/test/Ice/location/Makefile
index 83405a6bc4d..edbd7721465 100644
--- a/cs/test/Ice/location/Makefile
+++ b/cs/test/Ice/location/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/cs/test/Ice/location/Makefile.mak b/cs/test/Ice/location/Makefile.mak
index 5781e18a1ef..0839f30cc86 100644
--- a/cs/test/Ice/location/Makefile.mak
+++ b/cs/test/Ice/location/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/cs/test/Ice/location/Server.cs b/cs/test/Ice/location/Server.cs
index cde601a5a2f..860df24fc19 100644
--- a/cs/test/Ice/location/Server.cs
+++ b/cs/test/Ice/location/Server.cs
@@ -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/cs/test/Ice/location/ServerLocator.cs b/cs/test/Ice/location/ServerLocator.cs
index 6be9321e103..fe2d93586a8 100644
--- a/cs/test/Ice/location/ServerLocator.cs
+++ b/cs/test/Ice/location/ServerLocator.cs
@@ -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/cs/test/Ice/location/ServerLocatorRegistry.cs b/cs/test/Ice/location/ServerLocatorRegistry.cs
index 32fdc50f7c3..332a17e65e4 100644
--- a/cs/test/Ice/location/ServerLocatorRegistry.cs
+++ b/cs/test/Ice/location/ServerLocatorRegistry.cs
@@ -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,14 @@ public class ServerLocatorRegistry : Test.TestLocatorRegistryDisp_
public override void setAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setAdapterDirectProxy cb, string adapter,
Ice.ObjectPrx obj, Ice.Current current)
{
- _adapters[adapter] = obj;
+ if(obj != null)
+ {
+ _adapters[adapter] = obj;
+ }
+ else
+ {
+ _adapters.Remove(adapter);
+ }
cb.ice_response();
}
@@ -28,8 +35,16 @@ public class ServerLocatorRegistry : Test.TestLocatorRegistryDisp_
Ice.AMD_LocatorRegistry_setReplicatedAdapterDirectProxy cb,
string adapter, string replica, Ice.ObjectPrx obj, Ice.Current current)
{
- _adapters[adapter] = obj;
- _adapters[replica] = obj;
+ if(obj != null)
+ {
+ _adapters[adapter] = obj;
+ _adapters[replica] = obj;
+ }
+ else
+ {
+ _adapters.Remove(adapter);
+ _adapters.Remove(replica);
+ }
cb.ice_response();
}
diff --git a/cs/test/Ice/location/ServerManagerI.cs b/cs/test/Ice/location/ServerManagerI.cs
index c817e7cca1c..51a25a24abd 100644
--- a/cs/test/Ice/location/ServerManagerI.cs
+++ b/cs/test/Ice/location/ServerManagerI.cs
@@ -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.
@@ -56,6 +56,7 @@ public class ServerManagerI : ServerManagerDisp_
Ice.Object @object = new TestI(adapter, adapter2, _registry);
_registry.addObject(adapter.add(@object, serverCommunicator.stringToIdentity("test")));
_registry.addObject(adapter.add(@object, serverCommunicator.stringToIdentity("test2")));
+ adapter.add(@object, serverCommunicator.stringToIdentity("test3"));
adapter.activate();
adapter2.activate();
diff --git a/cs/test/Ice/location/Test.ice b/cs/test/Ice/location/Test.ice
index 8581d7261c5..6aaef0c8bc0 100644
--- a/cs/test/Ice/location/Test.ice
+++ b/cs/test/Ice/location/Test.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.
@@ -39,7 +39,7 @@ interface ServerManager
interface Hello
{
- void sayHello();
+ ["ami"] void sayHello();
};
interface TestIntf
diff --git a/cs/test/Ice/location/TestI.cs b/cs/test/Ice/location/TestI.cs
index d616c59878a..11803c58ad5 100644
--- a/cs/test/Ice/location/TestI.cs
+++ b/cs/test/Ice/location/TestI.cs
@@ -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/cs/test/Ice/location/run.py b/cs/test/Ice/location/run.py
index cccad85b373..b1c2e15a493 100755
--- a/cs/test/Ice/location/run.py
+++ b/cs/test/Ice/location/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "location")
-
-TestUtil.mixedClientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/objects/AllTests.cs b/cs/test/Ice/objects/AllTests.cs
index deb76825cab..aa0dff3e8bd 100644
--- a/cs/test/Ice/objects/AllTests.cs
+++ b/cs/test/Ice/objects/AllTests.cs
@@ -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/cs/test/Ice/objects/BI.cs b/cs/test/Ice/objects/BI.cs
index d0ee9fbc8d7..4d6d851363f 100644
--- a/cs/test/Ice/objects/BI.cs
+++ b/cs/test/Ice/objects/BI.cs
@@ -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/cs/test/Ice/objects/CI.cs b/cs/test/Ice/objects/CI.cs
index 8d1c49ba9c1..41ba53224cf 100644
--- a/cs/test/Ice/objects/CI.cs
+++ b/cs/test/Ice/objects/CI.cs
@@ -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/cs/test/Ice/objects/Client.cs b/cs/test/Ice/objects/Client.cs
index 6ce5bbb0b7e..710bec3de4d 100644
--- a/cs/test/Ice/objects/Client.cs
+++ b/cs/test/Ice/objects/Client.cs
@@ -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/cs/test/Ice/objects/Collocated.cs b/cs/test/Ice/objects/Collocated.cs
index 46cabde19f6..bf80b09341f 100644
--- a/cs/test/Ice/objects/Collocated.cs
+++ b/cs/test/Ice/objects/Collocated.cs
@@ -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/cs/test/Ice/objects/DI.cs b/cs/test/Ice/objects/DI.cs
index 588d1669f5f..9f8792668c1 100644
--- a/cs/test/Ice/objects/DI.cs
+++ b/cs/test/Ice/objects/DI.cs
@@ -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/cs/test/Ice/objects/EI.cs b/cs/test/Ice/objects/EI.cs
index 0c6e8c864cb..018b4a9c81b 100644
--- a/cs/test/Ice/objects/EI.cs
+++ b/cs/test/Ice/objects/EI.cs
@@ -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/cs/test/Ice/objects/FI.cs b/cs/test/Ice/objects/FI.cs
index 0c75c37ac46..099d1e4f2bf 100644
--- a/cs/test/Ice/objects/FI.cs
+++ b/cs/test/Ice/objects/FI.cs
@@ -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/cs/test/Ice/objects/HI.cs b/cs/test/Ice/objects/HI.cs
index 970354b7186..e698a23a10c 100644
--- a/cs/test/Ice/objects/HI.cs
+++ b/cs/test/Ice/objects/HI.cs
@@ -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/cs/test/Ice/objects/II.cs b/cs/test/Ice/objects/II.cs
index 8d0ff3a3575..091231eb617 100644
--- a/cs/test/Ice/objects/II.cs
+++ b/cs/test/Ice/objects/II.cs
@@ -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/cs/test/Ice/objects/InitialI.cs b/cs/test/Ice/objects/InitialI.cs
index 86951cbb9f4..b36057c2360 100644
--- a/cs/test/Ice/objects/InitialI.cs
+++ b/cs/test/Ice/objects/InitialI.cs
@@ -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/cs/test/Ice/objects/JI.cs b/cs/test/Ice/objects/JI.cs
index 0b3213ebd52..1d31c8f0f80 100644
--- a/cs/test/Ice/objects/JI.cs
+++ b/cs/test/Ice/objects/JI.cs
@@ -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/cs/test/Ice/objects/Makefile b/cs/test/Ice/objects/Makefile
index 17a38702232..0e6185f77e9 100644
--- a/cs/test/Ice/objects/Makefile
+++ b/cs/test/Ice/objects/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/cs/test/Ice/objects/Makefile.mak b/cs/test/Ice/objects/Makefile.mak
index e875de00316..ec05fb58ff2 100644
--- a/cs/test/Ice/objects/Makefile.mak
+++ b/cs/test/Ice/objects/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/cs/test/Ice/objects/Server.cs b/cs/test/Ice/objects/Server.cs
index 49cc5830022..27c5eda8dda 100644
--- a/cs/test/Ice/objects/Server.cs
+++ b/cs/test/Ice/objects/Server.cs
@@ -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/cs/test/Ice/objects/Test.ice b/cs/test/Ice/objects/Test.ice
index 93f3be79909..8c31358574c 100644
--- a/cs/test/Ice/objects/Test.ice
+++ b/cs/test/Ice/objects/Test.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/cs/test/Ice/objects/UnexpectedObjectExceptionTestI.cs b/cs/test/Ice/objects/UnexpectedObjectExceptionTestI.cs
index c9adc689c80..32fa8d4dd84 100644
--- a/cs/test/Ice/objects/UnexpectedObjectExceptionTestI.cs
+++ b/cs/test/Ice/objects/UnexpectedObjectExceptionTestI.cs
@@ -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/cs/test/Ice/objects/run.py b/cs/test/Ice/objects/run.py
index adced32c9ce..41deffb909d 100755
--- a/cs/test/Ice/objects/run.py
+++ b/cs/test/Ice/objects/run.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.
@@ -10,19 +10,15 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/operations/AllTests.cs b/cs/test/Ice/operations/AllTests.cs
index c9c62f283d1..23b28abec42 100644
--- a/cs/test/Ice/operations/AllTests.cs
+++ b/cs/test/Ice/operations/AllTests.cs
@@ -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/cs/test/Ice/operations/BatchOneways.cs b/cs/test/Ice/operations/BatchOneways.cs
index 31873427c75..760c1368b5d 100644
--- a/cs/test/Ice/operations/BatchOneways.cs
+++ b/cs/test/Ice/operations/BatchOneways.cs
@@ -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/cs/test/Ice/operations/Client.cs b/cs/test/Ice/operations/Client.cs
index 3b64c2cb6f4..06af6316c12 100644
--- a/cs/test/Ice/operations/Client.cs
+++ b/cs/test/Ice/operations/Client.cs
@@ -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/cs/test/Ice/operations/Collocated.cs b/cs/test/Ice/operations/Collocated.cs
index ca67e56c515..fc2aedc4960 100644
--- a/cs/test/Ice/operations/Collocated.cs
+++ b/cs/test/Ice/operations/Collocated.cs
@@ -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/cs/test/Ice/operations/Makefile b/cs/test/Ice/operations/Makefile
index 2dab47eee6f..d48926b3b08 100644
--- a/cs/test/Ice/operations/Makefile
+++ b/cs/test/Ice/operations/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/cs/test/Ice/operations/Makefile.mak b/cs/test/Ice/operations/Makefile.mak
index cb54929a3b2..ab6acc1a97a 100644
--- a/cs/test/Ice/operations/Makefile.mak
+++ b/cs/test/Ice/operations/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/cs/test/Ice/operations/MyDerivedClassAMDI.cs b/cs/test/Ice/operations/MyDerivedClassAMDI.cs
index ad25a722320..42805fbc63e 100644
--- a/cs/test/Ice/operations/MyDerivedClassAMDI.cs
+++ b/cs/test/Ice/operations/MyDerivedClassAMDI.cs
@@ -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/cs/test/Ice/operations/MyDerivedClassI.cs b/cs/test/Ice/operations/MyDerivedClassI.cs
index 751011729c4..e8f2e06aec9 100644
--- a/cs/test/Ice/operations/MyDerivedClassI.cs
+++ b/cs/test/Ice/operations/MyDerivedClassI.cs
@@ -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/cs/test/Ice/operations/Oneways.cs b/cs/test/Ice/operations/Oneways.cs
index 7179beb2bcf..56964cf368e 100644
--- a/cs/test/Ice/operations/Oneways.cs
+++ b/cs/test/Ice/operations/Oneways.cs
@@ -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/cs/test/Ice/operations/OnewaysAMI.cs b/cs/test/Ice/operations/OnewaysAMI.cs
index 8f98937320a..dc4b02b02cf 100644
--- a/cs/test/Ice/operations/OnewaysAMI.cs
+++ b/cs/test/Ice/operations/OnewaysAMI.cs
@@ -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/cs/test/Ice/operations/Server.cs b/cs/test/Ice/operations/Server.cs
index 145e417cd0a..43d3f164a4c 100644
--- a/cs/test/Ice/operations/Server.cs
+++ b/cs/test/Ice/operations/Server.cs
@@ -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/cs/test/Ice/operations/Test.ice b/cs/test/Ice/operations/Test.ice
index e805f05240c..9013d33e1a0 100644
--- a/cs/test/Ice/operations/Test.ice
+++ b/cs/test/Ice/operations/Test.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/cs/test/Ice/operations/TestAMD.ice b/cs/test/Ice/operations/TestAMD.ice
index e08e9dd2229..85a157cda29 100644
--- a/cs/test/Ice/operations/TestAMD.ice
+++ b/cs/test/Ice/operations/TestAMD.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/cs/test/Ice/operations/Twoways.cs b/cs/test/Ice/operations/Twoways.cs
index 2d8b0e9f038..3ac39320d7e 100644
--- a/cs/test/Ice/operations/Twoways.cs
+++ b/cs/test/Ice/operations/Twoways.cs
@@ -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/cs/test/Ice/operations/TwowaysAMI.cs b/cs/test/Ice/operations/TwowaysAMI.cs
index 5d069d3768c..6458173823a 100644
--- a/cs/test/Ice/operations/TwowaysAMI.cs
+++ b/cs/test/Ice/operations/TwowaysAMI.cs
@@ -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/cs/test/Ice/operations/run.py b/cs/test/Ice/operations/run.py
index 397721ba8b5..41d0413642d 100755
--- a/cs/test/Ice/operations/run.py
+++ b/cs/test/Ice/operations/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/proxy/AllTests.cs b/cs/test/Ice/proxy/AllTests.cs
index b1925d1270a..f06154c37fc 100644
--- a/cs/test/Ice/proxy/AllTests.cs
+++ b/cs/test/Ice/proxy/AllTests.cs
@@ -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/cs/test/Ice/proxy/Client.cs b/cs/test/Ice/proxy/Client.cs
index fd32e42800c..2396e9a5e34 100644
--- a/cs/test/Ice/proxy/Client.cs
+++ b/cs/test/Ice/proxy/Client.cs
@@ -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/cs/test/Ice/proxy/Collocated.cs b/cs/test/Ice/proxy/Collocated.cs
index 25446178ce6..e9731837748 100644
--- a/cs/test/Ice/proxy/Collocated.cs
+++ b/cs/test/Ice/proxy/Collocated.cs
@@ -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/cs/test/Ice/proxy/Makefile b/cs/test/Ice/proxy/Makefile
index c421453cfec..ad6638f5b65 100644
--- a/cs/test/Ice/proxy/Makefile
+++ b/cs/test/Ice/proxy/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/cs/test/Ice/proxy/Makefile.mak b/cs/test/Ice/proxy/Makefile.mak
index f093e8fe0cb..732e10580b9 100644
--- a/cs/test/Ice/proxy/Makefile.mak
+++ b/cs/test/Ice/proxy/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/cs/test/Ice/proxy/MyDerivedClassAMDI.cs b/cs/test/Ice/proxy/MyDerivedClassAMDI.cs
index f1723644f4a..5289f617364 100644
--- a/cs/test/Ice/proxy/MyDerivedClassAMDI.cs
+++ b/cs/test/Ice/proxy/MyDerivedClassAMDI.cs
@@ -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/cs/test/Ice/proxy/MyDerivedClassI.cs b/cs/test/Ice/proxy/MyDerivedClassI.cs
index 56c697b2b59..3008f9fc158 100644
--- a/cs/test/Ice/proxy/MyDerivedClassI.cs
+++ b/cs/test/Ice/proxy/MyDerivedClassI.cs
@@ -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/cs/test/Ice/proxy/Server.cs b/cs/test/Ice/proxy/Server.cs
index 599d5e5871a..a049a08903c 100644
--- a/cs/test/Ice/proxy/Server.cs
+++ b/cs/test/Ice/proxy/Server.cs
@@ -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/cs/test/Ice/proxy/Test.ice b/cs/test/Ice/proxy/Test.ice
index bbf36f2c540..1557d1c65a6 100644
--- a/cs/test/Ice/proxy/Test.ice
+++ b/cs/test/Ice/proxy/Test.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/cs/test/Ice/proxy/TestAMD.ice b/cs/test/Ice/proxy/TestAMD.ice
index e415a2bc27a..f7aea617943 100644
--- a/cs/test/Ice/proxy/TestAMD.ice
+++ b/cs/test/Ice/proxy/TestAMD.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/cs/test/Ice/proxy/run.py b/cs/test/Ice/proxy/run.py
index 9fd10bc4cd0..41d0413642d 100755
--- a/cs/test/Ice/proxy/run.py
+++ b/cs/test/Ice/proxy/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/retry/AllTests.cs b/cs/test/Ice/retry/AllTests.cs
index f3864efe064..7fffe8d51c9 100644
--- a/cs/test/Ice/retry/AllTests.cs
+++ b/cs/test/Ice/retry/AllTests.cs
@@ -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/cs/test/Ice/retry/Client.cs b/cs/test/Ice/retry/Client.cs
index 66ab0f6cafa..bbfba7f4021 100644
--- a/cs/test/Ice/retry/Client.cs
+++ b/cs/test/Ice/retry/Client.cs
@@ -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/cs/test/Ice/retry/Makefile b/cs/test/Ice/retry/Makefile
index 487026d6b66..908d998b789 100644
--- a/cs/test/Ice/retry/Makefile
+++ b/cs/test/Ice/retry/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/cs/test/Ice/retry/Makefile.mak b/cs/test/Ice/retry/Makefile.mak
index 92ab0fa8105..44031ba398a 100644
--- a/cs/test/Ice/retry/Makefile.mak
+++ b/cs/test/Ice/retry/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/cs/test/Ice/retry/RetryI.cs b/cs/test/Ice/retry/RetryI.cs
index 4f156e9cadf..58bdb8c0488 100644
--- a/cs/test/Ice/retry/RetryI.cs
+++ b/cs/test/Ice/retry/RetryI.cs
@@ -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/cs/test/Ice/retry/Server.cs b/cs/test/Ice/retry/Server.cs
index 1001b619c2a..dc282c8ee99 100644
--- a/cs/test/Ice/retry/Server.cs
+++ b/cs/test/Ice/retry/Server.cs
@@ -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/cs/test/Ice/retry/Test.ice b/cs/test/Ice/retry/Test.ice
index c82abeb80eb..6a48fa388a3 100644
--- a/cs/test/Ice/retry/Test.ice
+++ b/cs/test/Ice/retry/Test.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/cs/test/Ice/retry/run.py b/cs/test/Ice/retry/run.py
index e6355dc1f5b..b1c2e15a493 100755
--- a/cs/test/Ice/retry/run.py
+++ b/cs/test/Ice/retry/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "retry")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/seqMapping/AllTests.cs b/cs/test/Ice/seqMapping/AllTests.cs
index 773cf3c329e..4a69d79863f 100644
--- a/cs/test/Ice/seqMapping/AllTests.cs
+++ b/cs/test/Ice/seqMapping/AllTests.cs
@@ -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/cs/test/Ice/seqMapping/Client.cs b/cs/test/Ice/seqMapping/Client.cs
index 90ebcd39d5f..a112da154e4 100644
--- a/cs/test/Ice/seqMapping/Client.cs
+++ b/cs/test/Ice/seqMapping/Client.cs
@@ -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/cs/test/Ice/seqMapping/Collocated.cs b/cs/test/Ice/seqMapping/Collocated.cs
index 73412ceaf2d..ebf36318108 100644
--- a/cs/test/Ice/seqMapping/Collocated.cs
+++ b/cs/test/Ice/seqMapping/Collocated.cs
@@ -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/cs/test/Ice/seqMapping/Custom.cs b/cs/test/Ice/seqMapping/Custom.cs
index cce23b2ee18..5899d8e7024 100644
--- a/cs/test/Ice/seqMapping/Custom.cs
+++ b/cs/test/Ice/seqMapping/Custom.cs
@@ -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/cs/test/Ice/seqMapping/Makefile b/cs/test/Ice/seqMapping/Makefile
index aff5a386d2f..eb6656932e8 100644
--- a/cs/test/Ice/seqMapping/Makefile
+++ b/cs/test/Ice/seqMapping/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/cs/test/Ice/seqMapping/Makefile.mak b/cs/test/Ice/seqMapping/Makefile.mak
index b2de19075a9..a9dc1789598 100644
--- a/cs/test/Ice/seqMapping/Makefile.mak
+++ b/cs/test/Ice/seqMapping/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/cs/test/Ice/seqMapping/MyClassAMDI.cs b/cs/test/Ice/seqMapping/MyClassAMDI.cs
index 384ee27a395..8da7e2ac3b6 100644
--- a/cs/test/Ice/seqMapping/MyClassAMDI.cs
+++ b/cs/test/Ice/seqMapping/MyClassAMDI.cs
@@ -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/cs/test/Ice/seqMapping/MyClassI.cs b/cs/test/Ice/seqMapping/MyClassI.cs
index 3a5cdbba07a..3dcdc3c61f4 100644
--- a/cs/test/Ice/seqMapping/MyClassI.cs
+++ b/cs/test/Ice/seqMapping/MyClassI.cs
@@ -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/cs/test/Ice/seqMapping/Server.cs b/cs/test/Ice/seqMapping/Server.cs
index 8e3a6da909f..d7ab060f0ad 100644
--- a/cs/test/Ice/seqMapping/Server.cs
+++ b/cs/test/Ice/seqMapping/Server.cs
@@ -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/cs/test/Ice/seqMapping/Test.ice b/cs/test/Ice/seqMapping/Test.ice
index df028b27968..caf295a3fe5 100644
--- a/cs/test/Ice/seqMapping/Test.ice
+++ b/cs/test/Ice/seqMapping/Test.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/cs/test/Ice/seqMapping/TestAMD.ice b/cs/test/Ice/seqMapping/TestAMD.ice
index e0b57de6cc7..59001da4279 100644
--- a/cs/test/Ice/seqMapping/TestAMD.ice
+++ b/cs/test/Ice/seqMapping/TestAMD.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/cs/test/Ice/seqMapping/Twoways.cs b/cs/test/Ice/seqMapping/Twoways.cs
index 3fc8732e676..b8be620a352 100644
--- a/cs/test/Ice/seqMapping/Twoways.cs
+++ b/cs/test/Ice/seqMapping/Twoways.cs
@@ -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/cs/test/Ice/seqMapping/TwowaysAMI.cs b/cs/test/Ice/seqMapping/TwowaysAMI.cs
index 42b8ca81750..bbabc123e10 100644
--- a/cs/test/Ice/seqMapping/TwowaysAMI.cs
+++ b/cs/test/Ice/seqMapping/TwowaysAMI.cs
@@ -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/cs/test/Ice/seqMapping/run.py b/cs/test/Ice/seqMapping/run.py
index 33346c7072b..41d0413642d 100755
--- a/cs/test/Ice/seqMapping/run.py
+++ b/cs/test/Ice/seqMapping/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "seqMapping")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/servantLocator/AllTests.cs b/cs/test/Ice/servantLocator/AllTests.cs
index 4fd17820be6..b4c247f4d89 100644
--- a/cs/test/Ice/servantLocator/AllTests.cs
+++ b/cs/test/Ice/servantLocator/AllTests.cs
@@ -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/cs/test/Ice/servantLocator/Client.cs b/cs/test/Ice/servantLocator/Client.cs
index 2ae63f3c300..9ac4eeec7cc 100644
--- a/cs/test/Ice/servantLocator/Client.cs
+++ b/cs/test/Ice/servantLocator/Client.cs
@@ -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/cs/test/Ice/servantLocator/Collocated.cs b/cs/test/Ice/servantLocator/Collocated.cs
index 18304574bb8..ac9337c56a2 100644
--- a/cs/test/Ice/servantLocator/Collocated.cs
+++ b/cs/test/Ice/servantLocator/Collocated.cs
@@ -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/cs/test/Ice/servantLocator/CookieI.cs b/cs/test/Ice/servantLocator/CookieI.cs
index 5ddf4f64588..f3b54d9eb49 100644
--- a/cs/test/Ice/servantLocator/CookieI.cs
+++ b/cs/test/Ice/servantLocator/CookieI.cs
@@ -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/cs/test/Ice/servantLocator/Makefile b/cs/test/Ice/servantLocator/Makefile
index 4692777a537..1e67237ff44 100644
--- a/cs/test/Ice/servantLocator/Makefile
+++ b/cs/test/Ice/servantLocator/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/cs/test/Ice/servantLocator/Makefile.mak b/cs/test/Ice/servantLocator/Makefile.mak
index 09acb098f62..81e34515a61 100644
--- a/cs/test/Ice/servantLocator/Makefile.mak
+++ b/cs/test/Ice/servantLocator/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/cs/test/Ice/servantLocator/ServantLocatorI.cs b/cs/test/Ice/servantLocator/ServantLocatorI.cs
index f3ca7f19ea0..df9ebfc8aec 100644
--- a/cs/test/Ice/servantLocator/ServantLocatorI.cs
+++ b/cs/test/Ice/servantLocator/ServantLocatorI.cs
@@ -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/cs/test/Ice/servantLocator/Server.cs b/cs/test/Ice/servantLocator/Server.cs
index 4c1014f70f9..843fee9007b 100644
--- a/cs/test/Ice/servantLocator/Server.cs
+++ b/cs/test/Ice/servantLocator/Server.cs
@@ -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/cs/test/Ice/servantLocator/Test.ice b/cs/test/Ice/servantLocator/Test.ice
index ec02bedbb44..74b29f57212 100644
--- a/cs/test/Ice/servantLocator/Test.ice
+++ b/cs/test/Ice/servantLocator/Test.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/cs/test/Ice/servantLocator/TestAMD.ice b/cs/test/Ice/servantLocator/TestAMD.ice
index 1ea86313432..4bc081f6bfd 100644
--- a/cs/test/Ice/servantLocator/TestAMD.ice
+++ b/cs/test/Ice/servantLocator/TestAMD.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/cs/test/Ice/servantLocator/TestAMDI.cs b/cs/test/Ice/servantLocator/TestAMDI.cs
index 996e9f9c4d6..94f0f841c6c 100644
--- a/cs/test/Ice/servantLocator/TestAMDI.cs
+++ b/cs/test/Ice/servantLocator/TestAMDI.cs
@@ -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/cs/test/Ice/servantLocator/TestI.cs b/cs/test/Ice/servantLocator/TestI.cs
index 1eab8372874..12b28ff6eed 100644
--- a/cs/test/Ice/servantLocator/TestI.cs
+++ b/cs/test/Ice/servantLocator/TestI.cs
@@ -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/cs/test/Ice/servantLocator/run.py b/cs/test/Ice/servantLocator/run.py
index 819e942f21a..d45d92dfae7 100755
--- a/cs/test/Ice/servantLocator/run.py
+++ b/cs/test/Ice/servantLocator/run.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.
@@ -10,24 +10,19 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "servantLocator")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
+TestUtil.clientServerTest(server="serveramd")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/cs/test/Ice/slicing/Makefile b/cs/test/Ice/slicing/Makefile
index 8f8d7abb1f5..6a5b0ce92b0 100644
--- a/cs/test/Ice/slicing/Makefile
+++ b/cs/test/Ice/slicing/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/cs/test/Ice/slicing/Makefile.mak b/cs/test/Ice/slicing/Makefile.mak
index 9fa150ccfab..e7e32f41380 100644
--- a/cs/test/Ice/slicing/Makefile.mak
+++ b/cs/test/Ice/slicing/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/cs/test/Ice/slicing/exceptions/AllTests.cs b/cs/test/Ice/slicing/exceptions/AllTests.cs
index cf6616526dc..294eaa92075 100644
--- a/cs/test/Ice/slicing/exceptions/AllTests.cs
+++ b/cs/test/Ice/slicing/exceptions/AllTests.cs
@@ -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/cs/test/Ice/slicing/exceptions/Client.cs b/cs/test/Ice/slicing/exceptions/Client.cs
index a71015b6d30..b9d084533a7 100644
--- a/cs/test/Ice/slicing/exceptions/Client.cs
+++ b/cs/test/Ice/slicing/exceptions/Client.cs
@@ -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/cs/test/Ice/slicing/exceptions/Makefile b/cs/test/Ice/slicing/exceptions/Makefile
index 26ef7f61f1e..ccb458885bb 100644
--- a/cs/test/Ice/slicing/exceptions/Makefile
+++ b/cs/test/Ice/slicing/exceptions/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/cs/test/Ice/slicing/exceptions/Makefile.mak b/cs/test/Ice/slicing/exceptions/Makefile.mak
index 7683fad0f50..0b7f71456df 100644
--- a/cs/test/Ice/slicing/exceptions/Makefile.mak
+++ b/cs/test/Ice/slicing/exceptions/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/cs/test/Ice/slicing/exceptions/Server.cs b/cs/test/Ice/slicing/exceptions/Server.cs
index 6697ebb83ab..b573aa0e9c4 100644
--- a/cs/test/Ice/slicing/exceptions/Server.cs
+++ b/cs/test/Ice/slicing/exceptions/Server.cs
@@ -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/cs/test/Ice/slicing/exceptions/ServerPrivate.ice b/cs/test/Ice/slicing/exceptions/ServerPrivate.ice
index 489a184d3e5..e2ae8cb3696 100644
--- a/cs/test/Ice/slicing/exceptions/ServerPrivate.ice
+++ b/cs/test/Ice/slicing/exceptions/ServerPrivate.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/cs/test/Ice/slicing/exceptions/ServerPrivateAMD.ice b/cs/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
index 0ec29a0ea91..76f139c79c2 100644
--- a/cs/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
+++ b/cs/test/Ice/slicing/exceptions/ServerPrivateAMD.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/cs/test/Ice/slicing/exceptions/Test.ice b/cs/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/cs/test/Ice/slicing/exceptions/Test.ice
+++ b/cs/test/Ice/slicing/exceptions/Test.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/cs/test/Ice/slicing/exceptions/TestAMD.ice b/cs/test/Ice/slicing/exceptions/TestAMD.ice
index c241f17a01d..f878338c995 100644
--- a/cs/test/Ice/slicing/exceptions/TestAMD.ice
+++ b/cs/test/Ice/slicing/exceptions/TestAMD.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/cs/test/Ice/slicing/exceptions/TestAMDI.cs b/cs/test/Ice/slicing/exceptions/TestAMDI.cs
index f79e93eb6a5..3ee112a8bf2 100644
--- a/cs/test/Ice/slicing/exceptions/TestAMDI.cs
+++ b/cs/test/Ice/slicing/exceptions/TestAMDI.cs
@@ -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/cs/test/Ice/slicing/exceptions/TestI.cs b/cs/test/Ice/slicing/exceptions/TestI.cs
index ec5e643cb73..cb20bd8aa24 100644
--- a/cs/test/Ice/slicing/exceptions/TestI.cs
+++ b/cs/test/Ice/slicing/exceptions/TestI.cs
@@ -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/cs/test/Ice/slicing/exceptions/run.py b/cs/test/Ice/slicing/exceptions/run.py
index 62a35c4ad8e..30f66d5b116 100755
--- a/cs/test/Ice/slicing/exceptions/run.py
+++ b/cs/test/Ice/slicing/exceptions/run.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.
@@ -10,21 +10,17 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/cs/test/Ice/slicing/objects/AllTests.cs b/cs/test/Ice/slicing/objects/AllTests.cs
index f807b218452..7e861f6a9f6 100644
--- a/cs/test/Ice/slicing/objects/AllTests.cs
+++ b/cs/test/Ice/slicing/objects/AllTests.cs
@@ -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/cs/test/Ice/slicing/objects/Client.cs b/cs/test/Ice/slicing/objects/Client.cs
index eaa6df4fb2e..468e6f8c229 100644
--- a/cs/test/Ice/slicing/objects/Client.cs
+++ b/cs/test/Ice/slicing/objects/Client.cs
@@ -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/cs/test/Ice/slicing/objects/ClientPrivate.ice b/cs/test/Ice/slicing/objects/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/cs/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/cs/test/Ice/slicing/objects/ClientPrivate.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/cs/test/Ice/slicing/objects/Forward.ice b/cs/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/cs/test/Ice/slicing/objects/Forward.ice
+++ b/cs/test/Ice/slicing/objects/Forward.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/cs/test/Ice/slicing/objects/Makefile b/cs/test/Ice/slicing/objects/Makefile
index ac15dd73685..552d5db98ff 100644
--- a/cs/test/Ice/slicing/objects/Makefile
+++ b/cs/test/Ice/slicing/objects/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/cs/test/Ice/slicing/objects/Makefile.mak b/cs/test/Ice/slicing/objects/Makefile.mak
index a9c38df6606..484404ac7a5 100644
--- a/cs/test/Ice/slicing/objects/Makefile.mak
+++ b/cs/test/Ice/slicing/objects/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/cs/test/Ice/slicing/objects/Server.cs b/cs/test/Ice/slicing/objects/Server.cs
index ff335c365d4..e8d192daba5 100644
--- a/cs/test/Ice/slicing/objects/Server.cs
+++ b/cs/test/Ice/slicing/objects/Server.cs
@@ -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/cs/test/Ice/slicing/objects/ServerPrivate.ice b/cs/test/Ice/slicing/objects/ServerPrivate.ice
index 95ceaa7f750..2f4189919c4 100644
--- a/cs/test/Ice/slicing/objects/ServerPrivate.ice
+++ b/cs/test/Ice/slicing/objects/ServerPrivate.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/cs/test/Ice/slicing/objects/ServerPrivateAMD.ice b/cs/test/Ice/slicing/objects/ServerPrivateAMD.ice
index 3112495277f..18265cf711c 100644
--- a/cs/test/Ice/slicing/objects/ServerPrivateAMD.ice
+++ b/cs/test/Ice/slicing/objects/ServerPrivateAMD.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/cs/test/Ice/slicing/objects/Test.ice b/cs/test/Ice/slicing/objects/Test.ice
index 9367704027e..e19d8f6e074 100644
--- a/cs/test/Ice/slicing/objects/Test.ice
+++ b/cs/test/Ice/slicing/objects/Test.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/cs/test/Ice/slicing/objects/TestAMD.ice b/cs/test/Ice/slicing/objects/TestAMD.ice
index 835cab3ed63..1a77a4c506c 100644
--- a/cs/test/Ice/slicing/objects/TestAMD.ice
+++ b/cs/test/Ice/slicing/objects/TestAMD.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/cs/test/Ice/slicing/objects/TestAMDI.cs b/cs/test/Ice/slicing/objects/TestAMDI.cs
index f0765d3297d..057f05f3e7f 100644
--- a/cs/test/Ice/slicing/objects/TestAMDI.cs
+++ b/cs/test/Ice/slicing/objects/TestAMDI.cs
@@ -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/cs/test/Ice/slicing/objects/TestI.cs b/cs/test/Ice/slicing/objects/TestI.cs
index 751035ecadc..377ed02aef9 100644
--- a/cs/test/Ice/slicing/objects/TestI.cs
+++ b/cs/test/Ice/slicing/objects/TestI.cs
@@ -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/cs/test/Ice/slicing/objects/run.py b/cs/test/Ice/slicing/objects/run.py
index 132196d0d54..30f66d5b116 100755
--- a/cs/test/Ice/slicing/objects/run.py
+++ b/cs/test/Ice/slicing/objects/run.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.
@@ -10,21 +10,17 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "client")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/cs/test/Ice/stream/Client.cs b/cs/test/Ice/stream/Client.cs
index 87354caff20..3824c6649df 100644
--- a/cs/test/Ice/stream/Client.cs
+++ b/cs/test/Ice/stream/Client.cs
@@ -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/cs/test/Ice/stream/Makefile b/cs/test/Ice/stream/Makefile
index 25f35470dc3..5c56c1b71ad 100644
--- a/cs/test/Ice/stream/Makefile
+++ b/cs/test/Ice/stream/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/cs/test/Ice/stream/Makefile.mak b/cs/test/Ice/stream/Makefile.mak
index c38f6dd2a0c..34aa8987ddf 100644
--- a/cs/test/Ice/stream/Makefile.mak
+++ b/cs/test/Ice/stream/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/cs/test/Ice/stream/Test.ice b/cs/test/Ice/stream/Test.ice
index 880c83444ee..dafd2f02d41 100644
--- a/cs/test/Ice/stream/Test.ice
+++ b/cs/test/Ice/stream/Test.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/cs/test/Ice/stream/run.py b/cs/test/Ice/stream/run.py
index 314b43e19c6..eb555b04de1 100755
--- a/cs/test/Ice/stream/run.py
+++ b/cs/test/Ice/stream/run.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.
@@ -10,32 +10,19 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "stream")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, " --Ice.Warn.Dispatch=0 2>&1")
+clientProc = TestUtil.startClient(client, " --Ice.Warn.Dispatch=0 2>&1")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/cs/test/Ice/timeout/AllTests.cs b/cs/test/Ice/timeout/AllTests.cs
index a81298590fb..5819bfccb80 100644
--- a/cs/test/Ice/timeout/AllTests.cs
+++ b/cs/test/Ice/timeout/AllTests.cs
@@ -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/cs/test/Ice/timeout/Client.cs b/cs/test/Ice/timeout/Client.cs
index da11a9d5dfd..d4c711ac049 100644
--- a/cs/test/Ice/timeout/Client.cs
+++ b/cs/test/Ice/timeout/Client.cs
@@ -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/cs/test/Ice/timeout/Makefile b/cs/test/Ice/timeout/Makefile
index c1e77949c1a..06c915ffdd9 100644
--- a/cs/test/Ice/timeout/Makefile
+++ b/cs/test/Ice/timeout/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/cs/test/Ice/timeout/Makefile.mak b/cs/test/Ice/timeout/Makefile.mak
index ff726713836..f2cbdb5ff4d 100644
--- a/cs/test/Ice/timeout/Makefile.mak
+++ b/cs/test/Ice/timeout/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/cs/test/Ice/timeout/Server.cs b/cs/test/Ice/timeout/Server.cs
index c654366a4d7..4a290241cda 100644
--- a/cs/test/Ice/timeout/Server.cs
+++ b/cs/test/Ice/timeout/Server.cs
@@ -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/cs/test/Ice/timeout/Test.ice b/cs/test/Ice/timeout/Test.ice
index 82531c5901e..4ba0c07ab71 100644
--- a/cs/test/Ice/timeout/Test.ice
+++ b/cs/test/Ice/timeout/Test.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/cs/test/Ice/timeout/TimeoutI.cs b/cs/test/Ice/timeout/TimeoutI.cs
index babc01e975f..3cb15147c55 100644
--- a/cs/test/Ice/timeout/TimeoutI.cs
+++ b/cs/test/Ice/timeout/TimeoutI.cs
@@ -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/cs/test/Ice/timeout/run.py b/cs/test/Ice/timeout/run.py
index 21b55b1ce7f..b1c2e15a493 100755
--- a/cs/test/Ice/timeout/run.py
+++ b/cs/test/Ice/timeout/run.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.
@@ -10,18 +10,14 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "timeout")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/cs/test/Ice/udp/.depend b/cs/test/Ice/udp/.depend
new file mode 100644
index 00000000000..d07cfb3711e
--- /dev/null
+++ b/cs/test/Ice/udp/.depend
@@ -0,0 +1 @@
+Test.cs: ./Test.ice
diff --git a/cs/test/Ice/udp/AllTests.cs b/cs/test/Ice/udp/AllTests.cs
new file mode 100644
index 00000000000..41e4b538ca0
--- /dev/null
+++ b/cs/test/Ice/udp/AllTests.cs
@@ -0,0 +1,155 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+using Test;
+using System;
+using System.Threading;
+
+public class AllTests
+{
+ private static void test(bool b)
+ {
+ if(!b)
+ {
+ throw new Exception();
+ }
+ }
+
+ public class PingReplyI : Test.PingReplyDisp_
+ {
+ public override void reply(Ice.Current current)
+ {
+ lock(this)
+ {
+ ++_replies;
+ Monitor.Pulse(this);
+ }
+ }
+
+ public void reset()
+ {
+ lock(this)
+ {
+ _replies = 0;
+ }
+ }
+
+ public bool waitReply(int expectedReplies, long timeout)
+ {
+ lock(this)
+ {
+ long end = System.DateTime.Now.Ticks / 1000 + timeout;
+ while(_replies < expectedReplies)
+ {
+ int delay = (int)(end - System.DateTime.Now.Ticks / 1000);
+ if(delay > 0)
+ {
+ Monitor.Wait(this, delay);
+ }
+ else
+ {
+ break;
+ }
+ }
+ return _replies == expectedReplies;
+ }
+ }
+
+ private int _replies = 0;
+ }
+
+ public static Test.TestIntfPrx allTests(Ice.Communicator communicator)
+ {
+ communicator.getProperties().setProperty("ReplyAdapter.Endpoints", "udp -p 12030");
+ Ice.ObjectAdapter adapter = communicator.createObjectAdapter("ReplyAdapter");
+ PingReplyI replyI = new PingReplyI();
+ Test.PingReplyPrx reply =
+ (Test.PingReplyPrx)Test.PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
+ adapter.activate();
+
+ Console.Out.Write("testing udp... ");
+ Console.Out.Flush();
+ Ice.ObjectPrx @base = communicator.stringToProxy("test:udp -p 12010").ice_datagram();
+ Test.TestIntfPrx obj = Test.TestIntfPrxHelper.uncheckedCast(@base);
+
+ replyI.reset();
+ obj.ping(reply);
+ obj.ping(reply);
+ obj.ping(reply);
+ bool ret = replyI.waitReply(3, 2000);
+ test(ret == true);
+
+ byte[] seq = null;
+ try
+ {
+ seq = new byte[1024];
+ while(true)
+ {
+ seq = new byte[seq.Length * 2 + 10];
+ replyI.reset();
+ obj.sendByteSeq(seq, reply);
+ replyI.waitReply(1, 10000);
+ }
+ }
+ catch(Ice.DatagramLimitException)
+ {
+ test(seq.Length > 16384);
+ }
+
+ communicator.getProperties().setProperty("Ice.UDP.SndSize", "64000");
+ seq = new byte[50000];
+ try
+ {
+ replyI.reset();
+ obj.sendByteSeq(seq, reply);
+ test(!replyI.waitReply(1, 500));
+ }
+ catch(Ice.LocalException ex)
+ {
+ Console.Out.WriteLine(ex);
+ test(false);
+ }
+
+ Console.Out.WriteLine("ok");
+
+ Console.Out.Write("testing udp multicast... ");
+ Console.Out.Flush();
+ String host;
+ if(communicator.getProperties().getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ @base = communicator.stringToProxy("test:udp -h " + host + " -p 12020").ice_datagram();
+ obj = Test.TestIntfPrxHelper.uncheckedCast(@base);
+
+ replyI.reset();
+ obj.ping(reply);
+ if(!replyI.waitReply(5, 5000))
+ {
+ Console.Out.WriteLine("failed (is a firewall enabled?)");
+ return obj;
+ }
+
+ replyI.reset();
+ obj.ping(reply);
+ if(!replyI.waitReply(5, 5000))
+ {
+ Console.Out.WriteLine("failed (is a firewall enabled?)");
+ return obj;
+ }
+
+ Console.Out.WriteLine("ok");
+
+ return obj;
+ }
+}
diff --git a/cs/test/Ice/udp/Client.cs b/cs/test/Ice/udp/Client.cs
new file mode 100644
index 00000000000..68c990c8c05
--- /dev/null
+++ b/cs/test/Ice/udp/Client.cs
@@ -0,0 +1,72 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+using Test;
+using System;
+using System.Diagnostics;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceTest")]
+[assembly: AssemblyDescription("Ice test")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Client
+{
+ private static int run(string[] args, Ice.Communicator communicator)
+ {
+ TestIntfPrx obj = AllTests.allTests(communicator);
+ obj.shutdown();
+ return 0;
+ }
+
+ public static void Main(string[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ Debug.Listeners.Add(new ConsoleTraceListener());
+
+ try
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(ref args);
+
+ initData.properties.setProperty("Ice.Warn.Connections", "0");
+ initData.properties.setProperty("Ice.UDP.SndSize", "16384");
+
+ communicator = Ice.Util.initialize(ref args, initData);
+ status = run(args, communicator);
+ }
+ catch(System.Exception ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+ }
+
+ if(status != 0)
+ {
+ System.Environment.Exit(status);
+ }
+ }
+}
diff --git a/cs/test/Ice/checksum/client/Makefile b/cs/test/Ice/udp/Makefile
index bcaeb151d23..85a9ca687ae 100644
--- a/cs/test/Ice/checksum/client/Makefile
+++ b/cs/test/Ice/udp/Makefile
@@ -1,19 +1,20 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-top_srcdir = ../../../..
+top_srcdir = ../../..
-TARGETS = client.exe
+TARGETS = client.exe server.exe
C_SRCS = AllTests.cs Client.cs
+S_SRCS = TestIntfI.cs Server.cs
-SLICE_SRCS = $(SDIR)/Test.ice $(SDIR)/Types.ice
+SLICE_SRCS = $(SDIR)/Test.ice
SDIR = .
@@ -23,9 +24,12 @@ include $(top_srcdir)/config/Make.rules.cs
MCSFLAGS := $(MCSFLAGS) -target:exe
-SLICE2CSFLAGS := $(SLICE2CSFLAGS) --checksum --ice -I. -I$(slicedir)
+SLICE2CSFLAGS := $(SLICE2CSFLAGS) -I.
client.exe: $(C_SRCS) $(GEN_SRCS)
$(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ $(call ref,Ice) $(subst /,$(DSEP),$^)
+
include .depend
diff --git a/cs/test/Ice/checksum/client/Makefile.mak b/cs/test/Ice/udp/Makefile.mak
index bcdd1557b6b..8b16dbd7f41 100644
--- a/cs/test/Ice/checksum/client/Makefile.mak
+++ b/cs/test/Ice/udp/Makefile.mak
@@ -1,24 +1,21 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-top_srcdir = ..\..\..\..
+top_srcdir = ..\..\..
-TARGETS = client.exe
+TARGETS = client.exe server.exe
TARGETS_CONFIG = $(TARGETS:.exe=.exe.config)
C_SRCS = AllTests.cs Client.cs
+S_SRCS = TestIntfI.cs Server.cs
-SLICE_SRCS = $(SDIR)\Test.ice \
- $(SDIR)\Types.ice
-
-GEN_SRCS = $(GDIR)\Test.cs \
- $(GDIR)\Types.cs
+GEN_SRCS = $(GDIR)\Test.cs
SDIR = .
@@ -28,9 +25,12 @@ GDIR = generated
MCSFLAGS = $(MCSFLAGS) -target:exe
-SLICE2CSFLAGS = $(SLICE2CSFLAGS) --checksum --ice -I. -I$(slicedir)
+SLICE2CSFLAGS = $(SLICE2CSFLAGS) -I.
client.exe: $(C_SRCS) $(GEN_SRCS)
$(MCS) $(MCSFLAGS) -out:$@ -r:$(refdir)\Ice.dll $(C_SRCS) $(GEN_SRCS)
+server.exe: $(S_SRCS) $(GEN_SRCS)
+ $(MCS) $(MCSFLAGS) -out:$@ -r:$(refdir)\Ice.dll $(S_SRCS) $(GEN_SRCS)
+
!include .depend
diff --git a/cs/test/Ice/udp/Server.cs b/cs/test/Ice/udp/Server.cs
new file mode 100644
index 00000000000..1c7c8526358
--- /dev/null
+++ b/cs/test/Ice/udp/Server.cs
@@ -0,0 +1,93 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+using System;
+using System.Diagnostics;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceTest")]
+[assembly: AssemblyDescription("Ice test")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Server
+{
+ private static int run(string[] args, Ice.Communicator communicator)
+ {
+ Ice.Properties properties = communicator.getProperties();
+ if(args.Length == 1 && args[0].Equals("1"))
+ {
+ properties.setProperty("TestAdapter.Endpoints", "udp -p 12010");
+ Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
+ adapter.add(new TestIntfI(), communicator.stringToIdentity("test"));
+ adapter.activate();
+ }
+
+ string host;
+ if(properties.getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ properties.setProperty("McastTestAdapter.Endpoints", "udp -h " + host + " -p 12020");
+ Ice.ObjectAdapter mcastAdapter = communicator.createObjectAdapter("McastTestAdapter");
+ mcastAdapter.add(new TestIntfI(), communicator.stringToIdentity("test"));
+ mcastAdapter.activate();
+
+ communicator.waitForShutdown();
+ return 0;
+ }
+
+ public static void Main(string[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ Debug.Listeners.Add(new ConsoleTraceListener());
+
+ try
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(ref args);
+
+ initData.properties.setProperty("Ice.Warn.Connections", "0");
+ initData.properties.setProperty("Ice.UDP.RcvSize", "16384");
+
+ communicator = Ice.Util.initialize(ref args, initData);
+ status = run(args, communicator);
+ }
+ catch(System.Exception ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ System.Console.Error.WriteLine(ex);
+ status = 1;
+ }
+ }
+
+ if(status != 0)
+ {
+ System.Environment.Exit(status);
+ }
+ }
+}
diff --git a/cs/test/Ice/udp/Test.ice b/cs/test/Ice/udp/Test.ice
new file mode 100644
index 00000000000..0d4af4d441a
--- /dev/null
+++ b/cs/test/Ice/udp/Test.ice
@@ -0,0 +1,32 @@
+// **********************************************************************
+//
+// 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 TEST_ICE
+#define TEST_ICE
+
+module Test
+{
+
+interface PingReply
+{
+ void reply();
+};
+
+sequence<byte> ByteSeq;
+
+interface TestIntf
+{
+ void ping(PingReply* reply);
+ void sendByteSeq(ByteSeq seq, PingReply* reply);
+ void shutdown();
+};
+
+};
+
+#endif
diff --git a/cs/test/Ice/udp/TestIntfI.cs b/cs/test/Ice/udp/TestIntfI.cs
new file mode 100644
index 00000000000..d00ce1abe30
--- /dev/null
+++ b/cs/test/Ice/udp/TestIntfI.cs
@@ -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.
+//
+// **********************************************************************
+
+using System.Diagnostics;
+
+public sealed class TestIntfI : Test.TestIntfDisp_
+{
+ public override void ping(Test.PingReplyPrx reply, Ice.Current current)
+ {
+ try
+ {
+ reply.reply();
+ }
+ catch(Ice.LocalException)
+ {
+ Debug.Assert(false);
+ }
+ }
+
+ public override void sendByteSeq(byte[] seq, Test.PingReplyPrx reply, Ice.Current current)
+ {
+ try
+ {
+ reply.reply();
+ }
+ catch(Ice.LocalException)
+ {
+ Debug.Assert(false);
+ }
+ }
+
+ public override void shutdown(Ice.Current current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ }
+}
diff --git a/cs/test/Ice/udp/generated/.gitignore b/cs/test/Ice/udp/generated/.gitignore
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/cs/test/Ice/udp/generated/.gitignore
diff --git a/cs/test/Ice/udp/run.py b/cs/test/Ice/udp/run.py
new file mode 100755
index 00000000000..95f47bc2952
--- /dev/null
+++ b/cs/test/Ice/udp/run.py
@@ -0,0 +1,40 @@
+#!/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 os, sys
+
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
+
+server = os.path.join(os.getcwd(), "server")
+client = os.path.join(os.getcwd(), "client")
+
+num = 5
+
+serverProc = []
+for i in range(0, num):
+ print "starting server #%d..." % (i + 1),
+ serverProc.append(TestUtil.startServer(server, "%d" % (i + 1) , adapter="McastTestAdapter"))
+ print "ok"
+
+print "starting client...",
+clientProc = TestUtil.startClient(client)
+print "ok"
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/cs/test/IceBox/Makefile b/cs/test/IceBox/Makefile
index 93fdc77b71c..5e78ec2c7b9 100644
--- a/cs/test/IceBox/Makefile
+++ b/cs/test/IceBox/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/cs/test/IceBox/Makefile.mak b/cs/test/IceBox/Makefile.mak
index b754af99686..981832589f6 100644
--- a/cs/test/IceBox/Makefile.mak
+++ b/cs/test/IceBox/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/cs/test/IceBox/configuration/AllTests.cs b/cs/test/IceBox/configuration/AllTests.cs
index 955a726c562..c085c90baa8 100644
--- a/cs/test/IceBox/configuration/AllTests.cs
+++ b/cs/test/IceBox/configuration/AllTests.cs
@@ -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/cs/test/IceBox/configuration/Client.cs b/cs/test/IceBox/configuration/Client.cs
index 599525cb428..23602c3c1fb 100644
--- a/cs/test/IceBox/configuration/Client.cs
+++ b/cs/test/IceBox/configuration/Client.cs
@@ -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/cs/test/IceBox/configuration/Makefile b/cs/test/IceBox/configuration/Makefile
index ca464cc7001..6bcbdf766b7 100644
--- a/cs/test/IceBox/configuration/Makefile
+++ b/cs/test/IceBox/configuration/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/cs/test/IceBox/configuration/Makefile.mak b/cs/test/IceBox/configuration/Makefile.mak
index 4621636f3ee..3cc872b450e 100644
--- a/cs/test/IceBox/configuration/Makefile.mak
+++ b/cs/test/IceBox/configuration/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/cs/test/IceBox/configuration/Test.ice b/cs/test/IceBox/configuration/Test.ice
index 9e70b77cfc8..5300aa44bb0 100644
--- a/cs/test/IceBox/configuration/Test.ice
+++ b/cs/test/IceBox/configuration/Test.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/cs/test/IceBox/configuration/TestI.cs b/cs/test/IceBox/configuration/TestI.cs
index bb7aa52bae8..4c70fc20a6a 100644
--- a/cs/test/IceBox/configuration/TestI.cs
+++ b/cs/test/IceBox/configuration/TestI.cs
@@ -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/cs/test/IceBox/configuration/TestServiceI.cs b/cs/test/IceBox/configuration/TestServiceI.cs
index cbcddc135c3..87f789502db 100644
--- a/cs/test/IceBox/configuration/TestServiceI.cs
+++ b/cs/test/IceBox/configuration/TestServiceI.cs
@@ -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/cs/test/IceBox/configuration/run.py b/cs/test/IceBox/configuration/run.py
index 2314437bacb..9eb64996764 100755
--- a/cs/test/IceBox/configuration/run.py
+++ b/cs/test/IceBox/configuration/run.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.
@@ -10,28 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
+icebox = TestUtil.getIceBox()
-name = os.path.join("IceBox", "configuration")
-testdir = os.path.dirname(os.path.abspath(__file__))
-icebox = TestUtil.getIceBox(testdir);
-
-cwd = os.getcwd()
-os.chdir(testdir)
-
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox", "", icebox, "client")
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox2", "", icebox, "client")
-
-os.chdir(cwd)
-
-sys.exit(0)
+TestUtil.clientServerTest(additionalServerOptions="--Ice.Config=%s" % os.path.join(os.getcwd(), "config.icebox"),
+ server=icebox)
+TestUtil.clientServerTest(additionalServerOptions="--Ice.Config=%s" % os.path.join(os.getcwd(), "config.icebox2"),
+ server=icebox)
diff --git a/cs/test/IceGrid/Makefile b/cs/test/IceGrid/Makefile
index 19e4122739e..bb1af767101 100644
--- a/cs/test/IceGrid/Makefile
+++ b/cs/test/IceGrid/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/cs/test/IceGrid/Makefile.mak b/cs/test/IceGrid/Makefile.mak
index 716f718406e..d5c78891e66 100644
--- a/cs/test/IceGrid/Makefile.mak
+++ b/cs/test/IceGrid/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/cs/test/IceGrid/simple/AllTests.cs b/cs/test/IceGrid/simple/AllTests.cs
index 15e875e9de6..27dfd52ae8e 100644
--- a/cs/test/IceGrid/simple/AllTests.cs
+++ b/cs/test/IceGrid/simple/AllTests.cs
@@ -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.
@@ -77,6 +77,11 @@ public class AllTests
test(@base != null);
Console.Out.WriteLine("ok");
+ Console.Out.Write("testing IceGrid.Locator is present... ");
+ IceGrid.LocatorPrx locator = IceGrid.LocatorPrxHelper.uncheckedCast(@base);
+ test(locator != null);
+ Console.Out.WriteLine("ok");
+
Console.Out.Write("testing checked cast... ");
Console.Out.Flush();
TestIntfPrx obj = TestIntfPrxHelper.checkedCast(@base);
diff --git a/cs/test/IceGrid/simple/Client.cs b/cs/test/IceGrid/simple/Client.cs
index a309a3f67b1..90b6b69dbf6 100644
--- a/cs/test/IceGrid/simple/Client.cs
+++ b/cs/test/IceGrid/simple/Client.cs
@@ -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/cs/test/IceGrid/simple/Makefile b/cs/test/IceGrid/simple/Makefile
index 40f4d2f8f56..e21543f0870 100644
--- a/cs/test/IceGrid/simple/Makefile
+++ b/cs/test/IceGrid/simple/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/cs/test/IceGrid/simple/Makefile.mak b/cs/test/IceGrid/simple/Makefile.mak
index 521cc66a40d..16a9fedbf84 100644
--- a/cs/test/IceGrid/simple/Makefile.mak
+++ b/cs/test/IceGrid/simple/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/cs/test/IceGrid/simple/Server.cs b/cs/test/IceGrid/simple/Server.cs
index f85d70772cd..f47443cf35c 100644
--- a/cs/test/IceGrid/simple/Server.cs
+++ b/cs/test/IceGrid/simple/Server.cs
@@ -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/cs/test/IceGrid/simple/Test.ice b/cs/test/IceGrid/simple/Test.ice
index 900a3c992bc..4e0f2a6a2b9 100644
--- a/cs/test/IceGrid/simple/Test.ice
+++ b/cs/test/IceGrid/simple/Test.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/cs/test/IceGrid/simple/TestI.cs b/cs/test/IceGrid/simple/TestI.cs
index d925b978f2d..0bb61b93936 100644
--- a/cs/test/IceGrid/simple/TestI.cs
+++ b/cs/test/IceGrid/simple/TestI.cs
@@ -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/cs/test/IceGrid/simple/run.py b/cs/test/IceGrid/simple/run.py
index aae28fc00e8..1a8675e0185 100755
--- a/cs/test/IceGrid/simple/run.py
+++ b/cs/test/IceGrid/simple/run.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.
@@ -10,32 +10,25 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceGrid", "simple")
-testdir = os.path.dirname(os.path.abspath(__file__))
+sys.path.append(os.path.join(path[0]))
+from scripts import *
#
# Test client/server without on demand activation.
#
-IceGridAdmin.iceGridClientServerTest(testdir, name, "", "--TestAdapter.Endpoints=default" + \
- " --TestAdapter.AdapterId=TestAdapter")
+IceGridAdmin.iceGridClientServerTest("", "--TestAdapter.Endpoints=default --TestAdapter.AdapterId=TestAdapter")
#
# Test client/server with on demand activation.
#
if TestUtil.mono:
- IceGridAdmin.iceGridTest(testdir, name, "simple_mono_server.xml", "--with-deploy")
+ IceGridAdmin.iceGridTest("simple_mono_server.xml", "--with-deploy")
else:
- IceGridAdmin.iceGridTest(testdir, name, "simple_server.xml", "--with-deploy")
-sys.exit(0)
+ IceGridAdmin.iceGridTest("simple_server.xml", "--with-deploy")
diff --git a/cs/test/IceSSL/Makefile b/cs/test/IceSSL/Makefile
index 93fdc77b71c..5e78ec2c7b9 100644
--- a/cs/test/IceSSL/Makefile
+++ b/cs/test/IceSSL/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/cs/test/IceSSL/Makefile.mak b/cs/test/IceSSL/Makefile.mak
index 07b10b01bdb..37dd8347e11 100644
--- a/cs/test/IceSSL/Makefile.mak
+++ b/cs/test/IceSSL/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/cs/test/IceSSL/certs/makecerts.py b/cs/test/IceSSL/certs/makecerts.py
index 9664cc7ec32..69fda8cb85b 100755
--- a/cs/test/IceSSL/certs/makecerts.py
+++ b/cs/test/IceSSL/certs/makecerts.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.
@@ -18,7 +18,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
#
# Show usage information.
diff --git a/cs/test/IceSSL/configuration/AllTests.cs b/cs/test/IceSSL/configuration/AllTests.cs
index 4d3bce61f6b..8e79ecd5ea4 100644
--- a/cs/test/IceSSL/configuration/AllTests.cs
+++ b/cs/test/IceSSL/configuration/AllTests.cs
@@ -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/cs/test/IceSSL/configuration/CertificateVerifierI.cs b/cs/test/IceSSL/configuration/CertificateVerifierI.cs
index 281f0b2bbff..a074442294d 100644
--- a/cs/test/IceSSL/configuration/CertificateVerifierI.cs
+++ b/cs/test/IceSSL/configuration/CertificateVerifierI.cs
@@ -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/cs/test/IceSSL/configuration/Client.cs b/cs/test/IceSSL/configuration/Client.cs
index dacb9ad78fd..d93c47f445f 100644
--- a/cs/test/IceSSL/configuration/Client.cs
+++ b/cs/test/IceSSL/configuration/Client.cs
@@ -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/cs/test/IceSSL/configuration/Makefile b/cs/test/IceSSL/configuration/Makefile
index 9ab63a9a122..847daffe313 100644
--- a/cs/test/IceSSL/configuration/Makefile
+++ b/cs/test/IceSSL/configuration/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/cs/test/IceSSL/configuration/Makefile.mak b/cs/test/IceSSL/configuration/Makefile.mak
index 1656f30e377..0f6c51a7ee9 100644
--- a/cs/test/IceSSL/configuration/Makefile.mak
+++ b/cs/test/IceSSL/configuration/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/cs/test/IceSSL/configuration/PasswordCallbackI.cs b/cs/test/IceSSL/configuration/PasswordCallbackI.cs
index 7ae5bfe8d89..279b284c15f 100644
--- a/cs/test/IceSSL/configuration/PasswordCallbackI.cs
+++ b/cs/test/IceSSL/configuration/PasswordCallbackI.cs
@@ -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/cs/test/IceSSL/configuration/Server.cs b/cs/test/IceSSL/configuration/Server.cs
index 1acc8ddd4a8..f50209046d2 100644
--- a/cs/test/IceSSL/configuration/Server.cs
+++ b/cs/test/IceSSL/configuration/Server.cs
@@ -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/cs/test/IceSSL/configuration/Test.ice b/cs/test/IceSSL/configuration/Test.ice
index c0149cd962f..335a7cbe344 100644
--- a/cs/test/IceSSL/configuration/Test.ice
+++ b/cs/test/IceSSL/configuration/Test.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/cs/test/IceSSL/configuration/TestI.cs b/cs/test/IceSSL/configuration/TestI.cs
index 50865edaf5c..adcf047e92b 100644
--- a/cs/test/IceSSL/configuration/TestI.cs
+++ b/cs/test/IceSSL/configuration/TestI.cs
@@ -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/cs/test/IceSSL/configuration/run.py b/cs/test/IceSSL/configuration/run.py
index a21f6a11f0e..ff60c099d95 100755
--- a/cs/test/IceSSL/configuration/run.py
+++ b/cs/test/IceSSL/configuration/run.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.
@@ -10,24 +10,18 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceSSL", "configuration")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
+sys.path.append(os.path.join(path[0]))
+from scripts import *
#
# The drive letter needs to be removed on Windows or loading the SSL
-# plugin will not work.
+# plug-in will not work.
#
-TestUtil.clientServerTestWithOptions(name, "", " " + os.path.splitdrive(testdir)[1])
-sys.exit(0)
+TestUtil.clientServerTest(additionalClientOptions=os.path.splitdrive(os.getcwd())[1])
diff --git a/cs/test/IceUtil/Makefile b/cs/test/IceUtil/Makefile
index 5d3d7bf1e07..b7bd576398c 100644
--- a/cs/test/IceUtil/Makefile
+++ b/cs/test/IceUtil/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/cs/test/IceUtil/Makefile.mak b/cs/test/IceUtil/Makefile.mak
index 5840c92735a..dfd45817cc4 100644
--- a/cs/test/IceUtil/Makefile.mak
+++ b/cs/test/IceUtil/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/cs/test/IceUtil/inputUtil/Client.cs b/cs/test/IceUtil/inputUtil/Client.cs
index 132b5618fc2..e8cbd8e5be9 100644
--- a/cs/test/IceUtil/inputUtil/Client.cs
+++ b/cs/test/IceUtil/inputUtil/Client.cs
@@ -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/cs/test/IceUtil/inputUtil/Makefile b/cs/test/IceUtil/inputUtil/Makefile
index fee52e95066..2e42a708b8e 100644
--- a/cs/test/IceUtil/inputUtil/Makefile
+++ b/cs/test/IceUtil/inputUtil/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/cs/test/IceUtil/inputUtil/Makefile.mak b/cs/test/IceUtil/inputUtil/Makefile.mak
index b83dedace58..62f93e56ad7 100644
--- a/cs/test/IceUtil/inputUtil/Makefile.mak
+++ b/cs/test/IceUtil/inputUtil/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/cs/test/IceUtil/inputUtil/run.py b/cs/test/IceUtil/inputUtil/run.py
index be190ef14ad..1dd248fbd59 100755
--- a/cs/test/IceUtil/inputUtil/run.py
+++ b/cs/test/IceUtil/inputUtil/run.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.
@@ -10,29 +10,19 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceUtil", "inputUtil")
-testdir = os.path.dirname(os.path.abspath(__file__))
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, "")
+clientProc = TestUtil.startClient(client, "")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/cs/test/Makefile b/cs/test/Makefile
index 29f7dcb7278..420e6e9ee69 100644
--- a/cs/test/Makefile
+++ b/cs/test/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/cs/test/Makefile.mak b/cs/test/Makefile.mak
index 856c59805b7..f9b2d7b0360 100644
--- a/cs/test/Makefile.mak
+++ b/cs/test/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/cs/test/Slice/Makefile b/cs/test/Slice/Makefile
index 57b722b34dd..f96cdaabeaa 100644
--- a/cs/test/Slice/Makefile
+++ b/cs/test/Slice/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/cs/test/Slice/Makefile.mak b/cs/test/Slice/Makefile.mak
index b666dc59d2c..6f584c57f68 100644
--- a/cs/test/Slice/Makefile.mak
+++ b/cs/test/Slice/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/cs/test/Slice/keyword/Client.cs b/cs/test/Slice/keyword/Client.cs
index 5848d58159c..31de7a10f46 100644
--- a/cs/test/Slice/keyword/Client.cs
+++ b/cs/test/Slice/keyword/Client.cs
@@ -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/cs/test/Slice/keyword/Key.ice b/cs/test/Slice/keyword/Key.ice
index 551b9165752..d538e1e3424 100644
--- a/cs/test/Slice/keyword/Key.ice
+++ b/cs/test/Slice/keyword/Key.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/cs/test/Slice/keyword/Makefile b/cs/test/Slice/keyword/Makefile
index 59b0abf7c20..65369318ddc 100644
--- a/cs/test/Slice/keyword/Makefile
+++ b/cs/test/Slice/keyword/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/cs/test/Slice/keyword/Makefile.mak b/cs/test/Slice/keyword/Makefile.mak
index dfd94a3cf7a..e46d22299e2 100644
--- a/cs/test/Slice/keyword/Makefile.mak
+++ b/cs/test/Slice/keyword/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/cs/test/Slice/keyword/run.py b/cs/test/Slice/keyword/run.py
index 93c2ae5a686..37cf24ca837 100755
--- a/cs/test/Slice/keyword/run.py
+++ b/cs/test/Slice/keyword/run.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.
@@ -10,29 +10,19 @@
import os, sys, getopt
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Slice", "keyword")
-testdir = os.path.dirname(os.path.abspath(__file__))
-client = os.path.join(testdir, "client")
+client = os.path.join(os.getcwd(), "client")
print "starting client...",
-clientPipe = TestUtil.startClient(client, "")
+clientProc = TestUtil.startClient(client)
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/demoscript/Freeze/__init__.py b/demoscript/Freeze/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/Freeze/__init__.py
+++ b/demoscript/Freeze/__init__.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/demoscript/Freeze/bench.py b/demoscript/Freeze/bench.py
index 8f2606b9a9f..7aa64434bad 100755
--- a/demoscript/Freeze/bench.py
+++ b/demoscript/Freeze/bench.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/demoscript/Freeze/casino.py b/demoscript/Freeze/casino.py
index 64788a7f27f..a44a3cb9807 100755
--- a/demoscript/Freeze/casino.py
+++ b/demoscript/Freeze/casino.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/demoscript/Freeze/library.py b/demoscript/Freeze/library.py
index 578b990a38b..3b3c8ad3a5a 100755
--- a/demoscript/Freeze/library.py
+++ b/demoscript/Freeze/library.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.
@@ -9,7 +9,7 @@
# **********************************************************************
import sys
-import demoscript.Expect as Expect
+from scripts import Expect
def dequote(s):
cur = 0
diff --git a/demoscript/Freeze/phonebook.py b/demoscript/Freeze/phonebook.py
index aa8927adabd..e4ea041bcb4 100755
--- a/demoscript/Freeze/phonebook.py
+++ b/demoscript/Freeze/phonebook.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.
@@ -9,7 +9,7 @@
# **********************************************************************
import sys
-import demoscript.Expect as Expect
+from scripts import Expect
def dequote(s):
cur = 0
diff --git a/demoscript/Freeze/transform.py b/demoscript/Freeze/transform.py
index 5bd8568dd0a..e37fd57b0c9 100755
--- a/demoscript/Freeze/transform.py
+++ b/demoscript/Freeze/transform.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.
@@ -9,7 +9,7 @@
# **********************************************************************
import sys, demoscript, time
-import demoscript.Expect as Expect
+from scripts import Expect
def run(createCmd, recreateCmd, readCmd, readnewCmd):
print "cleaning databases...",
diff --git a/demoscript/Glacier2/__init__.py b/demoscript/Glacier2/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/Glacier2/__init__.py
+++ b/demoscript/Glacier2/__init__.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/demoscript/Glacier2/callback.py b/demoscript/Glacier2/callback.py
index 6bd8230e1b8..550306dc7ca 100755
--- a/demoscript/Glacier2/callback.py
+++ b/demoscript/Glacier2/callback.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.
@@ -9,7 +9,7 @@
# **********************************************************************
import sys, time, signal
-import demoscript.Expect as Expect
+from scripts import Expect
def run(client, server, sessionserver, glacier2):
print "testing ",
diff --git a/demoscript/Ice/__init__.py b/demoscript/Ice/__init__.py
index 399e651aea7..e50b0733d5f 100755..100644
--- a/demoscript/Ice/__init__.py
+++ b/demoscript/Ice/__init__.py
@@ -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/demoscript/Ice/async.py b/demoscript/Ice/async.py
index 10c6b48ac63..0e3b054ef14 100755..100644
--- a/demoscript/Ice/async.py
+++ b/demoscript/Ice/async.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def run(client, server):
print "testing client... ",
diff --git a/demoscript/Ice/bidir.py b/demoscript/Ice/bidir.py
index 7a8ab56a1de..c571ddc0d8a 100755..100644
--- a/demoscript/Ice/bidir.py
+++ b/demoscript/Ice/bidir.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.
@@ -10,6 +10,7 @@
import sys, signal
from demoscript import *
+from scripts import Expect
def run(clientStr, server):
print "adding client 1... ",
diff --git a/demoscript/Ice/callback.py b/demoscript/Ice/callback.py
index 59facf278e9..2a37edbaa6c 100755..100644
--- a/demoscript/Ice/callback.py
+++ b/demoscript/Ice/callback.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def runtests(client, server, secure):
print "testing twoway",
diff --git a/demoscript/Ice/hello.py b/demoscript/Ice/hello.py
index aa6b7bb0d32..a003b0c9598 100755..100644
--- a/demoscript/Ice/hello.py
+++ b/demoscript/Ice/hello.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def runtests(client, server, secure):
print "testing twoway",
@@ -58,13 +59,7 @@ def runtests(client, server, secure):
client.sendline('P')
client.expect('server delay is now set to 2500ms')
client.sendline('t')
- # With Java/C# under Windows the tcp connection shutdown takes
- # longer than expected... hence we use a 6 second timeout instead
- # of the expected ~4s.
- #
- # http://bugzilla/bugzilla/show_bug.cgi?id=2425
- #
- client.expect('.*TimeoutException.*', timeout=6)
+ client.expect('.*TimeoutException.*', timeout=5)
server.expect('Hello World!')
server.expect('Hello World!') # second because op is idempotent
client.sendline('P')
diff --git a/demoscript/Ice/invoke.py b/demoscript/Ice/invoke.py
index be7ad5424ed..0953b53ae27 100755..100644
--- a/demoscript/Ice/invoke.py
+++ b/demoscript/Ice/invoke.py
@@ -1,15 +1,16 @@
#!/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.
#
# **********************************************************************
-import sys, demoscript
+import sys
from demoscript import *
+from scripts import Expect
def run(client, server):
print "testing...",
diff --git a/demoscript/Ice/multicast.py b/demoscript/Ice/multicast.py
index a1f0c3a04e3..deec2b0510e 100755..100644
--- a/demoscript/Ice/multicast.py
+++ b/demoscript/Ice/multicast.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.
@@ -10,6 +10,7 @@
import sys, signal
from demoscript import *
+from scripts import Expect
def runClient(clientCmd, server1, server2):
client = Util.spawn(clientCmd)
diff --git a/demoscript/Ice/nested.py b/demoscript/Ice/nested.py
index 4c67f7e346b..8b739a4bbad 100755..100644
--- a/demoscript/Ice/nested.py
+++ b/demoscript/Ice/nested.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.
@@ -10,6 +10,7 @@
import sys, signal
from demoscript import *
+from scripts import Expect
def run(client, server):
print "testing nested...",
diff --git a/demoscript/Ice/nrvo.py b/demoscript/Ice/nrvo.py
new file mode 100644
index 00000000000..32b6dbca451
--- /dev/null
+++ b/demoscript/Ice/nrvo.py
@@ -0,0 +1,27 @@
+#!/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
+from demoscript import *
+from scripts import Expect
+
+def run(client, server):
+ print "testing client... ",
+ sys.stdout.flush()
+ client.sendline('1')
+ client.expect('==> ', timeout=2000)
+ client.sendline('2')
+ client.expect('==> ', timeout=2000)
+ client.sendline('3')
+ client.expect('==> ', timeout=2000)
+ client.sendline('s')
+ client.expect('==> ', timeout=2000)
+ client.sendline('x')
+ print "ok"
diff --git a/demoscript/Ice/session.py b/demoscript/Ice/session.py
index 1d9ae3992eb..5b330dc48a6 100755..100644
--- a/demoscript/Ice/session.py
+++ b/demoscript/Ice/session.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def run(clientStr, server):
client = Util.spawn(clientStr)
diff --git a/demoscript/Ice/throughput.py b/demoscript/Ice/throughput.py
index 5b812b439d0..166bfcab1b5 100755..100644
--- a/demoscript/Ice/throughput.py
+++ b/demoscript/Ice/throughput.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def runseries(client):
client.expect('==> ', timeout=240)
diff --git a/demoscript/Ice/value.py b/demoscript/Ice/value.py
index 7db2275e7ee..9c7c50d0d54 100755..100644
--- a/demoscript/Ice/value.py
+++ b/demoscript/Ice/value.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.
@@ -10,6 +10,7 @@
import sys
from demoscript import *
+from scripts import Expect
def run(client, server, ruby = False):
print "testing...",
diff --git a/demoscript/IceBox/__init__.py b/demoscript/IceBox/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/IceBox/__init__.py
+++ b/demoscript/IceBox/__init__.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/demoscript/IceBox/hello.py b/demoscript/IceBox/hello.py
index 11cf23a206c..50a9eb08478 100755
--- a/demoscript/IceBox/hello.py
+++ b/demoscript/IceBox/hello.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.
@@ -9,7 +9,7 @@
# **********************************************************************
import sys, demoscript
-import demoscript.Expect as Expect
+from scripts import Expect
def runtests(client, server, secure):
print "testing twoway",
diff --git a/demoscript/IceGrid/__init__.py b/demoscript/IceGrid/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/IceGrid/__init__.py
+++ b/demoscript/IceGrid/__init__.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/demoscript/IceGrid/allocate.py b/demoscript/IceGrid/allocate.py
index 89c7e2975db..ea004293506 100755
--- a/demoscript/IceGrid/allocate.py
+++ b/demoscript/IceGrid/allocate.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.
@@ -10,6 +10,7 @@
import sys, os
from demoscript import *
+from scripts import Expect
def run(clientCmd):
print "cleaning databases...",
diff --git a/demoscript/IceGrid/icebox.py b/demoscript/IceGrid/icebox.py
index edd2f581fc9..b571de648fb 100755
--- a/demoscript/IceGrid/icebox.py
+++ b/demoscript/IceGrid/icebox.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.
@@ -10,6 +10,7 @@
import sys, time, os
from demoscript import *
+from scripts import Expect
def run(clientStr, desc = 'application'):
print "cleaning databases...",
diff --git a/demoscript/IceGrid/sessionActivation.py b/demoscript/IceGrid/sessionActivation.py
index d6b2f93bef2..4b61dc61b57 100755
--- a/demoscript/IceGrid/sessionActivation.py
+++ b/demoscript/IceGrid/sessionActivation.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.
@@ -10,6 +10,7 @@
import sys, os
from demoscript import *
+from scripts import Expect
def run(clientCmd):
print "cleaning databases...",
diff --git a/demoscript/IceGrid/simple.py b/demoscript/IceGrid/simple.py
index c13b143998d..0d18f5e5078 100755
--- a/demoscript/IceGrid/simple.py
+++ b/demoscript/IceGrid/simple.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.
@@ -10,6 +10,7 @@
import sys, time, os
from demoscript import *
+from scripts import Expect
def run(clientStr, desc = 'application'):
print "cleaning databases...",
diff --git a/demoscript/IceStorm/__init__.py b/demoscript/IceStorm/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/IceStorm/__init__.py
+++ b/demoscript/IceStorm/__init__.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/demoscript/IceStorm/clock.py b/demoscript/IceStorm/clock.py
index 607a3b37c89..6a80495046d 100755
--- a/demoscript/IceStorm/clock.py
+++ b/demoscript/IceStorm/clock.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.
@@ -10,6 +10,7 @@
import sys, time, signal
from demoscript import *
+from scripts import Expect
def runtest(icestorm, subCmd, subargs, pubCmd, pubargs):
print "testing pub%s/sub%s..." % (pubargs, subargs),
diff --git a/demoscript/Util.py b/demoscript/Util.py
index 55d1d555f7c..bc5418248b7 100755..100644
--- a/demoscript/Util.py
+++ b/demoscript/Util.py
@@ -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,12 +14,26 @@ import re
import os
import signal
import time
-import Expect
+
+# Locate the top level directory of the demo dist (or the top of the
+# source tree for a source dist).
+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")) ]
+toplevel = path[0]
+if os.path.isdir(os.path.join(toplevel, "cpp")):
+ sourcedist = True
+else:
+ sourcedist = False
+
+from scripts import Expect
keepGoing = False
iceHome = None
x64 = False
-toplevel = None
+preferIPv4 = False
demoErrors = []
#
@@ -32,18 +46,6 @@ host = "127.0.0.1"
#
debug = False
-# Locate the top level directory of the demo dist (or the top of the
-# source tree for a source dist).
-path = [ ".", "..", "../..", "../../..", "../../../.." ]
-head, tail = os.path.split(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")) ]
-toplevel = path[0]
-if os.path.isdir(os.path.join(toplevel, "cpp")):
- sourcedist = True
-else:
- sourcedist = False
origenv = {}
def dumpenv():
@@ -318,9 +320,11 @@ def run(demos, root = False):
--continue Keep running when a demo fails."
--ice-home=<path> Use the binary distribution from the given path."
--x64 Binary distribution is 64-bit."
+ --preferIPv4 Prefer IPv4 stack (java only)."
--fast Run an abbreviated version of the demos."
--script Generate a script to run the demos.
- --env Dump the environment.""" % (sys.argv[0])
+ --env Dump the environment."
+ --noenv Do not automatically modify environment.""" % (sys.argv[0])
sys.exit(2)
global keepGoing
@@ -328,7 +332,7 @@ def run(demos, root = False):
try:
opts, args = getopt.getopt(sys.argv[1:], "lr:R:", [
"filter=", "rfilter=", "start=", "loop", "fast", "trace=", "debug", "host=", "mode=",
- "continue", "ice-home=", "x64", "env", "script"])
+ "continue", "ice-home=", "x64", "preferIPv4", "env", "noenv", "script"])
except getopt.GetoptError:
usage()
@@ -338,7 +342,6 @@ def run(demos, root = False):
start = 0
loop = False
- env = False
arg = ""
filters = []
script = False
@@ -349,8 +352,11 @@ def run(demos, root = False):
global x64
x64 = True
arg += " " + o
- elif o == "--env":
- env = True
+ elif o == "--preferIPv4":
+ global preferIPv4
+ preferIPv4 = True
+ arg += " " + o
+ elif o in ("--env", "--noenv"):
arg += " " + o
elif o in ("-c", "--continue"):
keepGoing = True
@@ -408,29 +414,28 @@ def guessBuildModeForDir(cwd):
return None
def guessBuildMode():
- m = guessBuildModeForDir(".")
- if m is None and not iceHome and sourcedist:
+ if not iceHome and sourcedist:
m = guessBuildModeForDir(os.path.join(toplevel, "cpp", "bin"))
+ else:
+ m = guessBuildModeForDir(".")
if m is None:
raise "cannot guess debug or release mode"
return m
-def getBuild():
+def isDebugBuild():
global buildmode
# Guess the mode, if not set on the command line.
+ if not isWin32():
+ return False
if buildmode is None:
buildmode = guessBuildMode()
print "(guessed build mode %s)" % buildmode
- return buildmode
+ return buildmode == "debug"
def getIceBox(mapping = "cpp"):
if mapping == "cpp":
- if isWin32():
- mode = getBuild()
- if mode == 'release':
- return "icebox"
- else:
- return "iceboxd"
+ if isWin32() and isDebugBuild():
+ return "iceboxd"
return "icebox"
elif mapping == "cs":
if isMono(): # Mono cannot locate icebox in the PATH.
@@ -464,6 +469,8 @@ def spawn(command, cwd = None):
elif mapping == "vb":
command = "./" + command
elif mapping == "java":
+ if preferIPv4:
+ command = command.replace("java", "java -Djava.net.preferIPv4Stack=true")
if isSolaris() and x64:
command = command.replace("java", "java -d64")
@@ -512,10 +519,10 @@ def addLdPath(libpath):
def processCmdLine():
def usage():
- print "usage: " + sys.argv[0] + " --x64 --env --fast --trace=output --debug --host host --mode=[debug|release] --ice-home=<dir>"
+ print "usage: " + sys.argv[0] + " --x64 --preferIPv4 --env --noenv --fast --trace=output --debug --host host --mode=[debug|release] --ice-home=<dir>"
sys.exit(2)
try:
- opts, args = getopt.getopt(sys.argv[1:], "", ["env", "x64", "fast", "trace=", "debug", "host=", "mode=", "ice-home="])
+ opts, args = getopt.getopt(sys.argv[1:], "", ["env", "noenv", "x64", "preferIPv4", "fast", "trace=", "debug", "host=", "mode=", "ice-home="])
except getopt.GetoptError:
usage()
@@ -524,6 +531,7 @@ def processCmdLine():
global tracefile
global buildmode
global x64
+ global preferIPv4
global debug
global host
global iceHome
@@ -534,6 +542,7 @@ def processCmdLine():
x64 = False
tracefile = None
env = False
+ noenv = False
for o, a in opts:
if o == "--debug":
@@ -547,10 +556,14 @@ def processCmdLine():
host = a
if o == "--env":
env = True
+ if o == "--noenv":
+ noenv = True
if o == "--fast":
fast = True
if o == "--x64":
x64 = True
+ if o == "--preferIPv4":
+ preferIPv4 = True
if o == "--ice-home":
iceHome = a
if o == "--mode":
@@ -564,7 +577,7 @@ def processCmdLine():
defaultHost = None
if not iceHome and os.environ.get("USE_BIN_DIST", "no") == "yes" or os.environ.get("ICE_HOME", "") != "":
- if not os.environ.get("ICE_HOME", None):
+ if os.environ.get("ICE_HOME", "") != "":
iceHome = os.environ["ICE_HOME"]
elif isLinux():
iceHome = "/usr"
@@ -572,7 +585,8 @@ def processCmdLine():
if not x64:
x64 = isWin32() and os.environ.get("XTARGET") == "x64" or os.environ.get("LP64") == "yes"
- configurePaths()
+ if not noenv:
+ configurePaths()
if env:
dumpenv()
diff --git a/demoscript/__init__.py b/demoscript/__init__.py
index 3cc5d18355e..ac7111f943c 100755..100644
--- a/demoscript/__init__.py
+++ b/demoscript/__init__.py
@@ -1,10 +1,10 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-__all__ = ["Expect", "Util" ]
+__all__ = [ "Util" ]
diff --git a/demoscript/book/__init__.py b/demoscript/book/__init__.py
index 1f65e2040ac..4ed7c4586c0 100755
--- a/demoscript/book/__init__.py
+++ b/demoscript/book/__init__.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/demoscript/book/freeze_filesystem.py b/demoscript/book/freeze_filesystem.py
index ad779fe066a..55f0f1d8764 100755
--- a/demoscript/book/freeze_filesystem.py
+++ b/demoscript/book/freeze_filesystem.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/demoscript/book/lifecycle.py b/demoscript/book/lifecycle.py
index 5f285ca0e60..8260a3d93ba 100755
--- a/demoscript/book/lifecycle.py
+++ b/demoscript/book/lifecycle.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/distribution/bin/makebindist.py b/distribution/bin/makebindist.py
index 076c17c32bb..349f311acbe 100755
--- a/distribution/bin/makebindist.py
+++ b/distribution/bin/makebindist.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/distribution/bin/makemsi.py b/distribution/bin/makemsi.py
index 21c7f75d71b..f8d1a8dffe5 100755
--- a/distribution/bin/makemsi.py
+++ b/distribution/bin/makemsi.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.
@@ -12,7 +12,7 @@ import getopt, os, re, shutil, string, sys, zipfile, fileinput
import logging, cStringIO, glob
import textwrap
-iceVersion = '3.3.0'
+iceVersion = '3.3.1'
looksVersion = '2.1.4'
formsVersion = '1.2.0'
diff --git a/distribution/bin/makethirdpartiesmsi.py b/distribution/bin/makethirdpartiesmsi.py
index bbfed0c1020..e7dfebd1669 100755
--- a/distribution/bin/makethirdpartiesmsi.py
+++ b/distribution/bin/makethirdpartiesmsi.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.
@@ -16,7 +16,7 @@ resources = os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), "..", "s
sys.path.append(resources)
import components
-iceVersion = '3.3.0'
+iceVersion = '3.3.1'
#
# Current default third party library versions.
@@ -26,7 +26,7 @@ Bzip2Ver = '1.0.5'
STLPortVer = '4.6.2'
ExpatVer = '2.0.1'
DBVer = '4.6.21'
-MCPPVer = '2.7'
+MCPPVer = '2.7.2'
timeStampingURL = 'http://timestamp.verisign.com/scripts/timstamp.dll'
diff --git a/distribution/lib/DistUtils.py b/distribution/lib/DistUtils.py
index 45915cefb2f..05a2d93ba5f 100644
--- a/distribution/lib/DistUtils.py
+++ b/distribution/lib/DistUtils.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/distribution/src/common/Make.rules b/distribution/src/common/Make.rules
index a8b3000e86b..fc5d1b978b6 100644
--- a/distribution/src/common/Make.rules
+++ b/distribution/src/common/Make.rules
@@ -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/distribution/src/common/Make.rules.cs b/distribution/src/common/Make.rules.cs
index 99e0cb9c407..553c37e5cb1 100644
--- a/distribution/src/common/Make.rules.cs
+++ b/distribution/src/common/Make.rules.cs
@@ -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/distribution/src/common/build.properties b/distribution/src/common/build.properties
index eb4dc3c55cb..eea43fab104 100644
--- a/distribution/src/common/build.properties
+++ b/distribution/src/common/build.properties
@@ -1,13 +1,13 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-ice.version = 3.3.0
+ice.version = 3.3.1
#
# Define debug as on if you want to build with debug information.
diff --git a/distribution/src/rpm/db46.spec b/distribution/src/rpm/db46.spec
index 8946e757e6d..0cba64ad2a6 100644
--- a/distribution/src/rpm/db46.spec
+++ b/distribution/src/rpm/db46.spec
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# This is a heavily modified version of the spec file in Fedora Core 7's db4-4.5.20-4.fc7.src.rpm
#
diff --git a/distribution/src/rpm/glacier2router.redhat b/distribution/src/rpm/glacier2router.redhat
index b0c523541ca..61ab3a8e0a5 100755
--- a/distribution/src/rpm/glacier2router.redhat
+++ b/distribution/src/rpm/glacier2router.redhat
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# glacier2router This shell script takes care of starting and
# stopping the glacier2router daemon.
diff --git a/distribution/src/rpm/glacier2router.suse b/distribution/src/rpm/glacier2router.suse
index 4b1cca911a1..f913edf2ec9 100755
--- a/distribution/src/rpm/glacier2router.suse
+++ b/distribution/src/rpm/glacier2router.suse
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# glacier2router This shell script takes care of starting and
# stopping the glacier2router daemon.
diff --git a/distribution/src/rpm/ice.spec b/distribution/src/rpm/ice.spec
index 0680314d319..993bc62c936 100644
--- a/distribution/src/rpm/ice.spec
+++ b/distribution/src/rpm/ice.spec
@@ -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 @@
%endif
Name: ice
-Version: 3.3.0
+Version: 3.3.1
Summary: Files common to all Ice packages
Release: 1%{?dist}
License: GPL with exceptions
@@ -48,7 +48,7 @@ Source1: Ice-rpmbuild-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define soversion 33
-%define dotnetversion 3.3.0
+%define dotnetversion 3.3..1.1.1.1.1.1
%define dotnetpolicyversion 3.3
%define formsversion 1.2.0
@@ -58,7 +58,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: openssl-devel >= 0.9.7a
BuildRequires: db46-devel >= 4.6.21, db46-java >= 4.6.21
BuildRequires: jpackage-utils
-BuildRequires: mcpp-devel >= 2.7
+BuildRequires: mcpp-devel >= 2.7.2
#
# We also need a recent version of ant, %{_javadir}/jgoodies-forms-%{formsversion}.jar,
diff --git a/distribution/src/rpm/icegridnode.redhat b/distribution/src/rpm/icegridnode.redhat
index e07d73217a6..f0bbcd8b3b9 100755
--- a/distribution/src/rpm/icegridnode.redhat
+++ b/distribution/src/rpm/icegridnode.redhat
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# icegridnode This shell script takes care of starting and
# stopping the icegridnode daemon.
diff --git a/distribution/src/rpm/icegridnode.suse b/distribution/src/rpm/icegridnode.suse
index 8502f43d60a..fb0f06ddfd2 100755
--- a/distribution/src/rpm/icegridnode.suse
+++ b/distribution/src/rpm/icegridnode.suse
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# icegridnode This shell script takes care of starting and
# stopping the icegridnode daemon.
diff --git a/distribution/src/rpm/icegridregistry.redhat b/distribution/src/rpm/icegridregistry.redhat
index 606d7a85e3a..172dffe9949 100755
--- a/distribution/src/rpm/icegridregistry.redhat
+++ b/distribution/src/rpm/icegridregistry.redhat
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# icegridregistry This shell script takes care of starting and
# stopping the icegridregistry daemon.
diff --git a/distribution/src/rpm/icegridregistry.suse b/distribution/src/rpm/icegridregistry.suse
index e3f300a8229..42b7492bc27 100755
--- a/distribution/src/rpm/icegridregistry.suse
+++ b/distribution/src/rpm/icegridregistry.suse
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2007-2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2007-2009 ZeroC, Inc. All rights reserved.
#
# icegridregistry This shell script takes care of starting and
# stopping the icegridregistry daemon.
diff --git a/distribution/src/rpm/mcpp-devel.spec b/distribution/src/rpm/mcpp-devel.spec
index 879c028a743..8f8811badb8 100644
--- a/distribution/src/rpm/mcpp-devel.spec
+++ b/distribution/src/rpm/mcpp-devel.spec
@@ -1,14 +1,12 @@
#
-# Copyright (c) 2008 ZeroC, Inc. All rights reserved.
+# Copyright (c) 2008-2009 ZeroC, Inc. All rights reserved.
#
Summary: mcpp, a portable C/C++ preprocessor
Name: mcpp-devel
-Version: 2.7
+Version: 2.7.2
Release: 1ice%{?dist}
-Source0: http://prdownloads.sourceforge.net/mcpp/mcpp-2.7.tar.gz
-Patch1: mcpp-2.7.patch
-Patch2: mcpp-2.7.patch2
+Source0: http://prdownloads.sourceforge.net/mcpp/mcpp-2.7.2.tar.gz
URL: http://mcpp.sourceforge.net/
License: BSD
Group: System Environment/Libraries
@@ -40,8 +38,6 @@ It is probably number one C/C++ preprocessor now available in the world.
%prep
%setup -q -n mcpp-%{version}
-%patch1 -p0
-%patch2 -p0
%build
@@ -64,6 +60,9 @@ rm -rf ${RPM_BUILD_ROOT}
%changelog
+* Wed Jan 14 2009 Dwayne Boone <dwayne@zeroc.com>
+- mcpp 2.7.2 update
+
* Wed Apr 30 2008 Bernard Normier <bernard@zeroc.com>
- mcpp 2.7 update
diff --git a/distribution/src/thirdparty/README b/distribution/src/thirdparty/README
index 59b2053dbb3..a6cb4475016 100644
--- a/distribution/src/thirdparty/README
+++ b/distribution/src/thirdparty/README
@@ -21,29 +21,6 @@ mcpp http://mcpp.sourceforge.net
======================================================================
-Patches
-======================================================================
-
-
-mcpp
-----
-
-The files mcpp-2.7.patch and mcpp-2.7.patch2 in this archive contain
-several important fixes required by Ice. We expect that all these
-fixes will be included in mcpp 2.7.1.
-
-After extracting the mcpp source distribution, change to the top-level
-directory and apply the patches as shown below:
-
- $ cd mcpp-2.7
- $ patch -p0 < ../mcpp-2.7.patch
- $ patch -p0 < ../mcpp-2.7.patch2
-
-Follow the platform-specific instructions below for configuring and
-building mcpp.
-
-
-======================================================================
Instructions for Linux
======================================================================
@@ -66,9 +43,6 @@ support:
mcpp
----
-If you have not already applied the patch for mcpp, please read the
-"Patches" section above before continuing.
-
Ice requires the library version of mcpp, so configure mcpp as shown
below:
@@ -156,9 +130,6 @@ from source.
mcpp
----
-If you have not already applied the patch for mcpp, please read the
-"Patches" section above before continuing.
-
Ice requires the library version of mcpp, so configure mcpp as shown
below:
@@ -191,9 +162,6 @@ support:
mcpp
----
-If you have not already applied the patch for mcpp, please read the
-"Patches" section above before continuing.
-
Ice requires the library version of mcpp, so configure mcpp as shown
below:
@@ -253,9 +221,6 @@ installed in /usr/sfw.
mcpp
----
-If you have not already applied the patch for mcpp, please read the
-"Patches" section above before continuing.
-
Ice requires the library version of mcpp, so configure mcpp as shown
below:
diff --git a/distribution/src/thirdparty/README.txt b/distribution/src/thirdparty/README.txt
index a1da455a847..88c8deba61e 100644
--- a/distribution/src/thirdparty/README.txt
+++ b/distribution/src/thirdparty/README.txt
@@ -54,19 +54,6 @@ top-level directory and apply the patch as shown below:
> patch -p0 bzlib.h < ..\bzlib.patch
-mcpp
-----
-
-The file mcpp-2.7.patch in this archive contains several important
-fixes required by Ice. We expect that all these fixes will be
-included in mcpp 2.7.1.
-
-After extracting the mcpp source distribution, change to the top-level
-directory and apply the patch as shown below:
-
- > patch -p0 < mcpp-2.7.patch
-
-
======================================================================
Packages
======================================================================
@@ -147,20 +134,21 @@ This will build the release and debug versions of the bzip2 DLLs.
mcpp
----
-If you have not already applied the patch for mcpp, please read the
-"Patches" section above before continuing.
-
Follow these instructions for building mcpp:
- Change to the mcpp src directory:
- > cd mcpp-2.7\src
+ > cd mcpp-2.7.2\src
- Apply the patch for noconfig.H appropriate for your compiler from
the noconfig directory. For example, for VS2005 you would run:
> patch -p0 < ..\noconfig\vc2005.dif
+ and for C++Builder 2007 you would run:
+
+ > patch -p0 < ..\noconfig\bc59.dif
+
- Microsoft Visual C++:
Build the mcpp release library:
diff --git a/distribution/src/thirdparty/bzip2/Makefile.mak b/distribution/src/thirdparty/bzip2/Makefile.mak
index 6b0f44739fa..06168712b59 100644
--- a/distribution/src/thirdparty/bzip2/Makefile.mak
+++ b/distribution/src/thirdparty/bzip2/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/distribution/src/thirdparty/db/README b/distribution/src/thirdparty/db/README
new file mode 100644
index 00000000000..76236b8b09e
--- /dev/null
+++ b/distribution/src/thirdparty/db/README
@@ -0,0 +1,6 @@
+
+This patch solve a memory leak in db-4.6.21
+
+To apply the patch on top of db 4.6.21
+
+patch -p0 < db-4.6.21.patch
diff --git a/distribution/src/thirdparty/db/patch.4.6.21.1 b/distribution/src/thirdparty/db/patch.4.6.21.1
new file mode 100644
index 00000000000..636bc51c7d2
--- /dev/null
+++ b/distribution/src/thirdparty/db/patch.4.6.21.1
@@ -0,0 +1,90 @@
+*** dbinc/mp.h 2007-09-28 01:28:25.000000000 +1000
+--- dbinc/mp.h 2008-02-14 01:22:09.000000000 +1100
+***************
+*** 639,644 ****
+--- 639,647 ----
+ */
+ #define MP_TRUNC_RECOVER 0x01
+
++ /* Private flags to DB_MPOOLFILE->close. */
++ #define DB_MPOOL_NOLOCK 0x002 /* Already have mpf locked. */
++
+ #if defined(__cplusplus)
+ }
+ #endif
+*** mp/mp_fopen.c 2007-05-18 03:18:01.000000000 +1000
+--- mp/mp_fopen.c 2008-02-12 16:09:42.000000000 +1100
+***************
+*** 888,894 ****
+ * when we try to flush them.
+ */
+ deleted = 0;
+! MUTEX_LOCK(dbenv, mfp->mutex);
+ if (F_ISSET(dbmfp, MP_MULTIVERSION))
+ --mfp->multiversion;
+ if (--mfp->mpf_cnt == 0 || LF_ISSET(DB_MPOOL_DISCARD)) {
+--- 888,895 ----
+ * when we try to flush them.
+ */
+ deleted = 0;
+! if (!LF_ISSET(DB_MPOOL_NOLOCK))
+! MUTEX_LOCK(dbenv, mfp->mutex);
+ if (F_ISSET(dbmfp, MP_MULTIVERSION))
+ --mfp->multiversion;
+ if (--mfp->mpf_cnt == 0 || LF_ISSET(DB_MPOOL_DISCARD)) {
+***************
+*** 909,921 ****
+ }
+ }
+ if (mfp->block_cnt == 0) {
+ if ((t_ret =
+ __memp_mf_discard(dbmp, mfp)) != 0 && ret == 0)
+ ret = t_ret;
+ deleted = 1;
+ }
+ }
+! if (!deleted)
+ MUTEX_UNLOCK(dbenv, mfp->mutex);
+
+ done: /* Discard the DB_MPOOLFILE structure. */
+--- 910,928 ----
+ }
+ }
+ if (mfp->block_cnt == 0) {
++ /*
++ * We should never discard this mp file if our caller
++ * is holding the lock on it. See comment in
++ * __memp_sync_file.
++ */
++ DB_ASSERT(dbenv, !LF_ISSET(DB_MPOOL_NOLOCK));
+ if ((t_ret =
+ __memp_mf_discard(dbmp, mfp)) != 0 && ret == 0)
+ ret = t_ret;
+ deleted = 1;
+ }
+ }
+! if (!deleted && !LF_ISSET(DB_MPOOL_NOLOCK))
+ MUTEX_UNLOCK(dbenv, mfp->mutex);
+
+ done: /* Discard the DB_MPOOLFILE structure. */
+*** mp/mp_sync.c 2007-06-02 04:32:44.000000000 +1000
+--- mp/mp_sync.c 2008-02-12 16:09:42.000000000 +1100
+***************
+*** 755,761 ****
+ * This is important since we are called with the hash bucket
+ * locked. The mfp will get freed via the cleanup pass.
+ */
+! if (dbmfp != NULL && (t_ret = __memp_fclose(dbmfp, 0)) != 0 && ret == 0)
+ ret = t_ret;
+
+ --mfp->mpf_cnt;
+--- 755,762 ----
+ * This is important since we are called with the hash bucket
+ * locked. The mfp will get freed via the cleanup pass.
+ */
+! if (dbmfp != NULL &&
+! (t_ret = __memp_fclose(dbmfp, DB_MPOOL_NOLOCK)) != 0 && ret == 0)
+ ret = t_ret;
+
+ --mfp->mpf_cnt;
+
diff --git a/distribution/src/thirdparty/db/patch.4.6.21.15663 b/distribution/src/thirdparty/db/patch.4.6.21.15663
new file mode 100644
index 00000000000..0955cb88ea6
--- /dev/null
+++ b/distribution/src/thirdparty/db/patch.4.6.21.15663
@@ -0,0 +1,135 @@
+*** dbinc_auto/env_ext.h.orig 2007-05-22 20:35:38.000000000 +0300
+--- dbinc_auto/env_ext.h 2009-01-09 12:47:33.115600000 +0200
+***************
+*** 16,21 ****
+--- 16,22 ----
+ int __config_split __P((char *, char *[]));
+ int __env_failchk_pp __P((DB_ENV *, u_int32_t));
+ int __env_thread_init __P((DB_ENV *, int));
++ void __env_thread_destroy __P((DB_ENV *));
+ int __env_set_state __P((DB_ENV *, DB_THREAD_INFO **, DB_THREAD_STATE));
+ char *__env_thread_id_string __P((DB_ENV *, pid_t, db_threadid_t, char *));
+ int __db_file_extend __P((DB_ENV *, DB_FH *, size_t));
+*** dbinc_auto/int_def.in.orig 2007-06-01 18:40:08.000000000 +0300
+--- dbinc_auto/int_def.in 2009-01-09 12:48:55.814515200 +0200
+***************
+*** 645,650 ****
+--- 645,651 ----
+ #define __config_split __config_split@DB_VERSION_UNIQUE_NAME@
+ #define __env_failchk_pp __env_failchk_pp@DB_VERSION_UNIQUE_NAME@
+ #define __env_thread_init __env_thread_init@DB_VERSION_UNIQUE_NAME@
++ #define __env_thread_destroy __env_thread_destroy@DB_VERSION_UNIQUE_NAME@
+ #define __env_set_state __env_set_state@DB_VERSION_UNIQUE_NAME@
+ #define __env_thread_id_string __env_thread_id_string@DB_VERSION_UNIQUE_NAME@
+ #define __db_file_extend __db_file_extend@DB_VERSION_UNIQUE_NAME@
+*** env/env_failchk.c.orig 2007-06-06 17:34:42.000000000 +0300
+--- env/env_failchk.c 2009-01-09 12:58:07.587926400 +0200
+***************
+*** 134,139 ****
+--- 134,177 ----
+ }
+
+ /*
++ * __env_thread_destroy --
++ * Destroy the thread control block table.
++ *
++ * PUBLIC: void __env_thread_destroy __P((DB_ENV *));
++ */
++ void
++ __env_thread_destroy(dbenv)
++ DB_ENV *dbenv;
++ {
++ DB_HASHTAB *htab;
++ DB_THREAD_INFO *ip, *np;
++ REGINFO *infop;
++ REGENV *renv;
++ THREAD_INFO *thread;
++ u_int32_t i;
++
++ infop = dbenv->reginfo;
++ renv = infop->primary;
++ if (renv->thread_off == INVALID_ROFF)
++ return;
++
++ thread = R_ADDR(infop, renv->thread_off);
++ if ((htab = dbenv->thr_hashtab) != NULL)
++ for (i = 0; i < dbenv->thr_nbucket; i++) {
++ ip = SH_TAILQ_FIRST(&htab[i], __db_thread_info);
++ for (; ip != NULL; ip = np) {
++ np = SH_TAILQ_NEXT(ip,
++ dbth_links, __db_thread_info);
++ __env_alloc_free(infop, ip);
++ }
++ }
++
++ __env_alloc_free(infop, htab);
++ __env_alloc_free(infop, thread);
++ return;
++ }
++
++ /*
+ * __env_in_api --
+ * Look for threads which died in the api and complain.
+ */
+*** env/env_open.c.orig 2007-06-08 19:34:56.000000000 +0300
+--- env/env_open.c 2009-01-09 13:00:09.683491200 +0200
+***************
+*** 934,939 ****
+--- 934,942 ----
+ (t_ret = __mutex_env_refresh(dbenv)) != 0 && ret == 0)
+ ret = t_ret;
+ #endif
++ /* Free memory for thread tracking. */
++ if (F_ISSET(dbenv, DB_ENV_PRIVATE))
++ __env_thread_destroy(dbenv);
+
+ if (dbenv->reginfo != NULL && (t_ret = __env_detach(
+ dbenv, F_ISSET(dbenv, DB_ENV_PRIVATE) ? 1 : 0)) != 0 && ret == 0) {
+*** lock/lock_region.c.orig 2007-05-17 17:15:44.000000000 +0300
+--- lock/lock_region.c 2009-01-09 13:03:59.063323200 +0200
+***************
+*** 342,347 ****
+--- 342,355 ----
+ /* Discard the locker hash table. */
+ __env_alloc_free(reginfo, R_ADDR(reginfo, lr->locker_off));
+
++ /* Discard the object hash stat table. */
++ __env_alloc_free(reginfo, R_ADDR(reginfo, lr->stat_off));
++
++ #ifdef HAVE_FINE_GRAINED_LOCK_MANAGER
++ /* Discard the object hash mutex table. */
++ __env_alloc_free(reginfo, R_ADDR(reginfo, lr->mtx_off));
++ #endif
++
+ /* Discard locks. */
+ while ((lp =
+ SH_TAILQ_FIRST(&lr->free_locks, __db_lock)) != NULL) {
+*** log/log.c.orig 2007-06-04 23:30:52.000000000 +0300
+--- log/log.c 2009-01-09 13:08:28.220352000 +0200
+***************
+*** 772,777 ****
+--- 772,778 ----
+ LOG *lp;
+ REGINFO *reginfo;
+ struct __fname *fnp;
++ struct __db_commit *commit;
+ struct __db_filestart *filestart;
+ int ret, t_ret;
+
+***************
+*** 841,846 ****
+--- 842,855 ----
+ __env_alloc_free(reginfo, filestart);
+ }
+
++ /* Discard commit queue elements. */
++ while ((commit = SH_TAILQ_FIRST(&lp->free_commits,
++ __db_commit)) != NULL) {
++ SH_TAILQ_REMOVE(&lp->free_commits, commit, links,
++ __db_commit);
++ __env_alloc_free(reginfo, commit);
++ }
++
+ /* Discard replication bulk buffer. */
+ if (lp->bulk_buf != INVALID_ROFF) {
+ __env_alloc_free(reginfo,
diff --git a/distribution/src/thirdparty/db/patch.4.6.21.2 b/distribution/src/thirdparty/db/patch.4.6.21.2
new file mode 100644
index 00000000000..4e59f18afe4
--- /dev/null
+++ b/distribution/src/thirdparty/db/patch.4.6.21.2
@@ -0,0 +1,27 @@
+*** mp/mp_region.c 2007-05-18 03:18:01.000000000 +1000
+--- mp/mp_region.c 2008-06-24 13:15:56.000000000 +1000
+***************
+*** 249,256 ****
+ mtx_base = htab[0].mtx_hash;
+ }
+
+ if (mtx_base != MUTEX_INVALID)
+! mtx_base += reginfo_off * htab_buckets;
+
+ /* Allocate hash table space and initialize it. */
+ if ((ret = __env_alloc(infop,
+--- 249,262 ----
+ mtx_base = htab[0].mtx_hash;
+ }
+
++ /*
++ * We preallocated all of the mutexes in a block, so for regions after
++ * the first, we skip mutexes in use in earlier regions. Each region
++ * has the same number of buckets and there are two mutexes per hash
++ * bucket (the bucket mutex and the I/O mutex).
++ */
+ if (mtx_base != MUTEX_INVALID)
+! mtx_base += reginfo_off * htab_buckets * 2;
+
+ /* Allocate hash table space and initialize it. */
+ if ((ret = __env_alloc(infop,
diff --git a/distribution/src/thirdparty/db/patch.4.6.21.3 b/distribution/src/thirdparty/db/patch.4.6.21.3
new file mode 100644
index 00000000000..e23a27a02ff
--- /dev/null
+++ b/distribution/src/thirdparty/db/patch.4.6.21.3
@@ -0,0 +1,53 @@
+*** sequence/sequence.c.orig 2007-05-17 10:18:04.000000000 -0700
+--- sequence/sequence.c 2008-08-14 12:24:23.000000000 -0700
+***************
+*** 252,257 ****
+--- 252,262 ----
+ if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) ||
+ !LF_ISSET(DB_CREATE))
+ goto err;
++ if (IS_REP_CLIENT(dbenv) &&
++ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++ ret = __db_rdonly(dbenv, "DB_SEQUENCE->open");
++ goto err;
++ }
+ ret = 0;
+
+ rp = &seq->seq_record;
+***************
+*** 304,310 ****
+ */
+ rp = seq->seq_data.data;
+ if (rp->seq_version == DB_SEQUENCE_OLDVER) {
+! oldver: rp->seq_version = DB_SEQUENCE_VERSION;
+ if (__db_isbigendian()) {
+ if (IS_DB_AUTO_COMMIT(dbp, txn)) {
+ if ((ret =
+--- 309,320 ----
+ */
+ rp = seq->seq_data.data;
+ if (rp->seq_version == DB_SEQUENCE_OLDVER) {
+! oldver: if (IS_REP_CLIENT(dbenv) &&
+! !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
+! ret = __db_rdonly(dbenv, "DB_SEQUENCE->open");
+! goto err;
+! }
+! rp->seq_version = DB_SEQUENCE_VERSION;
+ if (__db_isbigendian()) {
+ if (IS_DB_AUTO_COMMIT(dbp, txn)) {
+ if ((ret =
+***************
+*** 713,718 ****
+--- 723,734 ----
+
+ MUTEX_LOCK(dbenv, seq->mtx_seq);
+
++ if (handle_check && IS_REP_CLIENT(dbenv) &&
++ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) {
++ ret = __db_rdonly(dbenv, "DB_SEQUENCE->get");
++ goto err;
++ }
++
+ if (rp->seq_min + delta > rp->seq_max) {
+ __db_errx(dbenv, "Sequence overflow");
+ ret = EINVAL;
diff --git a/distribution/src/thirdparty/mcpp/mcpp-2.7.1.patch b/distribution/src/thirdparty/mcpp/mcpp-2.7.1.patch
new file mode 100644
index 00000000000..e08c7debcbf
--- /dev/null
+++ b/distribution/src/thirdparty/mcpp/mcpp-2.7.1.patch
@@ -0,0 +1,39 @@
+diff -r -c -N ../mcpp-2.7.1-old/noconfig/vc6.dif ./noconfig/vc6.dif
+*** ../mcpp-2.7.1-old/noconfig/vc6.dif 2008-04-28 12:32:01.000000000 -0230
+--- ./noconfig/vc6.dif 2008-11-04 15:49:37.000000000 -0330
+***************
+*** 47,56 ****
+ #define ONE_PASS TRUE
+ #endif
+ #define COMPILER_EXT "_MSC_VER"
+! ! #define COMPILER_EXT_VAL "1200"
+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
+ #define COMPILER_EXT2 "_MSC_FULL_VER"
+! ! #define COMPILER_EXT2_VAL "12008804"
+ /* VC 2002:13009466, VC 2003:13103077, VC 2005: "140050320" */
+ /* VC 2008 "150021022" */
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+--- 47,56 ----
+ #define ONE_PASS TRUE
+ #endif
+ #define COMPILER_EXT "_MSC_VER"
+! ! #define COMPILER_EXT_VAL "1500"
+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
+ #define COMPILER_EXT2 "_MSC_FULL_VER"
+! ! #define COMPILER_EXT2_VAL "150021022"
+ /* VC 2002:13009466, VC 2003:13103077, VC 2005: "140050320" */
+ /* VC 2008 "150021022" */
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+diff -r -c -N ../mcpp-2.7.1-old/src/main.c ./src/main.c
+*** ../mcpp-2.7.1-old/src/main.c 2008-04-26 10:49:52.000000000 -0230
+--- ./src/main.c 2008-11-04 15:48:10.000000000 -0330
+***************
+*** 308,313 ****
+--- 308,314 ----
+ errors = src_col = 0;
+ warn_level = -1;
+ infile = NULL;
++ src_line = 0L;
+ in_directive = in_define = in_getarg = in_include = FALSE;
+ in_asm = 0L;
+ macro_line = 0L;
diff --git a/distribution/src/thirdparty/mcpp/mcpp-2.7.2.patch b/distribution/src/thirdparty/mcpp/mcpp-2.7.2.patch
new file mode 100644
index 00000000000..ccdf64499e7
--- /dev/null
+++ b/distribution/src/thirdparty/mcpp/mcpp-2.7.2.patch
@@ -0,0 +1,20 @@
+diff -r -c -N ../mcpp-2.7.2-old/src/mbchar.c ./src/mbchar.c
+*** ../mcpp-2.7.2-old/src/mbchar.c 2008-03-08 09:36:13.000000000 -0330
+--- ./src/mbchar.c 2009-01-13 15:29:44.000000000 -0330
+***************
+*** 381,387 ****
+ }
+ }
+ strcpy( norm, name);
+! if (norm[ 5] == '.')
+ memmove( norm, norm + 5, strlen( norm + 5) + 1);
+ /* Remove initial 'xxxxx.' as 'ja_JP.', 'en_US.' or any other */
+ conv_case( norm, norm + strlen( norm), LOWER);
+--- 381,387 ----
+ }
+ }
+ strcpy( norm, name);
+! if (strlen(norm) > 5 && norm[ 5] == '.')
+ memmove( norm, norm + 5, strlen( norm + 5) + 1);
+ /* Remove initial 'xxxxx.' as 'ja_JP.', 'en_US.' or any other */
+ conv_case( norm, norm + strlen( norm), LOWER);
diff --git a/distribution/src/windows/bcc/doc/README.txt b/distribution/src/windows/bcc/doc/README.txt
index d1bc0463085..fa28ea7245a 100644
--- a/distribution/src/windows/bcc/doc/README.txt
+++ b/distribution/src/windows/bcc/doc/README.txt
@@ -69,6 +69,18 @@ installers (VS2005 or VS2008) or download the Ice source distribution
and build it yourself.
+NMAKE and Message Compiler (MC.EXE)
+-----------------------------------
+
+In order to build Ice demos, you will need the Microsoft NMAKE and
+Message Compiler utilities. These are included in all full Microsoft
+C++ compiler distributions.
+
+You can also download them as part of the Windows Platform SDK:
+
+ http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en
+
+
Building and running the C++ demos
----------------------------------
diff --git a/distribution/src/windows/components/generated.installer.docs b/distribution/src/windows/components/generated.installer.docs
index 64fcd4123aa..36c1bc52729 100755
--- a/distribution/src/windows/components/generated.installer.docs
+++ b/distribution/src/windows/components/generated.installer.docs
@@ -1,2 +1 @@
-THIRD_PARTY_SOURCES
THIRD_PARTY_LICENSE
diff --git a/distribution/src/windows/components/installer.docs b/distribution/src/windows/components/installer.docs
index 71e8aead5ee..c872544179d 100755
--- a/distribution/src/windows/components/installer.docs
+++ b/distribution/src/windows/components/installer.docs
@@ -1 +1,2 @@
README.txt
+SOURCES.txt
diff --git a/distribution/src/windows/vc60/MCPPDevKit.ism b/distribution/src/windows/vc60/MCPPDevKit.ism
index 3bd05cf18f9..f8f06e90fb0 100755
--- a/distribution/src/windows/vc60/MCPPDevKit.ism
+++ b/distribution/src/windows/vc60/MCPPDevKit.ism
@@ -359,7 +359,7 @@
<col def="I4">ISAttributes</col>
<col def="S72">ISComponentSubFolder_</col>
<row><td>mcpp.lib.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>MCPPDevKit.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>mcpp.lib</td><td>0</td><td/><td/><td/><td>1</td><td>&lt;ISProjectFolder&gt;\install\mcpp\dev\lib\mcpp.lib</td><td>1</td><td/></row>
- <row><td>mcppd.lib.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>MCPPDevKit.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>mcppd.lib</td><td>0</td><td/><td/><td/><td>1</td><td>&lt;ISProjectFolder&gt;\install\mcpp\dev\lib\mcppd.lib</td><td>1</td><td/></row>
+ <row><td>mcppd.lib.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>MCPPDevKit.26A5C268_88C6_4181_9199_1AADF1E5B574</td><td>mcppd.lib</td><td>0</td><td/><td/><td/><td>1</td><td>&lt;ISProjectFolder&gt;\install\mcpp\devdebug\lib\mcppd.lib</td><td>1</td><td/></row>
</table>
<table name="FileSFPCatalog">
diff --git a/distribution/src/windows/vc60/ThirdParty.ism b/distribution/src/windows/vc60/ThirdParty.ism
index aee5528676e..e01448a0e90 100755
--- a/distribution/src/windows/vc60/ThirdParty.ism
+++ b/distribution/src/windows/vc60/ThirdParty.ism
@@ -52,7 +52,7 @@
<summary>
<codepage>1252</codepage>
<title>Installation Database</title>
- <subject>Ice 3.3.0 Third Party Packages for Visual Studio 6.0</subject>
+ <subject>Ice 3.3.1 Third Party Packages for Visual Studio 6.0</subject>
<author>##COMPANY_NAME##</author>
<keywords>Ice</keywords>
<comments>##ID_STRING5##</comments>
@@ -1175,8 +1175,8 @@
<row><td>FavoritesFolder</td><td>TARGETDIR</td><td>.:FAVORI~1|Favorites</td><td/><td>0</td><td/></row>
<row><td>FontsFolder</td><td>TARGETDIR</td><td>.:Fonts</td><td/><td>0</td><td/></row>
<row><td>GlobalAssemblyCache</td><td>TARGETDIR</td><td>.:Global~1|GlobalAssemblyCache</td><td/><td>0</td><td/></row>
- <row><td>ICE_3.3.0_THIRDPARTY_VC60</td><td>WindowsVolume</td><td>ICE-3_~1|Ice-3.3.0-ThirdParty-VC60</td><td/><td>0</td><td/></row>
- <row><td>INSTALLDIR</td><td>ICE_3.3.0_THIRDPARTY_VC60</td><td>.</td><td/><td>0</td><td/></row>
+ <row><td>ICE_3.3.1_THIRDPARTY_VC60</td><td>WindowsVolume</td><td>ICE-3_~1|Ice-3.3.1-ThirdParty-VC60</td><td/><td>0</td><td/></row>
+ <row><td>INSTALLDIR</td><td>ICE_3.3.1_THIRDPARTY_VC60</td><td>.</td><td/><td>0</td><td/></row>
<row><td>ISCommonFilesFolder</td><td>CommonFilesFolder</td><td>Instal~1|InstallShield</td><td/><td>0</td><td/></row>
<row><td>ISMyCompanyDir</td><td>ProgramFilesFolder</td><td>MYCOMP~1|My Company Name</td><td/><td>0</td><td/></row>
<row><td>ISMyProductDir</td><td>ISMyCompanyDir</td><td>MYPROD~1|My Product Name</td><td/><td>0</td><td/></row>
@@ -1838,11 +1838,11 @@
<col key="yes" def="s72">ISProductConfiguration_</col>
<col key="yes" def="s72">Property</col>
<col def="L255">Value</col>
- <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.0-ThirdParty-VC60</td></row>
- <row><td>ZEROC</td><td>PackageCode</td><td>{5FBE89F6-0331-4C0E-BA70-21A1679766B7}</td></row>
- <row><td>ZEROC</td><td>ProductCode</td><td>{063C21B8-2104-4E7A-A4E1-123032D6FE56}</td></row>
+ <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.1-ThirdParty-VC60</td></row>
+ <row><td>ZEROC</td><td>PackageCode</td><td>{74C0FEB0-E475-4299-96B8-62FD1BEEAA8A}</td></row>
+ <row><td>ZEROC</td><td>ProductCode</td><td>{FD68DA79-C9A6-4F6B-AFEF-10532AFDCBEA}</td></row>
<row><td>ZEROC</td><td>SetupFileName</td><td/></row>
- <row><td>ZEROC</td><td>UpgradeCode</td><td>{B58A6E42-98A0-4A49-904C-4F0788A015A2}</td></row>
+ <row><td>ZEROC</td><td>UpgradeCode</td><td>{E82E6570-C4F8-4082-9A18-8A8DD304AD22}</td></row>
</table>
<table name="ISRelease">
@@ -1943,7 +1943,7 @@
<col def="I4">TimeStamp</col>
<row><td>COMPANY_NAME</td><td>1033</td><td>ZeroC, Inc.</td><td>0</td><td/><td>1234816852</td></row>
<row><td>DN_AlwaysInstall</td><td>1033</td><td>Always Install</td><td>0</td><td> </td><td>479664453</td></row>
- <row><td>ICE_VERSION</td><td>1033</td><td>3.3.0</td><td>0</td><td/><td>1973063787</td></row>
+ <row><td>ICE_VERSION</td><td>1033</td><td>3.3.1</td><td>0</td><td/><td>1973063787</td></row>
<row><td>IDPROP_EXPRESS_LAUNCH_CONDITION_COLOR</td><td>1033</td><td>The color settings of your system are not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>IDPROP_EXPRESS_LAUNCH_CONDITION_OS</td><td>1033</td><td>The operating system is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>IDPROP_EXPRESS_LAUNCH_CONDITION_PROCESSOR</td><td>1033</td><td>The processor is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
@@ -2983,11 +2983,11 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>NewProperty8</td><td>0</td><td/></row>
<row><td>NewProperty9</td><td>0</td><td/></row>
<row><td>PIDTemplate</td><td>12345&lt;###-%%%%%%%&gt;@@@@@</td><td/></row>
- <row><td>ProductCode</td><td>{8B5FFB7D-B902-47CF-84D0-15B95BCC1322}</td><td/></row>
+ <row><td>ProductCode</td><td>{3475AA42-1F78-4814-B21D-D1B60302B4E6}</td><td/></row>
<row><td>ProductID</td><td>none</td><td/></row>
<row><td>ProductLanguage</td><td>1033</td><td/></row>
- <row><td>ProductName</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 6.0</td><td/></row>
- <row><td>ProductVersion</td><td>3.3.0</td><td/></row>
+ <row><td>ProductName</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 6.0</td><td/></row>
+ <row><td>ProductVersion</td><td>3.3.1</td><td/></row>
<row><td>ProgressType0</td><td>install</td><td/></row>
<row><td>ProgressType1</td><td>Installing</td><td/></row>
<row><td>ProgressType2</td><td>installed</td><td/></row>
@@ -2996,7 +2996,7 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>ReinstallModeText</td><td>omus</td><td/></row>
<row><td>SHOWLAUNCHPROGRAM</td><td>0</td><td/></row>
<row><td>SetupType</td><td>Typical</td><td/></row>
- <row><td>UpgradeCode</td><td>{DDF4F844-E7BE-40D8-80B8-51F8DED2EE6C}</td><td/></row>
+ <row><td>UpgradeCode</td><td>{F85E7315-8BDA-4B18-AFBE-057075E33530}</td><td/></row>
<row><td>_IsMaintenance</td><td>Change</td><td/></row>
<row><td>_IsSetupTypeMin</td><td>Typical</td><td/></row>
</table>
diff --git a/distribution/src/windows/vc60/doc/README.txt b/distribution/src/windows/vc60/doc/README.txt
index a885c04b788..8e82105d305 100644
--- a/distribution/src/windows/vc60/doc/README.txt
+++ b/distribution/src/windows/vc60/doc/README.txt
@@ -208,74 +208,78 @@ from any of the other language mappings can be used. A README file is
provided in each of the example directories.
Note that you must modify the php.ini files in each demo directory to
-match your PHP installation and ensure that the Ice extension is
-loaded properly.
+match your PHP installation and ensure that the Ice extension for PHP
+is loaded properly.
Using IcePHP with Apache
------------------------
-The binary distribution of PHP5 for Windows includes loadable modules
-for Apache 1, Apache 2.0, and Apache 2.2. The Ice extension can be
-used with all Apache versions.
+The binary distribution of PHP for Windows includes loadable modules
+for Apache 1, Apache 2.0, and Apache 2.2. The Ice extension for PHP
+can be used with all Apache versions.
The PHP documentation describes how to configure the Apache servers
-for PHP5, and the PHP installer may have already performed the
+for PHP, and the PHP installer may have already performed the
necessary steps. We provide instructions below for configuring PHP
to use the Ice extension. These instructions make several assumptions:
- * Apache is already configured to load PHP
- * PHP is installed in C:\PHP5
+ * Apache 2.2 is installed and configured to load PHP
+ * PHP is installed in C:\Program Files\PHP
* Ice is installed in C:\Ice
-If you have chosen different directories, you will need to make the
+If you have a different installation, you will need to make the
appropriate changes as you follow the instructions.
1) With Apache running, verify that PHP has been loaded successfully
by creating a file in Apache's document directory (htdocs) called
phpinfo.php that contains the following line:
- <?phpInfo();?>
+ <?php phpInfo();?>
Open the file in your browser using a URL such as
http://127.0.0.1/phpinfo.php
- If you have configured PHP correctly, you should see a very long
- page of PHP configuration information. If you do not see this page,
- or an error occurs, check Apache's error log as well as the Windows
- event log for more information. Also note that you may need to
- restart Apache if the server was running at the time you installed
- PHP.
+ If you have configured PHP correctly, you should see a long page of
+ PHP configuration information. If you do not see this page, or an
+ error occurs, check Apache's error log as well as the Windows event
+ log for more information. Also note that you may need to restart
+ Apache if it was running at the time you installed PHP.
2) Review the settings on the browser page for an entry titled
"Loaded Configuration File". It will have a value such as
- C:\PHP5\php.ini
+ C:\Program Files\PHP\php.ini
Open this file in a text editor and append the following line:
extension = php_ice.dll
- The file php_ice.dll contains the Ice extension.
+ The file php_ice.dll contains the Ice extension for PHP.
-3) Copy the Ice extension to PHP's extension directory.
+3) Look for the "extension_dir" setting in the browser page or in
+ PHP's configuration file. It typically has the following value by
+ default:
- PHP's configuration specifies the location of its extension
- directory. Review the settings on the browser page for the entry
- named "extension_dir". It will likely have the following value:
+ extension_dir = "./"
- ./
+ If the extension_dir setting contains a relative path such as the
+ one shown above, it is resolved relative to the working directory
+ of the Apache process. Normally Apache's working directory is its
+ installation directory. Therefore, unless you change the value of
+ extension_dir, the DLL for the Ice extension must be copied to the
+ Apache installation directory:
- This value is a path name that is relative to Apache's current
- working directory, which is its installation directory. Therefore,
- unless you change the value of extension_dir in php.ini, you will
- need to copy php_ice.dll to the directory shown below:
+ > copy C:\Ice\bin\php_ice.dll \
+ "C:\Program Files\Apache Software Foundation\Apache2.2"
- \Program Files\Apache Software Foundation\Apache2.2
+4) Verify that Apache can load the dependent libraries for the Ice
+ extension. Regardless of the location of PHP's extension directory,
+ the Ice extension's dependent libraries must be located in Apache's
+ executable search path.
-4) Review the location of dependent libraries. The Ice extension
- requires the following DLLs:
+ The Ice extension depends on the following libraries:
bzip2.dll
ice@libver@.dll
@@ -286,11 +290,8 @@ appropriate changes as you follow the instructions.
stlport_vc646.dll
All of these files can be found in the bin subdirectory of your Ice
- installation (e.g., C:\Ice\bin). Apache must be able to load these
- DLLs during startup; if it cannot load them, the server may still
- start but will not have loaded PHP.
-
- There are several alternatives for the dependent libraries:
+ installation (e.g., C:\Ice\bin). Apache must be able to locate
+ these DLLs during startup, and several alternatives are available:
* Add the Ice installation directory to the System PATH. Using the
System control panel, change the System PATH to include
@@ -299,14 +300,27 @@ appropriate changes as you follow the instructions.
* Copy the dependent libraries to Apache's installation directory.
- * Copy the dependent libraries to Windows system directory
+ * Copy the dependent libraries to the Windows system directory
(\WINDOWS\system32). We do not recommend this option.
-5) Review the access rights on the Ice extension and its dependent
- libraries. When running as a Windows service, Apache runs in the
- "Local System" account (also known as "NT Authority\SYSTEM"). You
- can use the "cacls" utility in a command window to view and modify
- access rights.
+ If Apache cannot find or access a DLL, the PHP module will usually
+ ignore the Ice extension and continue its initialization, therefore
+ a successful Apache startup does not necessarily mean that the Ice
+ extension has been loaded. Unfortunately, the message reported by
+ PHP in Apache's error log is not very helpful; the error implies
+ that it cannot find php_ice.dll when in fact it was able to open
+ php_ice.dll but a dependent DLL was missing.
+
+5) Review the access rights on PHP's extension directory, the Ice
+ extension DLL, and its dependent libraries. When running as a
+ Windows service, Apache runs in the "Local System" account (also
+ known as "NT Authority\SYSTEM"). You can use the "cacls" utility in
+ a command window to view and modify access rights. For example, run
+ the following commands to review the current access rights of the
+ Ice extension:
+
+ > cd \Program Files\Apache Software Foundation\Apache2.2
+ > cacls php_ice.dll
6) Restart Apache and verify that the PHP module and the Ice extension
have been loaded successfully. After reloading the phpinfo.php page
@@ -321,8 +335,8 @@ appropriate changes as you follow the instructions.
7) Apache's executable has a relatively small default stack size. You
can determine its current stack size with the following commands:
- cd \Program Files\Apache Software Foundation\Apache2.2\bin
- dumpbin /all httpd.exe | find "stack"
+ > cd \Program Files\Apache Software Foundation\Apache2.2\bin
+ > dumpbin /all httpd.exe | find "stack"
The relevant output line is shown below:
@@ -333,14 +347,15 @@ appropriate changes as you follow the instructions.
trivial Slice file causes Apache to fail during startup with a
stack overflow error.
- To increase the stack size, use the editbin utility. Note that the
- new stack size is given in decimal:
+ To increase the stack size, make sure that the Apache service is
+ not running and use the editbin utility to modify the executable.
+ Note that the new stack size is given in decimal:
- editbin /stack:1048576 httpd.exe
+ > editbin /stack:1048576 httpd.exe
Now execute dumpbin again to verify that the change was made:
- dumpbin /all httpd.exe | find "stack"
+ > dumpbin /all httpd.exe | find "stack"
The new output line is shown below:
diff --git a/distribution/src/windows/vc60/doc/SOURCES b/distribution/src/windows/vc60/doc/SOURCES.txt
index c0f11c8c378..c0f11c8c378 100755
--- a/distribution/src/windows/vc60/doc/SOURCES
+++ b/distribution/src/windows/vc60/doc/SOURCES.txt
diff --git a/distribution/src/windows/vc80/MCPPDevKit.ism b/distribution/src/windows/vc80/MCPPDevKit.ism
index e91489faba7..22914afd82a 100755
--- a/distribution/src/windows/vc80/MCPPDevKit.ism
+++ b/distribution/src/windows/vc80/MCPPDevKit.ism
@@ -437,6 +437,7 @@
<col def="S255">ExcludeFiles</col>
<col def="I4">ISAttributes</col>
<row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\dev</td><td>4</td><td/><td/><td>2</td></row>
+ <row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\devdebug</td><td>4</td><td/><td/><td>2</td></row>
<row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\devx64</td><td>4</td><td/><td/><td>2</td></row>
</table>
diff --git a/distribution/src/windows/vc80/ThirdParty.ism b/distribution/src/windows/vc80/ThirdParty.ism
index cb03de9067a..88198d94dd9 100755
--- a/distribution/src/windows/vc80/ThirdParty.ism
+++ b/distribution/src/windows/vc80/ThirdParty.ism
@@ -52,7 +52,7 @@
<summary>
<codepage>1252</codepage>
<title>##ID_STRING10##</title>
- <subject>Ice 3.3.0 Third Party Packages for Visual Studio 2005</subject>
+ <subject>Ice 3.3.1 Third Party Packages for Visual Studio 2005</subject>
<author>##COMPANY_NAME##</author>
<keywords>Ice</keywords>
<comments>##ID_STRING5##</comments>
@@ -1160,8 +1160,8 @@
<row><td>FavoritesFolder</td><td>TARGETDIR</td><td>.:FAVORI~1|Favorites</td><td/><td>0</td><td/></row>
<row><td>FontsFolder</td><td>TARGETDIR</td><td>.:Fonts</td><td/><td>0</td><td/></row>
<row><td>GlobalAssemblyCache</td><td>TARGETDIR</td><td>.:Global~1|GlobalAssemblyCache</td><td/><td>0</td><td/></row>
- <row><td>ICE_3.3.0_THIRDPARTY_VC80</td><td>WindowsVolume</td><td>ICE-3_~3|Ice-3.3.0-ThirdParty-VC80</td><td/><td>0</td><td/></row>
- <row><td>INSTALLDIR</td><td>ICE_3.3.0_THIRDPARTY_VC80</td><td>.</td><td/><td>0</td><td/></row>
+ <row><td>ICE_3.3.1_THIRDPARTY_VC80</td><td>WindowsVolume</td><td>ICE-3_~3|Ice-3.3.1-ThirdParty-VC80</td><td/><td>0</td><td/></row>
+ <row><td>INSTALLDIR</td><td>ICE_3.3.1_THIRDPARTY_VC80</td><td>.</td><td/><td>0</td><td/></row>
<row><td>ISCommonFilesFolder</td><td>CommonFilesFolder</td><td>Instal~1|InstallShield</td><td/><td>0</td><td/></row>
<row><td>ISMyCompanyDir</td><td>ProgramFilesFolder</td><td>MYCOMP~1|My Company Name</td><td/><td>0</td><td/></row>
<row><td>ISMyProductDir</td><td>ISMyCompanyDir</td><td>MYPROD~1|My Product Name</td><td/><td>0</td><td/></row>
@@ -1818,11 +1818,11 @@
<col key="yes" def="s72">ISProductConfiguration_</col>
<col key="yes" def="s72">Property</col>
<col def="L255">Value</col>
- <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.0-ThirdParty-VC80</td></row>
- <row><td>ZEROC</td><td>PackageCode</td><td>{1AD4DD17-1B62-4CBB-B44C-67F22EDAB527}</td></row>
- <row><td>ZEROC</td><td>ProductCode</td><td>{306029B0-5C58-4E00-9206-5921D2FBDF48}</td></row>
+ <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.1-ThirdParty-VC80</td></row>
+ <row><td>ZEROC</td><td>PackageCode</td><td>{799D3119-13D8-4072-84BE-2F3030D11432}</td></row>
+ <row><td>ZEROC</td><td>ProductCode</td><td>{3FF6AE85-3F91-4334-BE68-F28AA2360514}</td></row>
<row><td>ZEROC</td><td>SetupFileName</td><td/></row>
- <row><td>ZEROC</td><td>UpgradeCode</td><td>{2C491089-1FBB-4C89-A137-C9E2F15F3789}</td></row>
+ <row><td>ZEROC</td><td>UpgradeCode</td><td>{70AC2BD8-1A21-40D6-B097-0C0567E04A76}</td></row>
</table>
<table name="ISRelease">
@@ -2458,7 +2458,7 @@
<row><td>IDS__TargetReq_DESC_RAM</td><td>1033</td><td>The amount of RAM is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>IDS__TargetReq_DESC_RESOLUTION</td><td>1033</td><td>The screen resolution is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>ID_STRING1</td><td>1033</td><td>Ice 3.2.0 Third Party Packages for Visual Studio 2005</td><td>0</td><td/><td>857343407</td></row>
- <row><td>ID_STRING10</td><td>1033</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 2005</td><td>0</td><td/><td>1369225426</td></row>
+ <row><td>ID_STRING10</td><td>1033</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 2005</td><td>0</td><td/><td>1369225426</td></row>
<row><td>ID_STRING11</td><td>1033</td><td>[ProductName] - InstallShield Wizard</td><td>0</td><td/><td>1033470955</td></row>
<row><td>ID_STRING12</td><td>1033</td><td>{&amp;MSSWhiteSerif8}InstallShield</td><td>0</td><td/><td>1033470955</td></row>
<row><td>ID_STRING13</td><td>1033</td><td>{&amp;Tahoma8}InstallShield</td><td>0</td><td/><td>1033470955</td></row>
@@ -2927,11 +2927,11 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>NewProperty2111</td><td>0</td><td/></row>
<row><td>NewProperty2112</td><td>0</td><td/></row>
<row><td>PIDTemplate</td><td>12345&lt;###-%%%%%%%&gt;@@@@@</td><td/></row>
- <row><td>ProductCode</td><td>{3EDD38B7-D39E-4902-A65F-19D16297FCFB}</td><td/></row>
+ <row><td>ProductCode</td><td>{B85B435B-0B5D-40C0-A3D1-82C5ECE07715}</td><td/></row>
<row><td>ProductID</td><td>none</td><td/></row>
<row><td>ProductLanguage</td><td>1033</td><td/></row>
- <row><td>ProductName</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 2005</td><td/></row>
- <row><td>ProductVersion</td><td>3.3.0</td><td/></row>
+ <row><td>ProductName</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 2005</td><td/></row>
+ <row><td>ProductVersion</td><td>3.3.1</td><td/></row>
<row><td>ProgressType0</td><td>install</td><td/></row>
<row><td>ProgressType1</td><td>Installing</td><td/></row>
<row><td>ProgressType2</td><td>installed</td><td/></row>
@@ -2940,7 +2940,7 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>ReinstallModeText</td><td>omus</td><td/></row>
<row><td>SHOWLAUNCHPROGRAM</td><td>0</td><td/></row>
<row><td>SetupType</td><td>Typical</td><td/></row>
- <row><td>UpgradeCode</td><td>{4166F1E7-8D0B-4A0F-A311-30220BFD4FC5}</td><td/></row>
+ <row><td>UpgradeCode</td><td>{5F76FBC6-14A2-4961-A8A6-C196B129143C}</td><td/></row>
<row><td>_IsMaintenance</td><td>Change</td><td/></row>
<row><td>_IsSetupTypeMin</td><td>Typical</td><td/></row>
</table>
diff --git a/distribution/src/windows/vc80/doc/README.txt b/distribution/src/windows/vc80/doc/README.txt
index f092cfaf097..c8d89d5745e 100644
--- a/distribution/src/windows/vc80/doc/README.txt
+++ b/distribution/src/windows/vc80/doc/README.txt
@@ -98,13 +98,17 @@ compiler, however we have tested the Ice extension extensively and
have not encountered any compatibility issues.
If you distribute an Ice for Python application, you must include the
-DLLs for the extension, the Ice run time, and the Visual C++ 8.0 run
-time. An appendix in the Ice manual provides more information on
+DLLs for the extension, the Ice run time, and the Visual C++ 8 SP1
+run time. An appendix in the Ice manual provides more information on
distributing Ice applications. The link below describes the process
of deploying the Visual C++ 8.0 run time:
http://msdn2.microsoft.com/en-us/library/ms235291(VS.80).aspx
+Make sure to download and install the Visual C++ 8.0 SP1 run time:
+
+ (x86) http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
+ (x64) http://www.microsoft.com/downloads/details.aspx?familyid=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en
Setting up Visual Studio 2005 SP1 to build Ice applications in C++
------------------------------------------------------------------
diff --git a/distribution/src/windows/vc80/doc/SOURCES.txt b/distribution/src/windows/vc80/doc/SOURCES.txt
new file mode 100755
index 00000000000..aa203fd1ff0
--- /dev/null
+++ b/distribution/src/windows/vc80/doc/SOURCES.txt
@@ -0,0 +1,6 @@
+Source Code
+-----------
+
+The source distributions of Ice, Berkeley DB, bzip2/libbzip2, OpenSSL,
+STLport, Expat, mcpp and JGoodies used to build this distribution can
+be downloaded at no cost from http://www.zeroc.com/download.html.
diff --git a/distribution/src/windows/vc90/MCPPDevKit.ism b/distribution/src/windows/vc90/MCPPDevKit.ism
index 3a009e16b71..71996ee425a 100755
--- a/distribution/src/windows/vc90/MCPPDevKit.ism
+++ b/distribution/src/windows/vc90/MCPPDevKit.ism
@@ -437,6 +437,7 @@
<col def="S255">ExcludeFiles</col>
<col def="I4">ISAttributes</col>
<row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\dev</td><td>4</td><td/><td/><td>2</td></row>
+ <row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\devdebug</td><td>4</td><td/><td/><td>2</td></row>
<row><td>MCPPDevKit.5C4D6558_0459_45A7_AFBF_A0310F1F4D68</td><td>&lt;ISProjectFolder&gt;\install\mcpp\devx64</td><td>4</td><td/><td/><td>2</td></row>
</table>
diff --git a/distribution/src/windows/vc90/ThirdParty.ism b/distribution/src/windows/vc90/ThirdParty.ism
index 08ea5340289..36037694c0a 100755
--- a/distribution/src/windows/vc90/ThirdParty.ism
+++ b/distribution/src/windows/vc90/ThirdParty.ism
@@ -1160,8 +1160,8 @@
<row><td>FavoritesFolder</td><td>TARGETDIR</td><td>.:FAVORI~1|Favorites</td><td/><td>0</td><td/></row>
<row><td>FontsFolder</td><td>TARGETDIR</td><td>.:Fonts</td><td/><td>0</td><td/></row>
<row><td>GlobalAssemblyCache</td><td>TARGETDIR</td><td>.:Global~1|GlobalAssemblyCache</td><td/><td>0</td><td/></row>
- <row><td>ICE_3.3.0_THIRDPARTY_VC90</td><td>WindowsVolume</td><td>ICE-3_~3|Ice-3.3.0-ThirdParty-VC90</td><td/><td>0</td><td/></row>
- <row><td>INSTALLDIR</td><td>ICE_3.3.0_THIRDPARTY_VC90</td><td>.</td><td/><td>0</td><td/></row>
+ <row><td>ICE_3.3.1_THIRDPARTY_VC90</td><td>WindowsVolume</td><td>ICE-3_~3|Ice-3.3.1-ThirdParty-VC90</td><td/><td>0</td><td/></row>
+ <row><td>INSTALLDIR</td><td>ICE_3.3.1_THIRDPARTY_VC90</td><td>.</td><td/><td>0</td><td/></row>
<row><td>ISCommonFilesFolder</td><td>CommonFilesFolder</td><td>Instal~1|InstallShield</td><td/><td>0</td><td/></row>
<row><td>ISMyCompanyDir</td><td>ProgramFilesFolder</td><td>MYCOMP~1|My Company Name</td><td/><td>0</td><td/></row>
<row><td>ISMyProductDir</td><td>ISMyCompanyDir</td><td>MYPROD~1|My Product Name</td><td/><td>0</td><td/></row>
@@ -1818,11 +1818,11 @@
<col key="yes" def="s72">ISProductConfiguration_</col>
<col key="yes" def="s72">Property</col>
<col def="L255">Value</col>
- <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.0-ThirdParty-VC90</td></row>
- <row><td>ZEROC</td><td>PackageCode</td><td>{08FEFEDE-8A68-4C4B-B126-DBBB77C6B71A}</td></row>
- <row><td>ZEROC</td><td>ProductCode</td><td>{000B3A6E-003A-4D05-95B9-0468600071EF}</td></row>
+ <row><td>ZEROC</td><td>MSIPackageFileName</td><td>Ice-3.3.1-ThirdParty-VC90</td></row>
+ <row><td>ZEROC</td><td>PackageCode</td><td>{8EE5BF76-A7FF-4EF8-8C63-E67A646A4450}</td></row>
+ <row><td>ZEROC</td><td>ProductCode</td><td>{AD9A5DFB-67DF-4B07-8ACA-66E0F64EF5CF}</td></row>
<row><td>ZEROC</td><td>SetupFileName</td><td/></row>
- <row><td>ZEROC</td><td>UpgradeCode</td><td>{AB32D847-2181-4504-963A-70BD7B488839}</td></row>
+ <row><td>ZEROC</td><td>UpgradeCode</td><td>{FE7FD4BD-5615-4609-AA1B-955029589E1A}</td></row>
</table>
<table name="ISRelease">
@@ -2458,14 +2458,14 @@
<row><td>IDS__TargetReq_DESC_RAM</td><td>1033</td><td>The amount of RAM is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>IDS__TargetReq_DESC_RESOLUTION</td><td>1033</td><td>The screen resolution is not adequate for running [ProductName].</td><td>0</td><td/><td>479664453</td></row>
<row><td>ID_STRING1</td><td>1033</td><td>Ice 3.2.0 Third Party Packages for Visual Studio 2008</td><td>0</td><td/><td>857343407</td></row>
- <row><td>ID_STRING10</td><td>1033</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 2008</td><td>0</td><td/><td>-1583598194</td></row>
+ <row><td>ID_STRING10</td><td>1033</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 2008</td><td>0</td><td/><td>-1583598194</td></row>
<row><td>ID_STRING11</td><td>1033</td><td>[ProductName] - InstallShield Wizard</td><td>0</td><td/><td>1033470955</td></row>
<row><td>ID_STRING12</td><td>1033</td><td>{&amp;MSSWhiteSerif8}InstallShield</td><td>0</td><td/><td>1033470955</td></row>
<row><td>ID_STRING13</td><td>1033</td><td>{&amp;Tahoma8}InstallShield</td><td>0</td><td/><td>1033470955</td></row>
<row><td>ID_STRING14</td><td>1033</td><td>&amp;Next &gt;</td><td>0</td><td/><td>1033471019</td></row>
<row><td>ID_STRING15</td><td>1033</td><td>&lt; &amp;Back</td><td>0</td><td/><td>1033471019</td></row>
<row><td>ID_STRING16</td><td>1033</td><td>Cancel</td><td>0</td><td/><td>1033471019</td></row>
- <row><td>ID_STRING17</td><td>1033</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 2008</td><td>0</td><td/><td>-1583587954</td></row>
+ <row><td>ID_STRING17</td><td>1033</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 2008</td><td>0</td><td/><td>-1583587954</td></row>
<row><td>ID_STRING19</td><td>1033</td><td>[ProductName] - InstallShield Wizard</td><td>0</td><td/><td>1033471019</td></row>
<row><td>ID_STRING2</td><td>1033</td><td>ZeroC</td><td>0</td><td/><td>-1860585904</td></row>
<row><td>ID_STRING20</td><td>1033</td><td>{&amp;MSSWhiteSerif8}InstallShield</td><td>0</td><td/><td>1033471019</td></row>
@@ -2928,11 +2928,11 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>NewProperty2111</td><td>0</td><td/></row>
<row><td>NewProperty2112</td><td>0</td><td/></row>
<row><td>PIDTemplate</td><td>12345&lt;###-%%%%%%%&gt;@@@@@</td><td/></row>
- <row><td>ProductCode</td><td>{0ADCA15A-9E02-4302-B0DB-D6E20C90B8D9}</td><td/></row>
+ <row><td>ProductCode</td><td>{261A071A-1BF4-4EA4-999D-E5DD10629980}</td><td/></row>
<row><td>ProductID</td><td>none</td><td/></row>
<row><td>ProductLanguage</td><td>1033</td><td/></row>
- <row><td>ProductName</td><td>Ice 3.3.0 Third Party Packages for Visual Studio 2008</td><td/></row>
- <row><td>ProductVersion</td><td>3.3.0</td><td/></row>
+ <row><td>ProductName</td><td>Ice 3.3.1 Third Party Packages for Visual Studio 2008</td><td/></row>
+ <row><td>ProductVersion</td><td>3.3.1</td><td/></row>
<row><td>ProgressType0</td><td>install</td><td/></row>
<row><td>ProgressType1</td><td>Installing</td><td/></row>
<row><td>ProgressType2</td><td>installed</td><td/></row>
@@ -2941,7 +2941,7 @@ VABIAEkAUgBEAF8AUABBAFIAVABZAF8ATQBTAEkAAQBaAEUAUgBPAEMA
<row><td>ReinstallModeText</td><td>omus</td><td/></row>
<row><td>SHOWLAUNCHPROGRAM</td><td>0</td><td/></row>
<row><td>SetupType</td><td>Typical</td><td/></row>
- <row><td>UpgradeCode</td><td>{C4078B31-1CE0-4816-A1C0-48B928C095F0}</td><td/></row>
+ <row><td>UpgradeCode</td><td>{89C7AF20-BF85-4322-BBD1-EAB19CB1457C}</td><td/></row>
<row><td>_IsMaintenance</td><td>Change</td><td/></row>
<row><td>_IsSetupTypeMin</td><td>Typical</td><td/></row>
</table>
diff --git a/distribution/src/windows/vc90/doc/SOURCES.txt b/distribution/src/windows/vc90/doc/SOURCES.txt
new file mode 100755
index 00000000000..aa203fd1ff0
--- /dev/null
+++ b/distribution/src/windows/vc90/doc/SOURCES.txt
@@ -0,0 +1,6 @@
+Source Code
+-----------
+
+The source distributions of Ice, Berkeley DB, bzip2/libbzip2, OpenSSL,
+STLport, Expat, mcpp and JGoodies used to build this distribution can
+be downloaded at no cost from http://www.zeroc.com/download.html.
diff --git a/fixCopyright.py b/fixCopyright.py
index 17b91ba387f..b81f87d3e0b 100755
--- a/fixCopyright.py
+++ b/fixCopyright.py
@@ -21,26 +21,23 @@ for x in sys.argv[1:]:
ice_dir = os.path.normpath(os.path.join(os.path.dirname(__file__)))
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
FixUtil.replaceAllCopyrights(ice_dir, False, False)
-for dir in ["slice", "cpp", "java", "cs", "vb", "php", "py", "rb", "demoscript", "distribution", "config", "certs"]:
+for dir in ["slice", "cpp", "java", "cs", "vb", "php", "py", "rb", "demoscript", "distribution", "config", "certs",\
+ "scripts"]:
home = os.path.join(ice_dir, dir)
if home:
FixUtil.replaceAllCopyrights(home, False, True)
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
-# Fix various other files that have copyright info in them that
-# are not taken care of above.
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
#
+# **********************************************************************
cpatMatch = "20[0-9][0-9]-(20[0-9][0-9]) ZeroC"
-copyright = "2008"
+copyright = "2009"
files = FixUtil.find(ice_dir, "*.rc")
files += FixUtil.find(ice_dir, "*LICENSE")
@@ -60,6 +57,7 @@ files += FixUtil.find(os.path.join(ice_dir), "AssemblyInfo.cs")
files += FixUtil.find(os.path.join(ice_dir, "distribution", "src", "rpm"), "*")
files += FixUtil.find(os.path.join(ice_dir, "php"), "*.php")
files += [os.path.join(ice_dir, "cpp", "test", "Slice", "errorDetection", "IllegalIdentifier.ice")]
+files += [os.path.join(ice_dir, "distribution", "src", "rpm", "mcpp-devel.spec")]
for f in files:
FixUtil.fileMatchAndReplace(f, [(cpatMatch, copyright)])
diff --git a/fixVersion.py b/fixVersion.py
index 26a0df84d95..910826f70f0 100755
--- a/fixVersion.py
+++ b/fixVersion.py
@@ -40,8 +40,8 @@ FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "config", "Make.common.rules")
FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "config", "Make.common.rules.mak"),
[("^VERSION[\t\s]*= " + FixUtil.vpatMatch, version),
- ("INTVERSION[\t\s]*= " + FixUtil.vpatMatch, FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + \
- "." + FixUtil.patchVersion(version)),
+ ("INTVERSION[\t\s]*= " + FixUtil.vpatMatch, FixUtil.majorVersion(version) + "." + \
+ FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version)),
("SHORT_VERSION[\t\s]*= ([0-9]*\.[0-9]*)", FixUtil.shortVersion(version)),
("SOVERSION[\t\s]*= ([0-9]+b?)", FixUtil.soVersion(version))])
@@ -51,9 +51,14 @@ FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "rpm",
[("%define soversion ([0-9]+b?)", FixUtil.soVersion(version))])
FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "rpm", "ice.spec"),
[("%define dotnetversion ([0-9]*\.[0-9]*\.[0-9]*)",
- FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version))])
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ "." + FixUtil.patchVersion(version))])
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "common", "build.properties"),
+ [("ice\.version[\t\s]*= " + FixUtil.vpatMatch, version)])
+for f in FixUtil.find(os.path.join(ice_dir, "distribution", "bin"), "*.py"):
+ FixUtil.fileMatchAndReplace(f, [("iceVersion[\t\s]*= '" + FixUtil.vpatMatch, version)])
#
# Fix version in C++ sources
#
@@ -69,6 +74,9 @@ if ice_home:
FixUtil.fileMatchAndReplace(os.path.join(ice_home, "doc", "swish", "swish.conf"),
[("doc/Ice-" + FixUtil.vpatMatch, version)])
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "doc", "swish", "swishcgi.conf"),
+ [("ice_version[\t\s]*= '" + FixUtil.vpatMatch, version)])
+
FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "clock", "config.icebox"),
[("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
@@ -88,16 +96,13 @@ if ice_home:
FixUtil.fileMatchAndReplace(os.path.join(ice_home, "config", "templates.xml"),
[("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
- FixUtil.fileMatchAndReplace(os.path.join(ice_home, "test", "IceStorm", "repgrid", "application.xml"),
- [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
-
- for f in find(os.path.join(ice_home, "src"), "*.rc"):
+ for f in FixUtil.find(os.path.join(ice_home, "src"), "*.rc"):
FixUtil.fileMatchAndReplace(f, [("\"FileVersion\", \"" + FixUtil.vpatMatch, version), \
("\"ProductVersion\", \"" + FixUtil.vpatMatch, version), \
("INTERNALNAME \"[^0-9]*2?([0-9][0-9]b?)d?", FixUtil.soVersion(version)), \
("ORIGINALFILENAME \"[^0-9]*2?([0-9][0-9]b?)d?\.dll", FixUtil.soVersion(version)), \
- ("FILEVERSION ([0-9]+,[0-9]+,[0-9]+)", commaVersion(version)), \
- ("PRODUCTVERSION ([0-9]+,[0-9]+,[0-9]+)", commaVersion(version))])
+ ("FILEVERSION ([0-9]+,[0-9]+,[0-9]+)", FixUtil.commaVersion(version)), \
+ ("PRODUCTVERSION ([0-9]+,[0-9]+,[0-9]+)", FixUtil.commaVersion(version))])
#
# Fix version in Java sources
@@ -107,6 +112,9 @@ if icej_home:
FixUtil.fileMatchAndReplace(os.path.join(icej_home, "config", "build.properties"),
[("ice\.version[\t\s]*= " + FixUtil.vpatMatch, version)])
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "config", "build.properties"),
+ [("C:/Ice-" + FixUtil.vpatMatch, version)])
+
FixUtil.fileMatchAndReplace(os.path.join(icej_home, "src", "IceUtil", "Version.java"),
[("ICE_STRING_VERSION = \"" + FixUtil.vpatMatch +"\"", version), \
("ICE_INT_VERSION = ([0-9]*)", FixUtil.intVersion(version))])
@@ -123,7 +131,7 @@ if icej_home:
#
icecs_home = os.path.join(ice_dir, "cs")
if icecs_home:
- for f in find(icecs_home, "AssemblyInfo.cs"):
+ for f in FixUtil.find(icecs_home, "AssemblyInfo.cs"):
if f.find("generate") < 0 and f.find("ConsoleApplication") < 0:
FixUtil.fileMatchAndReplace(f, [("AssemblyVersion\(\"" + FixUtil.vpatMatch + "\"",
FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
@@ -132,23 +140,24 @@ if icecs_home:
FixUtil.fileMatchAndReplace(os.path.join(icecs_home, "demo", "IceStorm", "clock", "config.icebox"),
[("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
- for f in find(icecs_home, "*.pc"):
+ for f in FixUtil.find(icecs_home, "*.pc"):
print "matching " + f
- FixUtil.fileMatchAndReplace(f, [("[\t\s]*version[\t\s]*=[\t\s]* " + FixUtil.vpatMatch, FixUtil.majorVersion(version) + "." + \
- FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version))])
+ FixUtil.fileMatchAndReplace(f, [("[\t\s]*version[\t\s]*=[\t\s]* " + FixUtil.vpatMatch,
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ FixUtil.patchVersion(version))])
- for f in find(icecs_home, "config*"):
+ for f in FixUtil.find(icecs_home, "config*"):
print "matching " + f
FixUtil.fileMatchAndReplace(f,
[("Version=*([0-9]*\.[0-9]*\.[0-9]*).0",
- FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version))],
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." +
+ FixUtil.patchVersion(version))],
False) # Disable warnings as many files might not have SSL configuration
FixUtil.fileMatchAndReplace(os.path.join(icecs_home, "src", "Ice", "Util.cs"),
[("return \"" + FixUtil.vpatMatch +"\".*A=major", version), \
("return ([0-9]*).*AA=major", FixUtil.intVersion(version))])
-
#
# Fix version in VB sources
#
@@ -157,11 +166,12 @@ if icevb_home:
FixUtil.fileMatchAndReplace(os.path.join(icevb_home, "demo", "IceStorm", "clock", "config.icebox"),
[("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
- for f in find(icevb_home, "config*"):
+ for f in FixUtil.find(icevb_home, "config*"):
print "matching " + f
FixUtil.fileMatchAndReplace(f,
[("Version=*([0-9]*\.[0-9]*\.[0-9]*).0",
- FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version))],
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ FixUtil.patchVersion(version))],
False) # Disable warnings as many files might not have SSL configuration
#
@@ -178,11 +188,6 @@ if icepy_home:
FixUtil.fileMatchAndReplace(os.path.join(icepy_home, "demo", "IceStorm", "clock", "config.icebox"),
[("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
- FixUtil.fileMatchAndReplace(os.path.join(icepy_home, "demo", "Ice", "bidir", "Server.py"),
- [("Ice-" + FixUtil.vpatMatch, version)])
- FixUtil.fileMatchAndReplace(os.path.join(icepy_home, "demo", "Ice", "bidir", "Client.py"),
- [("Ice-" + FixUtil.vpatMatch, version)])
-
#
# Fix version in IceRuby
#
diff --git a/java/CHANGES b/java/CHANGES
index 88989eece0c..28e43ac5801 100644
--- a/java/CHANGES
+++ b/java/CHANGES
@@ -53,8 +53,8 @@ Changes since version 3.2.0
encapsulation) in base64 encoding.
This syntax is useful if, for example, a client that has the SSL
- plugin configured sends a proxy with an SSL endpoint to a server
- without the SSL plugin. Prior to this version, the server would
+ plug-in configured sends a proxy with an SSL endpoint to a server
+ without the SSL plug-in. Prior to this version, the server would
drop the unknown SSL endpoint when it stringified the proxy.
As of this version, the server preserves the endpoint and, when the
server stringifies a proxy containing an unknown endpoint, it uses
@@ -277,7 +277,7 @@ Changes since version 3.0.1
- Added identityToString and stringToIdentity to the Communicator
interface.
-- Added an SSL plugin for Java5 that supports the thread pool
+- Added an SSL plug-in for Java5 that supports the thread pool
concurrency model.
- Added support for specifying an alternate abstract type in
diff --git a/java/INSTALL b/java/INSTALL
index b6edfa9e1b5..3a78294a206 100644
--- a/java/INSTALL
+++ b/java/INSTALL
@@ -39,7 +39,7 @@ You can download Java5 and Java6 for Solaris, Windows, and Linux from:
Make sure to add javac and java to your PATH.
-When using the Ice for Java SSL plugin (IceSSL), you may experience
+When using the Ice for Java SSL plug-in (IceSSL), you may experience
occasional hangs. The most likely reason is that your system's entropy
pool is empty. If you have sufficient system privileges, you can solve
this issue by editing the following file
diff --git a/java/Makefile b/java/Makefile
index c9316495eed..14c8a5d8c4c 100644
--- a/java/Makefile
+++ b/java/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/java/Makefile.mak b/java/Makefile.mak
index fda0d29385e..63f650b81e8 100644
--- a/java/Makefile.mak
+++ b/java/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/java/allDemos.py b/java/allDemos.py
index 4af21249881..955bd9cae40 100755
--- a/java/allDemos.py
+++ b/java/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/java/allTests.py b/java/allTests.py
index fef48b08121..8b89de12648 100755
--- a/java/allTests.py
+++ b/java/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
@@ -48,13 +48,13 @@ tests = [
("Ice/background", ["core"]),
("Ice/servantLocator", ["core"]),
("Ice/interceptor", ["core"]),
+ ("Ice/udp", ["core"]),
("IceBox/configuration", ["core", "noipv6"]),
("Freeze/dbmap", ["once"]),
("Freeze/complex", ["once"]),
("Freeze/evictor", ["core"]),
("Freeze/oldevictor", ["core"]),
("Glacier2/router", ["service"]),
- ("Glacier2/attack", ["service"]),
("IceGrid/simple", ["service"]),
("IceSSL/configuration", ["once"]),
]
diff --git a/java/bin/icegridgui.rpm b/java/bin/icegridgui.rpm
index 34be415347c..d798cedc90d 100755
--- a/java/bin/icegridgui.rpm
+++ b/java/bin/icegridgui.rpm
@@ -2,7 +2,7 @@
# **********************************************************************
#
-# 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/java/build.xml b/java/build.xml
index 089ed7c091e..0338bb34157 100644
--- a/java/build.xml
+++ b/java/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -221,7 +221,8 @@
<target name="icegridadmin-plain-jar" depends="icegridadmin-compile" if="build-icegridadmin-plain-jar">
<manifest file="${lib.dir}/icegridgui.mf">
- <attribute name="Class-Path" value="Ice.jar ../resources/"/>
+ <attribute name="Main-Class" value="IceGridGUI.Main"/>
+ <attribute name="Class-Path" value="Ice.jar ${jgoodies.forms} ${jgoodies.looks} ../resources/ "/>
</manifest>
<jar jarfile="${lib.dir}/IceGridGUI.jar" manifest="${lib.dir}/icegridgui.mf" basedir="${lib.dir}">
<include name="IceGridGUI/**"/>
diff --git a/java/config/build.properties b/java/config/build.properties
index 684043304c8..ce46f1d3adb 100644
--- a/java/config/build.properties
+++ b/java/config/build.properties
@@ -1,13 +1,13 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-ice.version = 3.3.0
+ice.version = 3.3.1
db.version = 4.6.21
#
@@ -38,5 +38,5 @@ debug = on
#
jgoodies.forms = /usr/share/java/forms-1.2.0.jar
jgoodies.looks = /usr/share/java/looks-2.1.4.jar
-#jgoodies.forms = C:/Ice-3.3.0-ThirdParty-VC80/lib/forms-1.2.0.jar
-#jgoodies.looks = C:/Ice-3.3.0-ThirdParty-VC80/lib/looks-2.1.4.jar
+#jgoodies.forms = C:/Ice-3.3.1-ThirdParty-VC80/lib/forms-1.2.0.jar
+#jgoodies.looks = C:/Ice-3.3.1-ThirdParty-VC80/lib/looks-2.1.4.jar
diff --git a/java/config/common.xml b/java/config/common.xml
index de6dc87ad5f..f40a9c9cead 100644
--- a/java/config/common.xml
+++ b/java/config/common.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Database/.DS_Store b/java/demo/Database/.DS_Store
new file mode 100644
index 00000000000..ca6143d6f15
--- /dev/null
+++ b/java/demo/Database/.DS_Store
Binary files differ
diff --git a/java/demo/Database/library/BookI.java b/java/demo/Database/library/BookI.java
new file mode 100644
index 00000000000..5176584b3cf
--- /dev/null
+++ b/java/demo/Database/library/BookI.java
@@ -0,0 +1,382 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+//
+// This servant is a default servant. The book identity is retrieved
+// from the Ice.Current object.
+//
+class BookI extends _BookDisp
+{
+ public void
+ ice_ping(Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public BookDescription
+ describe(Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ return extractDescription(context, rs, current.adapter);
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ setTitle(String title, Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("UPDATE books SET title = ? WHERE id = ?");
+ stmt.setString(1, title);
+ stmt.setInt(2, id);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ setAuthors(java.util.List<String> authors, Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ // First destroy each of the authors_books records.
+ java.sql.PreparedStatement stmt = context.prepareStatement("DELETE FROM authors_books WHERE book_id = ?");
+ stmt.setInt(1, id);
+ stmt.executeUpdate();
+
+ //
+ // Convert the authors string to an id set.
+ //
+ java.util.List<Integer> authIds = new java.util.LinkedList<Integer>();
+ java.util.Iterator<String> p = authors.iterator();
+ while(p.hasNext())
+ {
+ String author = p.next();
+
+ Integer authid;
+ stmt = context.prepareStatement("SELECT * FROM authors WHERE name = ?");
+ stmt.setString(1, author);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(rs.next())
+ {
+ // If there is a result, then the database
+ // already contains this author.
+ authid = rs.getInt(1);
+ assert !rs.next();
+ }
+ else
+ {
+ // Otherwise, create a new author record.
+ stmt = context.prepareStatement("INSERT INTO authors (name) VALUES(?)",
+ java.sql.Statement.RETURN_GENERATED_KEYS);
+ stmt.setString(1, author);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ rs = stmt.getGeneratedKeys();
+ boolean next = rs.next();
+ assert next;
+ authid = rs.getInt(1);
+ }
+
+ // Add the new id to the list of ids.
+ authIds.add(authid);
+ }
+
+ // Create new authors_books records.
+ java.util.Iterator<Integer> q = authIds.iterator();
+ while(q.hasNext())
+ {
+ stmt = context.prepareStatement("INSERT INTO authors_books (book_id, author_id) VALUES(?, ?)");
+ stmt.setInt(1, id);
+ stmt.setInt(2, q.next());
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ destroy(Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("DELETE FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ int count = stmt.executeUpdate();
+ if(count == 0)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public String
+ getRenter(Ice.Current current)
+ throws BookNotRentedException
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+
+ int renterId = rs.getInt("renter_id");
+ if(rs.wasNull())
+ {
+ throw new BookNotRentedException();
+ }
+
+ stmt = context.prepareStatement("SELECT * FROM customers WHERE id = ?");
+ stmt.setInt(1, renterId);
+ rs = stmt.executeQuery();
+ boolean next = rs.next();
+ assert next;
+ return rs.getString("name");
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ rentBook(String name, Ice.Current current)
+ throws InvalidCustomerException, BookRentedException
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+ name = name.trim();
+ if(name.length() == 0)
+ {
+ throw new InvalidCustomerException();
+ }
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+
+ Integer renterId = rs.getInt("renter_id");
+ if(!rs.wasNull())
+ {
+ stmt = context.prepareStatement("SELECT * FROM customers WHERE id = ?");
+ stmt.setInt(1, renterId);
+ rs = stmt.executeQuery();
+ boolean next = rs.next();
+ assert next;
+ throw new BookRentedException(rs.getString("name"));
+ }
+
+ stmt = context.prepareStatement("SELECT * FROM customers WHERE name = ?");
+ stmt.setString(1, name);
+ rs = stmt.executeQuery();
+
+ if(rs.next())
+ {
+ renterId = rs.getInt("id");
+ assert !rs.next();
+ }
+ else
+ {
+ stmt = context.prepareStatement("INSERT into customers (name) VALUES(?)",
+ java.sql.Statement.RETURN_GENERATED_KEYS);
+ stmt.setString(1, name);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ rs = stmt.getGeneratedKeys();
+ boolean next = rs.next();
+ assert next;
+ renterId = rs.getInt(1);
+ }
+
+ stmt = context.prepareStatement("UPDATE books SET renter_id = ? WHERE id = ?");
+ stmt.setInt(1, renterId);
+ stmt.setInt(2, id);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ returnBook(Ice.Current current)
+ throws BookNotRentedException
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ Integer id = new Integer(current.id.name);
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ Integer renterId = rs.getInt("renter_id");
+ if(rs.wasNull())
+ {
+ throw new BookNotRentedException();
+ }
+
+ stmt = context.prepareStatement("UPDATE books SET renter_id = NULL WHERE id = ?");
+ stmt.setInt(1, id);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ BookI()
+ {
+ }
+
+ static Ice.Identity
+ createIdentity(Integer bookId)
+ {
+ Ice.Identity id = new Ice.Identity();
+ id.category = "book";
+ id.name = bookId.toString();
+ return id;
+ }
+
+ static BookDescription
+ extractDescription(SQLRequestContext context, java.sql.ResultSet rs, Ice.ObjectAdapter adapter)
+ throws java.sql.SQLException
+ {
+ Integer id = rs.getInt("id");
+
+ BookDescription desc = new BookDescription();
+ desc.isbn = rs.getString("isbn");
+ desc.title = rs.getString("title");
+ desc.authors = new java.util.LinkedList<String>();
+ desc.proxy = BookPrxHelper.uncheckedCast(adapter.createProxy(createIdentity(id)));
+
+ java.sql.PreparedStatement stmt = null;
+ // Query for the rentedBy.
+ Integer renterId = rs.getInt("renter_id");
+ if(!rs.wasNull())
+ {
+ stmt = context.prepareStatement("SELECT * FROM customers WHERE id = ?");
+ stmt.setInt(1, renterId);
+ java.sql.ResultSet customerRS = stmt.executeQuery();
+ boolean next = customerRS.next();
+ assert next;
+ desc.rentedBy = customerRS.getString(2);
+ }
+
+ // Query for the authors.
+ stmt = context.prepareStatement("SELECT * FROM authors INNER JOIN authors_books ON " +
+ "authors.id=authors_books.author_id AND authors_books.book_id = ?");
+ stmt.setInt(1, id);
+ java.sql.ResultSet authorRS = stmt.executeQuery();
+ while(authorRS.next())
+ {
+ desc.authors.add(authorRS.getString("name"));
+ }
+
+ return desc;
+ }
+}
diff --git a/java/demo/Database/library/BookQueryResultI.java b/java/demo/Database/library/BookQueryResultI.java
new file mode 100644
index 00000000000..28316ecfd5a
--- /dev/null
+++ b/java/demo/Database/library/BookQueryResultI.java
@@ -0,0 +1,97 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class BookQueryResultI extends _BookQueryResultDisp
+{
+ // The query result owns the SQLRequestContext object until
+ // destroyed.
+ BookQueryResultI(SQLRequestContext context, java.sql.ResultSet rs)
+ {
+ _context = context;
+ _rs = rs;
+ }
+
+ synchronized public java.util.List<BookDescription>
+ next(int n, Ice.BooleanHolder destroyed, Ice.Current current)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ destroyed.value = false;
+ java.util.List<BookDescription> l = new java.util.LinkedList<BookDescription>();
+ if(n <= 0)
+ {
+ return l;
+ }
+ boolean next = true;
+ try
+ {
+ for(int i = 0; i < n && next; ++i)
+ {
+ l.add(BookI.extractDescription(_context, _rs, current.adapter));
+ next = _rs.next();
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ // Log the error, and raise an UnknownException.
+ _context.error("BookQueryResultI", e);
+ Ice.UnknownException ex = new Ice.UnknownException();
+ ex.initCause(e);
+ throw ex;
+ }
+
+ if(!next)
+ {
+ try
+ {
+ destroyed.value = true;
+ destroy(current);
+ }
+ catch(Exception e)
+ {
+ // Ignore.
+ }
+ }
+
+ return l;
+ }
+
+ synchronized public void
+ destroy(Ice.Current current)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ _destroyed = true;
+ _context.destroy(false);
+
+ current.adapter.remove(current.id);
+ }
+
+ // Called on application shutdown by the Library.
+ synchronized public void
+ shutdown()
+ {
+ if(!_destroyed)
+ {
+ _destroyed = true;
+ _context.destroy(false);
+ }
+ }
+
+ private SQLRequestContext _context;
+ private java.sql.ResultSet _rs;
+ private boolean _destroyed = false;
+}
+
diff --git a/java/demo/Database/library/Client.java b/java/demo/Database/library/Client.java
new file mode 100644
index 00000000000..531acd00f4a
--- /dev/null
+++ b/java/demo/Database/library/Client.java
@@ -0,0 +1,53 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+public class Client extends Ice.Application
+{
+ class ShutdownHook extends Thread
+ {
+ public void
+ run()
+ {
+ try
+ {
+ communicator().destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ public int
+ run(String[] args)
+ {
+ if(args.length > 1)
+ {
+ System.err.println("Usage: " + appName() + " [file]");
+ return 1;
+ }
+
+ //
+ // Since this is an interactive demo we want to clear the
+ // Application installed interrupt callback and install our
+ // own shutdown hook.
+ //
+ setInterruptHook(new ShutdownHook());
+
+ return RunParser.runParser(appName(), args, communicator());
+ }
+
+ static public void
+ main(String[] args)
+ {
+ Client app = new Client();
+ app.main("demo.Database.library.Client", args, "config.client");
+ }
+}
diff --git a/java/demo/Database/library/ConnectionPool.java b/java/demo/Database/library/ConnectionPool.java
new file mode 100644
index 00000000000..852f6388115
--- /dev/null
+++ b/java/demo/Database/library/ConnectionPool.java
@@ -0,0 +1,156 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+class ConnectionPool
+{
+ public synchronized void
+ destroy()
+ {
+ _destroyed = true;
+ while(_connections.size() != _nconnections)
+ {
+ try
+ {
+ wait();
+ }
+ catch(InterruptedException e)
+ {
+ }
+ }
+
+ while(!_connections.isEmpty())
+ {
+ java.sql.Connection conn = _connections.removeFirst();
+ try
+ {
+ conn.close();
+ }
+ catch(java.sql.SQLException e)
+ {
+ }
+ }
+ }
+
+ public synchronized java.sql.Connection
+ acquire()
+ {
+ while(_connections.isEmpty() && !_destroyed)
+ {
+ try
+ {
+ wait();
+ }
+ catch(InterruptedException e)
+ {
+ }
+ }
+ if(_destroyed)
+ {
+ return null;
+ }
+ java.sql.Connection conn = _connections.removeFirst();
+
+ try
+ {
+ boolean closed = conn.isClosed();
+ if(closed)
+ {
+ _logger.warning("ConnectionPool: lost connection to database");
+ conn = null;
+ }
+ else
+ {
+ // Probe the connection with the database.
+ java.sql.PreparedStatement stmt = conn.prepareStatement("SELECT 1");
+ java.sql.ResultSet rs = stmt.executeQuery();
+ stmt.close();
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ e.printStackTrace(pw);
+ pw.flush();
+ _logger.warning("ConnectionPool: lost connection to database:\n" + sw.toString());
+
+ conn = null;
+ }
+
+ // If the connection has been closed, or is otherwise invalid,
+ // we need to re-establish the connection.
+ while(conn == null)
+ {
+ if(_trace)
+ {
+ _logger.trace("ConnectionPool", "establishing new database connection");
+ }
+ try
+ {
+ conn = java.sql.DriverManager.getConnection(_url, _username, _password);
+ conn.setAutoCommit(false);
+ }
+ catch(java.sql.SQLException e)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ e.printStackTrace(pw);
+ pw.flush();
+ _logger.warning("ConnectionPool: database connection failed:\n" + sw.toString());
+ }
+ }
+ if(_trace)
+ {
+ _logger.trace("ConnectionPool", "returning connection: " + conn + " " +
+ _connections.size() + "/" + _nconnections + " remaining");
+ }
+ return conn;
+ }
+
+ public synchronized void
+ release(java.sql.Connection connection)
+ {
+ if(connection != null)
+ {
+ _connections.add(connection);
+ notifyAll();
+ }
+ }
+
+ ConnectionPool(Ice.Logger logger, String url, String username, String password, int numConnections)
+ throws java.sql.SQLException
+ {
+ _logger = logger;
+ _url = url;
+ _username = username;
+ _password = password;
+
+ _nconnections = numConnections;
+ if(_trace)
+ {
+ _logger.trace("ConnectionPool", "establishing " + numConnections + " connections to " + url);
+ }
+ while(numConnections-- > 0)
+ {
+ java.sql.Connection connection = java.sql.DriverManager.getConnection(url, username, password);
+ connection.setAutoCommit(false);
+ _connections.add(connection);
+ }
+ }
+
+
+ private Ice.Logger _logger;
+ private boolean _trace = true;
+ private String _url;
+ private String _username;
+ private String _password;
+ private java.util.LinkedList<java.sql.Connection> _connections = new java.util.LinkedList<java.sql.Connection>();
+ private boolean _destroyed = false;
+ private int _nconnections;
+}
diff --git a/java/demo/Database/library/DispatchInterceptorI.java b/java/demo/Database/library/DispatchInterceptorI.java
new file mode 100644
index 00000000000..e92c9e6e73e
--- /dev/null
+++ b/java/demo/Database/library/DispatchInterceptorI.java
@@ -0,0 +1,58 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class DispatchInterceptorI extends Ice.DispatchInterceptor
+{
+ public Ice.DispatchStatus
+ dispatch(Ice.Request request)
+ {
+ // Allocate a new SQLRequestContext associated with this
+ // request thread.
+ SQLRequestContext context = new SQLRequestContext();
+ try
+ {
+ Ice.DispatchStatus status = _servant.ice_dispatch(request, null);
+
+ // An exception causes the current transaction to rollback.
+ context.destroyFromDispatch(status == Ice.DispatchStatus.DispatchOK);
+
+ return status;
+ }
+ catch(JDBCException ex)
+ {
+ // Log the error.
+ Ice.Current c = request.getCurrent();
+ context.error("call of `" + c.operation + "' on id `" + c.id.category + "/" + c.id.name + "' failed", ex);
+
+ // A JDBCException causes the current transaction to
+ // rollback.
+ context.destroyFromDispatch(false);
+
+ // Translate the exception to UnknownException.
+ Ice.UnknownException e = new Ice.UnknownException();
+ e.initCause(ex);
+ throw e;
+ }
+ catch(RuntimeException ex)
+ {
+ // Any other exception causes the transaction to rollback.
+ context.destroyFromDispatch(false);
+ throw ex;
+ }
+ }
+
+ DispatchInterceptorI(Ice.Object servant)
+ {
+ _servant = servant;
+ }
+
+ private Ice.Object _servant;
+}
diff --git a/java/demo/Database/library/Glacier2Session.ice b/java/demo/Database/library/Glacier2Session.ice
new file mode 100644
index 00000000000..5a9ab2dd252
--- /dev/null
+++ b/java/demo/Database/library/Glacier2Session.ice
@@ -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.
+//
+// **********************************************************************
+
+#ifndef LIBRARY_GLACIER2_SESSION_ICE
+#define LIBRARY_GLACIER2_SESSION_ICE
+
+#include <Glacier2/Session.ice>
+
+module Demo
+{
+
+/* Forward declaration. */
+interface Library;
+
+/**
+ *
+ * The session object. This is used to retrieve a per-session library
+ * on behalf of the client. If the session is not refreshed on a
+ * periodic basis, it will be automatically destroyed.
+ *
+ */
+interface Glacier2Session extends Glacier2::Session
+{
+ /**
+ *
+ * Get the library object.
+ *
+ * @return A proxy for the new library.
+ *
+ **/
+ Library* getLibrary();
+
+ /**
+ *
+ * Refresh a session. If a session is not refreshed on a regular
+ * basis by the client, it will be automatically destroyed.
+ *
+ **/
+ idempotent void refresh();
+};
+
+};
+
+#endif
diff --git a/java/demo/Database/library/Glacier2SessionManagerI.java b/java/demo/Database/library/Glacier2SessionManagerI.java
new file mode 100644
index 00000000000..059d923de54
--- /dev/null
+++ b/java/demo/Database/library/Glacier2SessionManagerI.java
@@ -0,0 +1,38 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class Glacier2SessionManagerI extends Glacier2._SessionManagerDisp
+{
+ public Glacier2.SessionPrx
+ create(String userId, Glacier2.SessionControlPrx control, Ice.Current c)
+ {
+ SessionI session = new SessionI(_logger, c.adapter);
+ _Glacier2SessionTie servant = new _Glacier2SessionTie(session);
+
+ Glacier2.SessionPrx proxy = Glacier2.SessionPrxHelper.uncheckedCast(c.adapter.addWithUUID(servant));
+
+ _logger.trace("SessionFactory", "create new session: " +
+ c.adapter.getCommunicator().identityToString(proxy.ice_getIdentity()));
+
+ _reaper.add(proxy, session);
+
+ return proxy;
+ }
+
+ Glacier2SessionManagerI(Ice.Logger logger, ReapThread reaper)
+ {
+ _logger = logger;
+ _reaper = reaper;
+ }
+
+ private Ice.Logger _logger;
+ private ReapThread _reaper;
+}
diff --git a/java/demo/Database/library/Grammar.java b/java/demo/Database/library/Grammar.java
new file mode 100644
index 00000000000..5bf6a22cf95
--- /dev/null
+++ b/java/demo/Database/library/Grammar.java
@@ -0,0 +1,176 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+class Grammar
+{
+ Grammar(Parser p)
+ {
+ _parser = p;
+ _scanner = new Scanner(_parser);
+ }
+
+ void
+ parse()
+ {
+ while(true)
+ {
+ try
+ {
+ _token = _scanner.nextToken();
+ if(_token == null)
+ {
+ return;
+ }
+ else if(_token.type == Token.TOK_SEMI)
+ {
+ // Continue
+ }
+ else if(_token.type == Token.TOK_HELP)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+
+ _parser.usage();
+ }
+ else if(_token.type == Token.TOK_EXIT)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+
+ return;
+ }
+ else if(_token.type == Token.TOK_ADD_BOOK)
+ {
+ java.util.List s = strings();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.addBook(s);
+ }
+ else if(_token.type == Token.TOK_FIND_ISBN)
+ {
+ java.util.List s = strings();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.findIsbn(s);
+ }
+ else if(_token.type == Token.TOK_FIND_AUTHORS)
+ {
+ java.util.List s = strings();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.findAuthors(s);
+ }
+ else if(_token.type == Token.TOK_FIND_TITLE)
+ {
+ java.util.List s = strings();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.findTitle(s);
+ }
+ else if(_token.type == Token.TOK_NEXT_FOUND_BOOK)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+
+ _parser.nextFoundBook();
+ }
+ else if(_token.type == Token.TOK_PRINT_CURRENT)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+
+ _parser.printCurrent();
+ }
+ else if(_token.type == Token.TOK_RENT_BOOK)
+ {
+ java.util.List s = strings();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.rentCurrent(s);
+ }
+ else if(_token.type == Token.TOK_RETURN_BOOK)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+ _parser.returnCurrent();
+ }
+ else if(_token.type == Token.TOK_REMOVE_CURRENT)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_SEMI)
+ {
+ throw new ParseError("Expected ';'");
+ }
+
+ _parser.removeCurrent();
+ }
+ else
+ {
+ _parser.error("parse error");
+ }
+ }
+ catch(ParseError e)
+ {
+ _parser.error("Parse error: " + e.getMessage());
+ }
+ }
+ }
+
+ private java.util.List
+ strings()
+ {
+ java.util.List l = new java.util.ArrayList();
+ while(true)
+ {
+ _token = _scanner.nextToken();
+ if(_token.type != Token.TOK_STRING)
+ {
+ return l;
+ }
+ l.add(_token.value);
+ }
+ }
+
+ static private class ParseError extends RuntimeException
+ {
+ ParseError(String msg)
+ {
+ super(msg);
+ }
+ }
+
+ private Parser _parser;
+ private Scanner _scanner;
+ private Token _token;
+}
diff --git a/java/demo/Database/library/Library.ice b/java/demo/Database/library/Library.ice
new file mode 100644
index 00000000000..a26dbe20b01
--- /dev/null
+++ b/java/demo/Database/library/Library.ice
@@ -0,0 +1,288 @@
+// **********************************************************************
+//
+// 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 LIBRARY_ICE
+#define LIBRARY_ICE
+
+#include <Ice/BuiltinSequences.ice>
+
+module Demo
+{
+
+/**
+ *
+ * This local exception is used internally if a java.sql.SQLException
+ * is raised.
+ *
+ **/
+local exception JDBCException
+{
+};
+
+/**
+ *
+ * This exception is raised if the book already exists.
+ *
+ **/
+exception BookExistsException
+{
+};
+
+/**
+ *
+ * This exception is raised if a book has already been rented.
+ *
+ **/
+exception BookRentedException
+{
+ string renter;
+};
+
+/**
+ *
+ * This exception is raised if a customer name is invalid.
+ *
+ **/
+exception InvalidCustomerException
+{
+};
+
+/**
+ *
+ * This exception is raised if the book has not been rented.
+ *
+ **/
+exception BookNotRentedException
+{
+};
+
+/** Forward declaration for the interface Book. */
+interface Book;
+
+/**
+ *
+ * A description of a book.
+ *
+ **/
+struct BookDescription
+{
+ /** The ISBN number of the book. */
+ string isbn;
+
+ /** The title of the book. */
+ string title;
+
+ /** The authors of the book. */
+ ["java:type:java.util.LinkedList<String>:java.util.List<String>"] Ice::StringSeq authors;
+
+ /** The customer name of the renter. */
+ string rentedBy;
+
+ /** A proxy to the associated book. */
+ Book* proxy;
+};
+
+/** A sequence of book descriptions. */
+["java:type:java.util.LinkedList<BookDescription>:java.util.List<BookDescription>"]
+sequence<BookDescription> BookDescriptionSeq;
+
+/**
+ *
+ * This interface represents a book.
+ *
+ **/
+interface Book
+{
+ /**
+ *
+ * Get a description of the book.
+ *
+ * @return The book description.
+ *
+ **/
+ idempotent BookDescription describe();
+
+ /**
+ *
+ * Set the title of a book.
+ *
+ * @param title The book title.
+ *
+ **/
+ void setTitle(string title);
+
+ /**
+ *
+ * Set the book authors.
+ *
+ * @param authors The book authors.
+ *
+ **/
+ void setAuthors(["java:type:java.util.LinkedList<String>:java.util.List<String>"] Ice::StringSeq authors);
+
+ /**
+ *
+ * Rent the book to the specified customer.
+ *
+ * @param customer The customer.
+ *
+ * @throws BookRentedException Raised if the book has already been
+ * rented.
+ *
+ * @throws InvalidCustomerException Raised if the customer is invalid.
+ *
+ **/
+ void rentBook(string name)
+ throws InvalidCustomerException, BookRentedException;
+
+ /**
+ *
+ * Get the renter.
+ *
+ * @return The current rental customer.
+ *
+ * @throws BookNotRentedException Raised if the book is not
+ * currently rented.
+ *
+ **/
+ idempotent string getRenter()
+ throws BookNotRentedException;
+
+ /**
+ *
+ * Return the book.
+ *
+ * @throws BookNotRentedException Raised if the book is not
+ * currently rented.
+ *
+ **/
+ void returnBook()
+ throws BookNotRentedException;
+
+ /**
+ *
+ * Destroy the book.
+ *
+ **/
+ void destroy();
+};
+
+/**
+ *
+ * Interface to get query results.
+ *
+ **/
+interface BookQueryResult
+{
+ /**
+ *
+ * Get more query results.
+ *
+ * @param n The maximum number of results to return.
+ *
+ * @param destroyed There are no more results, and the query has
+ * been destroyed.
+ *
+ * @returns A sequence of up to n results.
+ *
+ **/
+ BookDescriptionSeq next(int n, out bool destroyed);
+
+ /**
+ *
+ * Destroy the query result.
+ *
+ **/
+ void destroy();
+};
+
+/**
+ *
+ * An interface to the library.
+ *
+ **/
+interface Library
+{
+ /**
+ *
+ * Query based on isbn number. The query is a partial match at the
+ * start of the isbn number.
+ *
+ * @param isbn The ISBN number.
+ *
+ * @param n The number of rows to retrieve in the initial request.
+
+ * @param first The first set of results, up to n results.
+ *
+ * @param nrows The total number of rows.
+ *
+ * @param result The remainder of the results. If there are no
+ * further results, a null proxy is returned.
+ *
+ **/
+ void queryByIsbn(string isbn, int n, out BookDescriptionSeq first, out int nrows, out BookQueryResult* result);
+
+ /**
+ *
+ * Query based on the author name. The query is a partial match of
+ * the author's name.
+ *
+ * @param author The authors name.
+ *
+ * @param n The number of rows to retrieve in the initial request.
+
+ * @param first The first set of results, up to n results.
+ *
+ * @param nrows The total number of rows.
+ *
+ * @param result The remainder of the results. If there are no
+ * further results, a null proxy is returned.
+ *
+ **/
+ void queryByAuthor(string author, int n, out BookDescriptionSeq first, out int nrows, out BookQueryResult* result);
+
+ /**
+ *
+ * Query based on the book title. The query is a partial match of
+ * the book title.
+ *
+ * @param author The authors name.
+ *
+ * @param n The number of rows to retrieve in the initial request.
+
+ * @param first The first set of results, up to n results.
+ *
+ * @param nrows The total number of rows.
+ *
+ * @param result The remainder of the results. If there are no
+ * further results, a null proxy is returned.
+ *
+ **/
+ void queryByTitle(string title, int n, out BookDescriptionSeq first, out int nrows, out BookQueryResult* result);
+
+ /**
+ *
+ * Create a book with the given description.
+ *
+ * @param description The book description.
+ *
+ * @return A proxy for the new book.
+ *
+ * @throws BookExistsException Raised if a book with the same ISBN
+ * number already exists.
+ *
+ **/
+ Book* createBook(string isbn, string title,
+ ["java:type:java.util.LinkedList<String>:java.util.List<String>"] Ice::StringSeq authors)
+ throws BookExistsException;
+};
+
+};
+
+#endif
diff --git a/java/demo/Database/library/LibraryI.java b/java/demo/Database/library/LibraryI.java
new file mode 100644
index 00000000000..81bae5c6de7
--- /dev/null
+++ b/java/demo/Database/library/LibraryI.java
@@ -0,0 +1,387 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+//
+// This is a per-session library object.
+//
+class LibraryI extends _LibraryDisp
+{
+ public void
+ queryByIsbn(String isbn, int n, BookDescriptionSeqHolder first, Ice.IntHolder nrows,
+ BookQueryResultPrxHolder result, Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+
+ reapQueries();
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT COUNT(*) FROM books WHERE isbn LIKE ?");
+ stmt.setString(1, isbn + "%");
+ java.sql.ResultSet rs = stmt.executeQuery();
+ boolean next = rs.next();
+ assert next;
+ nrows.value = rs.getInt(1);
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ stmt = context.prepareStatement("SELECT * FROM books WHERE isbn LIKE ?");
+ stmt.setString(1, isbn + "%");
+ rs = stmt.executeQuery();
+ next = rs.next();
+ assert next;
+
+ first.value = new java.util.LinkedList<BookDescription>();
+ next = true;
+ for(int i = 0; i < n && next; ++i)
+ {
+ first.value.add(BookI.extractDescription(context, rs, current.adapter));
+ next = rs.next();
+ }
+ if(next)
+ {
+ // The SQLRequestContext is now owned by the query
+ // implementation.
+ context.obtain();
+ BookQueryResultI impl = new BookQueryResultI(context, rs);
+ result.value = BookQueryResultPrxHelper.uncheckedCast(current.adapter.addWithUUID(impl));
+ add(result.value, impl);
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ queryByAuthor(String author, int n, BookDescriptionSeqHolder first, Ice.IntHolder nrows,
+ BookQueryResultPrxHolder result, Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+
+ reapQueries();
+
+ try
+ {
+ // Find each of the authors.
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM authors WHERE name LIKE ?");
+ stmt.setString(1, "%" + author + "%");
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(!rs.next())
+ {
+ // No results are available.
+ nrows.value = 0;
+ return;
+ }
+
+ // Build a query that finds all books by these authors.
+ StringBuffer sb = new StringBuffer("(");
+ boolean front = true;
+ do
+ {
+ if(!front)
+ {
+ sb.append(" OR ");
+ }
+ front = false;
+ sb.append("authors_books.author_id=");
+ sb.append(rs.getInt("id"));
+ }
+ while(rs.next());
+ sb.append(")");
+
+ stmt = context.prepareStatement(
+ "SELECT COUNT(DISTINCT ID) FROM books INNER JOIN authors_books ON books.id=authors_books.book_id AND "
+ + sb.toString());
+ rs = stmt.executeQuery();
+ boolean next = rs.next();
+ assert next;
+ nrows.value = rs.getInt(1);
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ // Execute the query.
+ stmt = context.prepareStatement(
+ "SELECT DISTINCT ID, ISBN, TITLE, RENTER_ID FROM books INNER JOIN authors_books ON " +
+ "books.id=authors_books.book_id AND " + sb.toString());
+ rs = stmt.executeQuery();
+ next = rs.next();
+ assert next;
+
+ next = true;
+ first.value = new java.util.LinkedList<BookDescription>();
+ for(int i = 0; i < n && next; ++i)
+ {
+ first.value.add(BookI.extractDescription(context, rs, current.adapter));
+ next = rs.next();
+ }
+ if(next)
+ {
+ // The SQLRequestContext is now owned by the query
+ // implementation.
+ context.obtain();
+ BookQueryResultI impl = new BookQueryResultI(context, rs);
+ result.value = BookQueryResultPrxHelper.uncheckedCast(current.adapter.addWithUUID(impl));
+ add(result.value, impl);
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public void
+ queryByTitle(String title, int n, BookDescriptionSeqHolder first, Ice.IntHolder nrows,
+ BookQueryResultPrxHolder result, Ice.Current current)
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+
+ reapQueries();
+
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT COUNT(*) FROM books WHERE title LIKE ?");
+ stmt.setString(1, "%" + title + "%");
+ java.sql.ResultSet rs = stmt.executeQuery();
+ boolean next = rs.next();
+ assert next;
+ nrows.value = rs.getInt(1);
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ stmt = context.prepareStatement("SELECT * FROM books WHERE title LIKE ?");
+ stmt.setString(1, "%" + title + "%");
+ rs = stmt.executeQuery();
+ next = rs.next();
+ assert next;
+
+ first.value = new java.util.LinkedList<BookDescription>();
+ next = true;
+ for(int i = 0; i < n && next; ++i)
+ {
+ first.value.add(BookI.extractDescription(context, rs, current.adapter));
+ next = rs.next();
+ }
+ if(next)
+ {
+ // The SQLRequestContext is now owned by the query
+ // implementation.
+ context.obtain();
+ BookQueryResultI impl = new BookQueryResultI(context, rs);
+ result.value = BookQueryResultPrxHelper.uncheckedCast(current.adapter.addWithUUID(impl));
+ add(result.value, impl);
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ public BookPrx
+ createBook(String isbn, String title, java.util.List<String> authors, Ice.Current current)
+ throws BookExistsException
+ {
+ SQLRequestContext context = SQLRequestContext.getCurrentContext();
+ assert context != null;
+ try
+ {
+ java.sql.PreparedStatement stmt = context.prepareStatement("SELECT * FROM books WHERE isbn = ?");
+ stmt.setString(1, isbn);
+ java.sql.ResultSet rs = stmt.executeQuery();
+ if(rs.next())
+ {
+ throw new BookExistsException();
+ }
+
+ //
+ // First convert the authors string to an id set.
+ //
+ java.util.List<Integer> authIds = new java.util.LinkedList<Integer>();
+ java.util.Iterator<String> p = authors.iterator();
+ while(p.hasNext())
+ {
+ String author = p.next();
+
+ Integer id;
+ stmt = context.prepareStatement("SELECT * FROM authors WHERE name = ?");
+ stmt.setString(1, author);
+ rs = stmt.executeQuery();
+ if(rs.next())
+ {
+ // If there is a result, then the database
+ // already contains this author.
+ id = rs.getInt(1);
+ assert !rs.next();
+ }
+ else
+ {
+ // Otherwise, create a new author record.
+ stmt = context.prepareStatement("INSERT INTO authors (name) VALUES(?)",
+ java.sql.Statement.RETURN_GENERATED_KEYS);
+ stmt.setString(1, author);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+ rs = stmt.getGeneratedKeys();
+ boolean next = rs.next();
+ assert next;
+ id = rs.getInt(1);
+ }
+
+ // Add the new id to the list of ids.
+ authIds.add(id);
+ }
+
+ // Create the new book.
+ stmt = context.prepareStatement("INSERT INTO books (isbn, title) VALUES(?, ?)",
+ java.sql.Statement.RETURN_GENERATED_KEYS);
+ stmt.setString(1, isbn);
+ stmt.setString(2, title);
+ int count = stmt.executeUpdate();
+ assert count == 1;
+
+ rs = stmt.getGeneratedKeys();
+ boolean next = rs.next();
+ assert next;
+ Integer bookId = rs.getInt(1);
+
+ // Create new authors_books records.
+ java.util.Iterator<Integer> q = authIds.iterator();
+ while(q.hasNext())
+ {
+ stmt = context.prepareStatement("INSERT INTO authors_books (book_id, author_id) VALUES(?, ?)");
+ stmt.setInt(1, bookId);
+ stmt.setInt(2, q.next());
+ count = stmt.executeUpdate();
+ assert count == 1;
+ }
+
+ return BookPrxHelper.uncheckedCast(current.adapter.createProxy(BookI.createIdentity(bookId)));
+ }
+ catch(java.sql.SQLException e)
+ {
+ JDBCException ex = new JDBCException();
+ ex.initCause(e);
+ throw ex;
+ }
+ }
+
+ LibraryI()
+ {
+ }
+
+ synchronized public void
+ destroy()
+ {
+ if(_destroyed)
+ {
+ return;
+ }
+ _destroyed = true;
+ java.util.Iterator<QueryProxyPair> p = _queries.iterator();
+ while(p.hasNext())
+ {
+ try
+ {
+ p.next().proxy.destroy();
+ }
+ catch(Ice.ObjectNotExistException e)
+ {
+ // Ignore, it could have already been destroyed.
+ }
+ }
+ }
+
+ synchronized public void
+ shutdown()
+ {
+ if(_destroyed)
+ {
+ return;
+ }
+ _destroyed = true;
+
+ // Shutdown each of the associated query objects.
+ java.util.Iterator<QueryProxyPair> p = _queries.iterator();
+ while(p.hasNext())
+ {
+ p.next().impl.shutdown();
+ }
+ }
+
+ synchronized private void
+ add(BookQueryResultPrx proxy, BookQueryResultI impl)
+ {
+ // If the session has been destroyed, then destroy the book
+ // result, and raise an ObjectNotExistException.
+ if(_destroyed)
+ {
+ proxy.destroy();
+ throw new Ice.ObjectNotExistException();
+ }
+ _queries.add(new QueryProxyPair(proxy, impl));
+ }
+
+ synchronized private void
+ reapQueries()
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+
+ java.util.Iterator<QueryProxyPair> p = _queries.iterator();
+ while(p.hasNext())
+ {
+ QueryProxyPair pair = p.next();
+ try
+ {
+ pair.proxy.ice_ping();
+ }
+ catch(Ice.ObjectNotExistException e)
+ {
+ p.remove();
+ }
+ }
+ }
+
+ static class QueryProxyPair
+ {
+ QueryProxyPair(BookQueryResultPrx p, BookQueryResultI i)
+ {
+ proxy = p;
+ impl = i;
+ }
+
+ BookQueryResultPrx proxy;
+ BookQueryResultI impl;
+ }
+
+ private java.util.List<QueryProxyPair> _queries = new java.util.LinkedList<QueryProxyPair>();
+ private boolean _destroyed = false;
+}
diff --git a/java/demo/Database/library/Parser.java b/java/demo/Database/library/Parser.java
new file mode 100644
index 00000000000..2b2b8cb71fd
--- /dev/null
+++ b/java/demo/Database/library/Parser.java
@@ -0,0 +1,443 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class Parser
+{
+ Parser(Ice.Communicator communicator, LibraryPrx library)
+ {
+ _library = library;
+ }
+
+ void
+ usage()
+ {
+ System.err.print(
+ "help Print this message.\n" +
+ "exit, quit Exit this program.\n" +
+ "add isbn title authors Create new book.\n" +
+ "isbn NUMBER Find all books that start with the given ISBN number.\n" +
+ "authors NAME Find all books by the given authors.\n" +
+ "title NAME Find all books which have the given title.\n" +
+ "next Set the current book to the next one that was found.\n" +
+ "current Display the current book.\n" +
+ "rent NAME Rent the current book for customer NAME.\n" +
+ "return Return the currently rented book.\n" +
+ "remove Permanently remove the current book from the library.\n");
+ }
+
+ void
+ addBook(java.util.List args)
+ {
+ if(args.size() != 3)
+ {
+ error("`add' requires exactly three arguments (type `help' for more info)");
+ return;
+ }
+
+ try
+ {
+ String isbn = (String)args.get(0);
+ String title = (String)args.get(1);
+
+ java.util.List<String> authors = new java.util.LinkedList<String>();
+ java.util.StringTokenizer st = new java.util.StringTokenizer((String)args.get(2), ",");
+ while(st.hasMoreTokens())
+ {
+ authors.add(st.nextToken().trim());
+ }
+
+ BookPrx book = _library.createBook(isbn, title, authors);
+ System.out.println("added new book with isbn " + isbn);
+ }
+ catch(BookExistsException ex)
+ {
+ error("the book already exists");
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ findIsbn(java.util.List args)
+ {
+ if(args.size() != 1)
+ {
+ error("`isbn' requires exactly one argument (type `help' for more info)");
+ return;
+ }
+
+ try
+ {
+ if(_query != null)
+ {
+ try
+ {
+ _query.destroy();
+ }
+ catch(Exception e)
+ {
+ // Ignore
+ }
+ _query = null;
+ _current = null;
+ }
+
+ BookDescriptionSeqHolder first = new BookDescriptionSeqHolder();
+ Ice.IntHolder nrows = new Ice.IntHolder();
+ BookQueryResultPrxHolder result = new BookQueryResultPrxHolder();
+ _library.queryByIsbn((String)args.get(0), 1, first, nrows, result);
+
+ System.out.println(nrows.value + " results");
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ _current = first.value.get(0);
+ _query = result.value;
+ printCurrent();
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ findAuthors(java.util.List args)
+ {
+ if(args.size() != 1)
+ {
+ error("`authors' requires exactly one argument (type `help' for more info)");
+ return;
+ }
+
+ try
+ {
+ if(_query != null)
+ {
+ try
+ {
+ _query.destroy();
+ }
+ catch(Exception e)
+ {
+ // Ignore
+ }
+ _query = null;
+ _current = null;
+ }
+
+ BookDescriptionSeqHolder first = new BookDescriptionSeqHolder();
+ Ice.IntHolder nrows = new Ice.IntHolder();
+ BookQueryResultPrxHolder result = new BookQueryResultPrxHolder();
+ _library.queryByAuthor((String)args.get(0), 1, first, nrows, result);
+
+ System.out.println(nrows.value + " results");
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ _current = first.value.get(0);
+ _query = result.value;
+ printCurrent();
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ findTitle(java.util.List args)
+ {
+ if(args.size() != 1)
+ {
+ error("`title' requires exactly one argument (type `help' for more info)");
+ return;
+ }
+
+ try
+ {
+ if(_query != null)
+ {
+ try
+ {
+ _query.destroy();
+ }
+ catch(Exception e)
+ {
+ // Ignore
+ }
+ _query = null;
+ _current = null;
+ }
+
+ BookDescriptionSeqHolder first = new BookDescriptionSeqHolder();
+ Ice.IntHolder nrows = new Ice.IntHolder();
+ BookQueryResultPrxHolder result = new BookQueryResultPrxHolder();
+ _library.queryByTitle((String)args.get(0), 1, first, nrows, result);
+
+ System.out.println(nrows.value + " results");
+ if(nrows.value == 0)
+ {
+ return;
+ }
+
+ _current = first.value.get(0);
+ _query = result.value;
+ printCurrent();
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ nextFoundBook()
+ {
+ if(_query == null)
+ {
+ System.out.println("no next book");
+ return;
+ }
+
+ try
+ {
+ Ice.BooleanHolder destroyed = new Ice.BooleanHolder();
+ java.util.List<BookDescription> next = _query.next(1, destroyed);
+ if(next.size() > 0)
+ {
+ _current = next.get(0);
+ }
+ else
+ {
+ assert destroyed.value;
+ _current = null;
+ }
+ if(destroyed.value)
+ {
+ _query = null;
+ }
+ printCurrent();
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ System.out.println("the query object no longer exists");
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ printCurrent()
+ {
+ if(_current != null)
+ {
+ System.out.println("current book is:");
+ System.out.println("isbn: " + _current.isbn);
+ System.out.println("title: " + _current.title);
+ System.out.println("authors: " + _current.authors);
+ if(_current.rentedBy.length() > 0)
+ {
+ System.out.println("rented: " + _current.rentedBy);
+ }
+ }
+ else
+ {
+ System.out.println("no current book");
+ }
+ }
+
+ void
+ rentCurrent(java.util.List args)
+ {
+ if(args.size() != 1)
+ {
+ error("`rent' requires exactly one argument (type `help' for more info)");
+ return;
+ }
+
+ try
+ {
+ if(_current != null)
+ {
+ _current.proxy.rentBook((String)args.get(0));
+ System.out.println("the book is now rented by `" + (String)args.get(0) + "'");
+ _current = _current.proxy.describe();
+ }
+ else
+ {
+ System.out.println("no current book");
+ }
+ }
+ catch(BookRentedException ex)
+ {
+ System.out.println("the book has already been rented");
+ }
+ catch(InvalidCustomerException ex)
+ {
+ System.out.println("the customer name is invalid");
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ System.out.println("current book no longer exists");
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ returnCurrent()
+ {
+ try
+ {
+ if(_current != null)
+ {
+ _current.proxy.returnBook();
+ System.out.println( "the book has been returned");
+ _current = _current.proxy.describe();
+ }
+ else
+ {
+ System.out.println("no current book");
+ }
+ }
+ catch(BookNotRentedException ex)
+ {
+ System.out.println("the book is not currently rented");
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ System.out.println("current book no longer exists");
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ removeCurrent()
+ {
+ try
+ {
+ if(_current != null)
+ {
+ _current.proxy.destroy();
+ _current = null;
+ System.out.println("removed current book" );
+ }
+ else
+ {
+ System.out.println("no current book" );
+ }
+ }
+ catch(Ice.ObjectNotExistException ex)
+ {
+ System.out.println("current book no longer exists");
+ }
+ catch(Ice.LocalException ex)
+ {
+ error(ex.toString());
+ }
+ }
+
+ void
+ error(String s)
+ {
+ System.err.println("error: " + s);
+ }
+
+ void
+ warning(String s)
+ {
+ System.err.println("warning: " + s);
+ }
+
+ String
+ getInput()
+ {
+ System.out.print(">>> ");
+ System.out.flush();
+
+ try
+ {
+ return _in.readLine();
+ }
+ catch(java.io.IOException e)
+ {
+ return null;
+ }
+ }
+
+ int
+ parse()
+ {
+ _query = null;
+ _current = null;
+
+ _in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+
+ Grammar g = new Grammar(this);
+ g.parse();
+
+ return 0;
+ }
+
+ int
+ parse(String file)
+ {
+ _query = null;
+ _current = null;
+
+ try
+ {
+ _in = new java.io.BufferedReader(new java.io.FileReader(file));
+ }
+ catch(java.io.FileNotFoundException ex)
+ {
+ error(ex.getMessage());
+ return 1;
+ }
+
+ Grammar g = new Grammar(this);
+ g.parse();
+
+ System.out.println();
+
+ try
+ {
+ _in.close();
+ }
+ catch(java.io.IOException ex)
+ {
+ }
+
+ return 0;
+ }
+
+ private BookQueryResultPrx _query;
+ private BookDescription _current;
+
+ private LibraryPrx _library;
+
+ private java.io.BufferedReader _in;
+ private boolean _interactive;
+}
diff --git a/java/demo/Database/library/README b/java/demo/Database/library/README
new file mode 100644
index 00000000000..b7e44a0dbdb
--- /dev/null
+++ b/java/demo/Database/library/README
@@ -0,0 +1,103 @@
+MySQL JDBC Demo
+===============
+
+This demo shows how to implement an Ice server that uses mysql through
+a JDBC API and demonstrates the following techniques:
+
+ - Mapping relational data to Ice objects, and in particular the
+ conversion between Ice and JDBC types.
+ - Using a JDBC connection pool to provide JDBC connections for Ice
+ requests.
+ - Using an Ice servant locator.
+ - Using a dispatch interceptor.
+
+
+Building the demo
+-----------------
+
+1. Install mysql if necessary.
+
+2. Download version 5.0.8 of the mysql JDBC connector here:
+
+ http://dev.mysql.com/downloads/connector/j/5.0.html
+
+ After extracting the archive, add mysql-connector-java-5.0.8-bin.jar
+ to your CLASSPATH.
+
+3. Create a database named "library" and grant privileges to a user. In
+ the commands below, replace USER with the name you have chosen and
+ PASSWORD with a suitable password:
+
+ $ mysql -u root -p
+ Enter password:
+ Welcome to the MySQL monitor.
+
+ mysql> CREATE DATABASE library;
+ Query OK, 1 row affected (0.00 sec)
+
+ mysql> GRANT ALL PRIVILEGES ON library.* TO "USER"@"localhost"
+ -> IDENTIFIED BY "PASSWORD";
+ Query OK, 0 rows affected (0.00 sec)
+
+ mysql> FLUSH PRIVILEGES;
+ Query OK, 0 rows affected (0.01 sec)
+
+ mysql> EXIT
+
+4. Create the SQL tables using the script createTypes.sql:
+
+ $ mysql --user=USER --pass=PASSWORD library < createTypes.sql
+
+5. Edit the JDBC properties in config.server to reflect your selected
+ user name and password:
+
+ JDBC.Username=USER
+ JDBC.Password=PASSWORD
+
+NOTE: The instructions assume that the demo server runs on the same
+ host as the mysql server. If you intend to run the demo server on
+ a different host than the mysql server, you will need to revise
+ the mysql privileges as well as the JDBC URL in config.server.
+
+
+Running the demo
+----------------
+
+To run the demo, first start the server:
+
+$ java Server
+
+The demo includes a text file named "books" containing a series of
+commands that populate the server's database with a collection of
+books. Pass this file as an argument the first time you run the
+client. In another window:
+
+$ java Client books
+
+Type "help" to get a list of valid commands.
+
+
+Running the demo with Glacier2
+------------------------------
+
+The demo also supports a Glacier2 deployment. You will need to edit
+config.client and uncomment these configuration parameters:
+
+#Ice.Default.Router=DemoGlacier2/router:ssl -p 4064 -h 127.0.0.1
+#Ice.ACM.Client=0
+#Ice.RetryIntervals=-1
+
+To run the demo using Glacier2, first start the server:
+
+$ java Server
+
+In a separate window, start the Glacier2 router:
+
+$ glacier2router --Ice.Config=config.glacier2
+
+In a separate window, start the client:
+
+$ java Client books
+
+Omit the "books" argument if you have already populated the server's
+database.
diff --git a/java/demo/Database/library/ReapThread.java b/java/demo/Database/library/ReapThread.java
new file mode 100644
index 00000000000..b44a79b6e8b
--- /dev/null
+++ b/java/demo/Database/library/ReapThread.java
@@ -0,0 +1,127 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class ReapThread extends Thread
+{
+ static class SessionProxyPair
+ {
+ SessionProxyPair(Demo.SessionPrx p, SessionI s)
+ {
+ glacier2proxy = null;
+ proxy = p;
+ session = s;
+ }
+
+ SessionProxyPair(Glacier2.SessionPrx p, SessionI s)
+ {
+ glacier2proxy = p;
+ proxy = null;
+ session = s;
+ }
+
+ Glacier2.SessionPrx glacier2proxy;
+ Demo.SessionPrx proxy;
+ SessionI session;
+ }
+
+ ReapThread(Ice.Logger logger, long timeout)
+ {
+ _logger = logger;
+ _timeout = timeout;
+ }
+
+ synchronized public void
+ run()
+ {
+ while(!_terminated)
+ {
+ try
+ {
+ wait((_timeout / 2) * 1000);
+ }
+ catch(InterruptedException e)
+ {
+ }
+
+ if(!_terminated)
+ {
+ java.util.Iterator<SessionProxyPair> p = _sessions.iterator();
+ while(p.hasNext())
+ {
+ SessionProxyPair s = p.next();
+ try
+ {
+ //
+ // Session destruction may take time in a
+ // real-world example. Therefore the current time
+ // is computed for each iteration.
+ //
+ if((System.currentTimeMillis() - s.session.timestamp()) > _timeout * 1000)
+ {
+ _logger.trace("ReapThread", "The session " +
+ s.proxy.ice_getCommunicator().identityToString(s.proxy.ice_getIdentity()) +
+ " has timed out.");
+ if(s.proxy != null)
+ {
+ s.proxy.destroy();
+ }
+ else
+ {
+ s.glacier2proxy.destroy();
+ }
+ p.remove();
+ }
+ }
+ catch(Ice.ObjectNotExistException e)
+ {
+ p.remove();
+ }
+ }
+ }
+ }
+ }
+
+ synchronized public void
+ terminate()
+ {
+ _terminated = true;
+ notify();
+
+ // Destroy each of the sessions, releasing any resources they
+ // may hold. This calls directly on the session, not via the
+ // proxy since terminate() is called after the communicator is
+ // shutdown, which means calls on collocated objects are not
+ // permitted.
+ java.util.Iterator<SessionProxyPair> p = _sessions.iterator();
+ while(p.hasNext())
+ {
+ p.next().session.shutdown();
+ }
+ _sessions.clear();
+ }
+
+ synchronized public void
+ add(SessionPrx proxy, SessionI session)
+ {
+ _sessions.add(new SessionProxyPair(proxy, session));
+ }
+
+ synchronized public void
+ add(Glacier2.SessionPrx proxy, SessionI session)
+ {
+ _sessions.add(new SessionProxyPair(proxy, session));
+ }
+
+ private final long _timeout; // Seconds.
+ private Ice.Logger _logger;
+ private boolean _terminated = false;
+ private java.util.List<SessionProxyPair> _sessions = new java.util.LinkedList<SessionProxyPair>();
+}
diff --git a/java/demo/Database/library/RunParser.java b/java/demo/Database/library/RunParser.java
new file mode 100644
index 00000000000..17a21db127e
--- /dev/null
+++ b/java/demo/Database/library/RunParser.java
@@ -0,0 +1,216 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class RunParser
+{
+ //
+ // Adapter for the two types of session objects.
+ //
+ interface SessionAdapter
+ {
+ public LibraryPrx getLibrary();
+ public void destroy();
+ public void refresh();
+ }
+
+ static private class SessionRefreshThread extends Thread
+ {
+ SessionRefreshThread(Ice.Logger logger, long timeout, SessionAdapter session)
+ {
+ _logger = logger;
+ _session = session;
+ _timeout = timeout; // seconds.
+ }
+
+ synchronized public void
+ run()
+ {
+ while(!_terminated)
+ {
+ try
+ {
+ wait(_timeout * 1000);
+ }
+ catch(InterruptedException e)
+ {
+ }
+ if(!_terminated)
+ {
+ try
+ {
+ _session.refresh();
+ }
+ catch(Ice.LocalException ex)
+ {
+ _logger.warning("SessionRefreshThread: " + ex);
+ _terminated = true;
+ }
+ }
+ }
+ }
+
+ synchronized private void
+ terminate()
+ {
+ _terminated = true;
+ notify();
+ }
+
+ final private Ice.Logger _logger;
+ final private SessionAdapter _session;
+ final private long _timeout;
+ private boolean _terminated = false;
+ }
+
+ static int
+ runParser(String appName, String[] args, Ice.Communicator communicator)
+ {
+ SessionAdapter session;
+ final Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.uncheckedCast(communicator.getDefaultRouter());
+ long timeout;
+ if(router != null)
+ {
+ Glacier2.SessionPrx glacier2session = null;
+ java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+ while(true)
+ {
+ System.out.println("This demo accepts any user-id / password combination.");
+
+ try
+ {
+ String id;
+ System.out.print("user id: ");
+ System.out.flush();
+ id = in.readLine();
+
+ String pw;
+ System.out.print("password: ");
+ System.out.flush();
+ pw = in.readLine();
+
+ try
+ {
+ glacier2session = router.createSession(id, pw);
+ timeout = router.getSessionTimeout() / 2;
+ break;
+ }
+ catch(Glacier2.PermissionDeniedException ex)
+ {
+ System.out.println("permission denied:\n" + ex.reason);
+ }
+ catch(Glacier2.CannotCreateSessionException ex)
+ {
+ System.out.println("cannot create session:\n" + ex.reason);
+ }
+ }
+ catch(java.io.IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ final Glacier2SessionPrx sess = Glacier2SessionPrxHelper.uncheckedCast(glacier2session);
+ session = new SessionAdapter()
+ {
+ public LibraryPrx getLibrary()
+ {
+ return sess.getLibrary();
+ }
+
+ public void destroy()
+ {
+ try
+ {
+ router.destroySession();
+ }
+ catch(Glacier2.SessionNotExistException ex)
+ {
+ }
+ catch(Ice.ConnectionLostException ex)
+ {
+ //
+ // Expected: the router closed the connection.
+ //
+ }
+ }
+
+ public void refresh()
+ {
+ sess.refresh();
+ }
+ };
+ }
+ else
+ {
+ SessionFactoryPrx factory = SessionFactoryPrxHelper.checkedCast(
+ communicator.propertyToProxy("SessionFactory.Proxy"));
+ if(factory == null)
+ {
+ System.err.println(appName + ": invalid object reference");
+ return 1;
+ }
+
+ final SessionPrx sess = factory.create();
+ session = new SessionAdapter()
+ {
+ public LibraryPrx getLibrary()
+ {
+ return sess.getLibrary();
+ }
+
+ public void destroy()
+ {
+ sess.destroy();
+ }
+
+ public void refresh()
+ {
+ sess.refresh();
+ }
+ };
+ timeout = factory.getSessionTimeout()/2;
+ }
+ SessionRefreshThread refresh = new SessionRefreshThread(communicator.getLogger(), timeout, session);
+ refresh.start();
+
+ LibraryPrx library = session.getLibrary();
+
+ Parser parser = new Parser(communicator, library);
+
+ int rc = 0;
+
+ if(args.length == 1)
+ {
+ rc = parser.parse(args[0]);
+ }
+
+ if(rc == 0)
+ {
+ rc = parser.parse();
+ }
+
+ if(refresh != null)
+ {
+ refresh.terminate();
+ try
+ {
+ refresh.join();
+ }
+ catch(InterruptedException e)
+ {
+ }
+ refresh = null;
+ }
+
+ session.destroy();
+
+ return rc;
+ }
+}
diff --git a/java/demo/Database/library/SQLRequestContext.java b/java/demo/Database/library/SQLRequestContext.java
new file mode 100644
index 00000000000..533e74be491
--- /dev/null
+++ b/java/demo/Database/library/SQLRequestContext.java
@@ -0,0 +1,181 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+//
+// A SQL request context encapsulates SQL resources allocated in the
+// process of executing a request, such as the database connection,
+// and associated SQL statements.
+//
+// The request context is automatically destroyed at the end of a
+// request, or if obtain is called it must be destroyed manually by
+// calling destroy.
+//
+// When the request context is destroyed, the transaction is either
+// automatically committed or rolled back, depending whether the
+// request executed successfully.
+//
+class SQLRequestContext
+{
+ public static SQLRequestContext
+ getCurrentContext()
+ {
+ synchronized(_contextMap)
+ {
+ return _contextMap.get(Thread.currentThread());
+ }
+ }
+
+ public static void
+ initialize(Ice.Logger logger, ConnectionPool pool)
+ {
+ assert _logger == null;
+ assert _pool == null;
+
+ _logger = logger;
+ _pool = pool;
+ }
+
+ public java.sql.PreparedStatement
+ prepareStatement(String sql)
+ throws java.sql.SQLException
+ {
+ java.sql.PreparedStatement stmt = _conn.prepareStatement(sql);
+ _statements.add(stmt);
+ return stmt;
+ }
+
+ public java.sql.PreparedStatement
+ prepareStatement(String sql, int autoGeneratedKeys)
+ throws java.sql.SQLException
+ {
+ java.sql.PreparedStatement stmt = _conn.prepareStatement(sql, autoGeneratedKeys);
+ _statements.add(stmt);
+ return stmt;
+ }
+
+ // Called to obtain ownership of the context. The context is no
+ // longer destroyed automatically when the current request has
+ // completed.
+ public void
+ obtain()
+ {
+ if(_trace)
+ {
+ _logger.trace("SQLRequestContext", "obtain context: " + this +
+ " thread: " + Thread.currentThread());
+ }
+ _obtain = true;
+ }
+
+ public void
+ destroy(boolean commit)
+ {
+ // Must only be called on an obtained context.
+ assert _obtain;
+ destroyInternal(commit);
+ }
+
+ public void
+ error(String prefix, Exception ex)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ ex.printStackTrace(pw);
+ pw.flush();
+ _logger.error(prefix + ": error:\n" + sw.toString());
+ }
+
+ SQLRequestContext()
+ {
+ _conn = _pool.acquire();
+
+ synchronized(_contextMap)
+ {
+ if(_trace)
+ {
+ _logger.trace("SQLRequestContext", "create new context: " + this +
+ " thread: " + Thread.currentThread() +
+ ": connection: " + _conn);
+ }
+
+ _contextMap.put(Thread.currentThread(), this);
+ }
+ }
+
+ // Called only during the dispatch process.
+ void
+ destroyFromDispatch(boolean commit)
+ {
+ synchronized(_contextMap)
+ {
+ // Remove the current context from the thread->context
+ // map.
+ SQLRequestContext context = _contextMap.remove(Thread.currentThread());
+ assert context != null;
+ }
+
+ // If the context was obtained then don't destroy.
+ if(!_obtain)
+ {
+ destroyInternal(commit);
+ }
+ }
+
+ private void
+ destroyInternal(boolean commit)
+ {
+ // Release all resources.
+ try
+ {
+ if(commit)
+ {
+ _conn.commit();
+ if(_trace)
+ {
+ _logger.trace("SQLRequestContext", "commit context: " + this);
+ }
+ }
+ else
+ {
+ _conn.rollback();
+ if(_trace)
+ {
+ _logger.trace("SQLRequestContext", "rollback context: " + this);
+ }
+ }
+
+ java.util.Iterator<java.sql.Statement> p = _statements.iterator();
+ while(p.hasNext())
+ {
+ p.next().close();
+ }
+ }
+ catch(java.sql.SQLException e)
+ {
+ error("SQLRequestContext", e);
+ }
+
+ _pool.release(_conn);
+
+ _statements.clear();
+ _conn = null;
+ }
+
+ // A map of threads to request contexts.
+ private static java.util.Map<Thread, SQLRequestContext> _contextMap =
+ new java.util.HashMap<Thread, SQLRequestContext>();
+
+ private static Ice.Logger _logger = null;
+ private static ConnectionPool _pool = null;
+
+ private boolean _trace = true;
+ private java.util.List<java.sql.Statement> _statements = new java.util.LinkedList<java.sql.Statement>();
+ private java.sql.Connection _conn;
+ private boolean _obtain = false;
+}
diff --git a/java/demo/Database/library/Scanner.java b/java/demo/Database/library/Scanner.java
new file mode 100644
index 00000000000..879396725b4
--- /dev/null
+++ b/java/demo/Database/library/Scanner.java
@@ -0,0 +1,283 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+class Scanner
+{
+ Scanner(Parser p)
+ {
+ _parser = p;
+ }
+
+ Token
+ nextToken()
+ {
+ String s = next();
+ if(s == null)
+ {
+ return null;
+ }
+
+ if(s.equals(";"))
+ {
+ return new Token(Token.TOK_SEMI);
+ }
+ else if(s.equals("help"))
+ {
+ return new Token(Token.TOK_HELP);
+ }
+ else if(s.equals("exit") || s.equals("quit"))
+ {
+ return new Token(Token.TOK_EXIT);
+ }
+ else if(s.equals("add"))
+ {
+ return new Token(Token.TOK_ADD_BOOK);
+ }
+ else if(s.equals("isbn"))
+ {
+ return new Token(Token.TOK_FIND_ISBN);
+ }
+ else if(s.equals("authors"))
+ {
+ return new Token(Token.TOK_FIND_AUTHORS);
+ }
+ else if(s.equals("title"))
+ {
+ return new Token(Token.TOK_FIND_TITLE);
+ }
+ else if(s.equals("next"))
+ {
+ return new Token(Token.TOK_NEXT_FOUND_BOOK);
+ }
+ else if(s.equals("current"))
+ {
+ return new Token(Token.TOK_PRINT_CURRENT);
+ }
+ else if(s.equals("rent"))
+ {
+ return new Token(Token.TOK_RENT_BOOK);
+ }
+ else if(s.equals("return"))
+ {
+ return new Token(Token.TOK_RETURN_BOOK);
+ }
+ else if(s.equals("remove"))
+ {
+ return new Token(Token.TOK_REMOVE_CURRENT);
+ }
+ else
+ {
+ return new Token(Token.TOK_STRING, s);
+ }
+ }
+
+ static private class EndOfInput extends Exception
+ {
+ }
+
+ private char
+ get()
+ throws EndOfInput
+ {
+ //
+ // If there is an character in the unget buffer, return it.
+ //
+ if(_unget)
+ {
+ _unget = false;
+ return _ungetChar;
+ }
+
+ //
+ // No current buffer?
+ //
+ if(_buf == null)
+ {
+ _buf = _parser.getInput();
+ _pos = 0;
+ if(_buf == null)
+ {
+ throw new EndOfInput();
+ }
+ }
+
+ //
+ // At the end-of-buffer?
+ //
+ while(_pos >= _buf.length())
+ {
+ _buf = null;
+ _pos = 0;
+ return '\n';
+ }
+
+ return _buf.charAt(_pos++);
+ }
+
+ //
+ // unget only works with one character.
+ //
+ private void
+ unget(char c)
+ {
+ assert(!_unget);
+ _unget = true;
+ _ungetChar = c;
+ }
+
+ private String
+ next()
+ {
+ //
+ // Eat any whitespace.
+ //
+ char c;
+ try
+ {
+ do
+ {
+ c = get();
+ }
+ while(Character.isWhitespace(c) && c != '\n');
+ }
+ catch(EndOfInput ignore)
+ {
+ return null;
+ }
+
+ StringBuffer buf = new StringBuffer();
+
+ if(c == ';' || c == '\n')
+ {
+ buf.append(';');
+ }
+ else if(c == '\'')
+ {
+ try
+ {
+ while(true)
+ {
+ c = get();
+ if(c == '\'')
+ {
+ break;
+ }
+ else
+ {
+ buf.append(c);
+ }
+ }
+ }
+ catch(EndOfInput e)
+ {
+ _parser.warning("EOF in string");
+ }
+ }
+ else if(c == '\"')
+ {
+ try
+ {
+ while(true)
+ {
+ c = get();
+ if(c == '\"')
+ {
+ break;
+ }
+ else if(c == '\\')
+ {
+ try
+ {
+ char next = get();
+ switch(next)
+ {
+ case '\\':
+ case '"':
+ {
+ buf.append(next);
+ break;
+ }
+
+ case 'n':
+ {
+ buf.append('\n');
+ break;
+ }
+
+ case 'r':
+ {
+ buf.append('\r');
+ break;
+ }
+
+ case 't':
+ {
+ buf.append('\t');
+ break;
+ }
+
+ case 'f':
+ {
+ buf.append('\f');
+ break;
+ }
+
+ default:
+ {
+ buf.append(c);
+ unget(next);
+ }
+ }
+ }
+ catch(EndOfInput e)
+ {
+ buf.append(c);
+ }
+ }
+ else
+ {
+ buf.append(c);
+ }
+ }
+ }
+ catch(EndOfInput e)
+ {
+ _parser.warning("EOF in string");
+ }
+ }
+ else
+ {
+ //
+ // Otherwise it's a string.
+ //
+ try
+ {
+ do
+ {
+ buf.append(c);
+ c = get();
+ }
+ while(!Character.isWhitespace(c) && c != ';' && c != '\n');
+
+ unget(c);
+ }
+ catch(EndOfInput ignore)
+ {
+ }
+ }
+
+ return buf.toString();
+ }
+
+ private Parser _parser;
+ private boolean _unget = false;
+ private char _ungetChar;
+ private String _buf = null;
+ private int _pos;
+}
diff --git a/java/demo/Database/library/Server.java b/java/demo/Database/library/Server.java
new file mode 100644
index 00000000000..b2e66386ffa
--- /dev/null
+++ b/java/demo/Database/library/Server.java
@@ -0,0 +1,142 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class LibraryServer extends Ice.Application
+{
+ static class LocatorI implements Ice.ServantLocator
+ {
+ public Ice.Object
+ locate(Ice.Current c, Ice.LocalObjectHolder cookie)
+ {
+ assert c.id.category.equals("book");
+ return _servant;
+ }
+
+ public void
+ finished(Ice.Current c, Ice.Object servant, Object cookie)
+ {
+ }
+
+ public void
+ deactivate(String category)
+ {
+ }
+
+ LocatorI(Ice.Object servant)
+ {
+ _servant = new DispatchInterceptorI(servant);
+ }
+
+ private Ice.Object _servant;
+ }
+
+ public int
+ run(String[] args)
+ {
+ args = communicator().getProperties().parseCommandLineOptions("JDBC", args);
+
+ if(args.length > 0)
+ {
+ System.err.println(appName() + ": too many arguments");
+ return 1;
+ }
+
+ Ice.Properties properties = communicator().getProperties();
+
+ String username = properties.getProperty("JDBC.Username");
+ String password = properties.getProperty("JDBC.Password");
+ String url = properties.getProperty("JDBC.Url");
+ int nConnections = properties.getPropertyAsIntWithDefault("JDBC.NumConnections", 5);
+ if(nConnections < 1)
+ {
+ nConnections = 1;
+ }
+ ConnectionPool pool = null;
+ Ice.Logger logger = communicator().getLogger();
+
+ try
+ {
+ Class.forName("com.mysql.jdbc.Driver").newInstance();
+ }
+ catch(Exception e)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ e.printStackTrace(pw);
+ pw.flush();
+ System.err.println("failed to initialize mysql driver:\n" + sw.toString());
+ return 1;
+ }
+
+ try
+ {
+ pool = new ConnectionPool(logger, url, username, password, nConnections);
+ }
+ catch(java.sql.SQLException e)
+ {
+ java.io.StringWriter sw = new java.io.StringWriter();
+ java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+ e.printStackTrace(pw);
+ pw.flush();
+ System.err.println("failed to create connection pool: SQLException:\n" + sw.toString());
+ return 1;
+ }
+
+ long timeout = properties.getPropertyAsIntWithDefault("SessionTimeout", 30);
+
+ ReapThread reaper = new ReapThread(logger, timeout);
+ reaper.start();
+
+ //
+ // Create an object adapter
+ //
+ Ice.ObjectAdapter adapter = communicator().createObjectAdapter("SessionFactory");
+
+ SQLRequestContext.initialize(logger, pool);
+ adapter.addServantLocator(new LocatorI(new BookI()), "book");
+
+ adapter.add(new SessionFactoryI(logger, reaper, timeout), communicator().stringToIdentity("SessionFactory"));
+ adapter.add(new Glacier2SessionManagerI(logger, reaper),
+ communicator().stringToIdentity("LibrarySessionManager"));
+
+ //
+ // Everything ok, let's go.
+ //
+ adapter.activate();
+
+ shutdownOnInterrupt();
+ communicator().waitForShutdown();
+ defaultInterrupt();
+
+ reaper.terminate();
+ try
+ {
+ reaper.join();
+ }
+ catch(InterruptedException e)
+ {
+ }
+
+ pool.destroy();
+
+ return 0;
+ }
+}
+
+public class Server
+{
+ static public void
+ main(String[] args)
+ {
+ LibraryServer app = new LibraryServer();
+ app.main("demo.Database.library.Server", args, "config.server");
+ }
+}
diff --git a/java/demo/Database/library/Session.ice b/java/demo/Database/library/Session.ice
new file mode 100644
index 00000000000..5640227eb05
--- /dev/null
+++ b/java/demo/Database/library/Session.ice
@@ -0,0 +1,82 @@
+// **********************************************************************
+//
+// 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 LIBRARY_SESSION_ICE
+#define LIBRARY_SESSION_ICE
+
+module Demo
+{
+
+/* Forward declaration. */
+interface Library;
+
+/**
+ *
+ * The session object. This is used to retrieve a per-session library
+ * on behalf of the client. If the session is not refreshed on a
+ * periodic basis, it will be automatically destroyed.
+ *
+ */
+interface Session
+{
+ /**
+ *
+ * Get the library object.
+ *
+ * @return A proxy for the new library.
+ *
+ **/
+ Library* getLibrary();
+
+ /**
+ *
+ * Refresh a session. If a session is not refreshed on a regular
+ * basis by the client, it will be automatically destroyed.
+ *
+ **/
+ idempotent void refresh();
+
+ /**
+ *
+ * Destroy the session.
+ *
+ **/
+ void destroy();
+};
+
+/**
+ *
+ * Interface to create new sessions.
+ *
+ **/
+interface SessionFactory
+{
+ /**
+ *
+ * Create a session.
+ *
+ * @return A proxy to the session.
+ *
+ **/
+ Session* create();
+
+ /**
+ *
+ * Get the value of the session timeout. Sessions are destroyed
+ * if they see no activity for this period of time.
+ *
+ * @return The timeout (in seconds).
+ *
+ **/
+ ["nonmutating", "cpp:const"] idempotent long getSessionTimeout();
+};
+
+};
+
+#endif
diff --git a/java/demo/Database/library/SessionFactoryI.java b/java/demo/Database/library/SessionFactoryI.java
new file mode 100644
index 00000000000..31ab6716cd3
--- /dev/null
+++ b/java/demo/Database/library/SessionFactoryI.java
@@ -0,0 +1,46 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class SessionFactoryI extends _SessionFactoryDisp
+{
+ public synchronized SessionPrx
+ create(Ice.Current c)
+ {
+ SessionI session = new SessionI(_logger, c.adapter);
+ _SessionTie servant = new _SessionTie(session);
+
+ SessionPrx proxy = SessionPrxHelper.uncheckedCast(c.adapter.addWithUUID(servant));
+
+ _logger.trace("SessionFactory", "create new session: " +
+ c.adapter.getCommunicator().identityToString(proxy.ice_getIdentity()));
+
+ _reaper.add(proxy, session);
+
+ return proxy;
+ }
+
+ public long
+ getSessionTimeout(Ice.Current c)
+ {
+ return _timeout;
+ }
+
+ SessionFactoryI(Ice.Logger logger, ReapThread reaper, long timeout)
+ {
+ _logger = logger;
+ _reaper = reaper;
+ _timeout = timeout;
+ }
+
+ private Ice.Logger _logger;
+ private ReapThread _reaper;
+ private long _timeout;
+}
diff --git a/java/demo/Database/library/SessionI.java b/java/demo/Database/library/SessionI.java
new file mode 100644
index 00000000000..6b213e9b0ab
--- /dev/null
+++ b/java/demo/Database/library/SessionI.java
@@ -0,0 +1,96 @@
+// **********************************************************************
+//
+// 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 Demo.*;
+
+class SessionI implements _SessionOperations, _Glacier2SessionOperations
+{
+ synchronized public LibraryPrx
+ getLibrary(Ice.Current c)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ return _library;
+ }
+
+ synchronized public void
+ refresh(Ice.Current c)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ _timestamp = System.currentTimeMillis();
+ }
+
+ synchronized public long
+ getSessionTimeout(Ice.Current c)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ return 5000;
+ }
+
+ synchronized public void
+ destroy(Ice.Current c)
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+
+ _destroyed = true;
+ _logger.trace("Session", "session " + c.adapter.getCommunicator().identityToString(c.id) +
+ " is now destroyed.");
+
+ // This method is never called on shutdown of the server.
+ _libraryI.destroy();
+ c.adapter.remove(_library.ice_getIdentity());
+ c.adapter.remove(c.id);
+ }
+
+ // Called on application shutdown.
+ synchronized public void
+ shutdown()
+ {
+ if(!_destroyed)
+ {
+ _destroyed = true;
+ _libraryI.shutdown();
+ }
+ }
+
+ synchronized public long
+ timestamp()
+ {
+ if(_destroyed)
+ {
+ throw new Ice.ObjectNotExistException();
+ }
+ return _timestamp;
+ }
+
+ SessionI(Ice.Logger logger, Ice.ObjectAdapter adapter)
+ {
+ _logger = logger;
+ _timestamp = System.currentTimeMillis();
+ _libraryI = new LibraryI();
+ _library = LibraryPrxHelper.uncheckedCast(adapter.addWithUUID(new DispatchInterceptorI(_libraryI)));
+ }
+
+ private Ice.Logger _logger;
+ private boolean _destroyed = false; // true if destroy() was called, false otherwise.
+ private long _timestamp; // The last time the session was refreshed.
+ private LibraryPrx _library;
+ private LibraryI _libraryI;
+}
diff --git a/java/demo/Database/library/Token.java b/java/demo/Database/library/Token.java
new file mode 100644
index 00000000000..348edff9b58
--- /dev/null
+++ b/java/demo/Database/library/Token.java
@@ -0,0 +1,40 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+class Token
+{
+ public static final int TOK_HELP = 0;
+ public static final int TOK_EXIT = 1;
+ public static final int TOK_ADD_BOOK = 2;
+ public static final int TOK_FIND_ISBN = 3;
+ public static final int TOK_FIND_AUTHORS = 4;
+ public static final int TOK_FIND_TITLE = 5;
+ public static final int TOK_NEXT_FOUND_BOOK = 6;
+ public static final int TOK_PRINT_CURRENT = 7;
+ public static final int TOK_RENT_BOOK = 8;
+ public static final int TOK_RETURN_BOOK = 9;
+ public static final int TOK_REMOVE_CURRENT = 10;
+ public static final int TOK_STRING = 11;
+ public static final int TOK_SEMI = 12;
+
+ int type;
+ String value;
+
+ Token(int t)
+ {
+ type = t;
+ value = null;
+ }
+
+ Token(int t, String v)
+ {
+ type = t;
+ value = v;
+ }
+}
diff --git a/java/demo/Database/library/books b/java/demo/Database/library/books
new file mode 100644
index 00000000000..18836dbdba6
--- /dev/null
+++ b/java/demo/Database/library/books
@@ -0,0 +1,30 @@
+add '096447963X' 'The Dragon Style (Learn to Play Go, Volume III)' 'Janice Kim, Jeong Soo-Hyun' ;
+add '0964479613' "Learn to Play Go: A Master's Guide to the Ultimate Game (Volume I)" 'Janice Kim, Jeong Soo-Hyun' ;
+add '0964479621' 'The Way of the Moving Horse (Learn to Play Go, Volume II)' 'Janice Kim, Jeong Soo-Hyun' ;
+add '0964479648' 'Battle Strategies (Learn to Play Go Series)' 'Janice Kim, Jeong Soo-Hyun' ;
+add '0201889544' 'The C++ Programming Language' 'Bjarne Stroustrup' ;
+add '0201543303' 'The Design and Evolution of C++' 'Bjarne Stroustrup' ;
+add '0201700735' 'The C++ Programming Language Special Edition' 'Bjarne Stroustrup' ;
+add '0201379260' 'The C++ Standard Library : A Tutorial and Reference' 'Nicolai M. Josuttis' ;
+add '0201749629' 'Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library' 'Scott Meyers' ;
+add '0201924889' 'Effective C++: 50 Specific Ways to Improve Your Programs and Design' 'Scott Meyers' ;
+add '020163371X' 'More Effective C++: 35 New Ways to Improve Your Programs and Designs' 'Scott Meyers' ;
+add '0201615622' 'Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions' 'Herb Sutter' ;
+add '020170434X' 'More Exceptional C++' 'Herb Sutter' ;
+add '0201704315' 'Modern C++ Design: Generic Programming and Design Patterns Applied' 'Andrei Alexandrescu' ;
+add '0735616353' 'Microsoft Visual C++ .NET Deluxe Learning Edition' 'Microsoft Corporation' ;
+add '0735615497' 'Programming with Microsoft Visual C++ .NET, Sixth Edition (Core Reference)' 'George Shepherd, David Kruglinski' ;
+add '0735614229' 'Applied Microsoft .NET Framework Programming' 'Jeffrey Richter' ;
+add '0201824701' 'C++ Primer' 'Stanley B. Lippman, Josee Lajoie' ;
+add '0201485184' 'Essential C++' 'Stanley B. Lippman' ;
+add '020170353X' 'Accelerated C++: Practical Programming by Example' 'Andrew Koenig, Barbara E. Moo' ;
+add '0201423391' 'Ruminations on C++ : A Decade of Programming Insight and Experience' 'Andrew Koenig, Barbara E. Moo' ;
+add '0201179288' 'C Traps and Pitfalls' 'Andrew Koenig' ;
+add '0131103628' 'The C Programming Language' 'Brian W. Kernighan, Dennis M. Ritchie' ;
+add '020161586X' 'The Practice of Programming' 'Brian W. Kernighan, Rob Pike' ;
+add '013937681X' 'UNIX Programming Environment, The' 'Brian W. Kernighan, Rob Pike' ;
+add '0201563177' 'Advanced Programming in the UNIX(R) Environment' 'W. Richard Stevens' ;
+add '0201633469' 'The Protocols (TCP/IP Illustrated, Volume 1)' 'W. Richard Stevens' ;
+add '0201634953' 'TCP for Transactions, HTTP, NNTP, and the UNIX(R) Domain Protocols (TCP/IP Illustrated, Volume 3)' 'W. Richard Stevens' ;
+add '013490012X' 'UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI' 'W. Richard Stevens' ;
+add '0130810819' 'UNIX Network Programming: Interprocess Communications' 'W. Richard Stevens' ;
diff --git a/java/test/Ice/checksum/client/build.xml b/java/demo/Database/library/build.xml
index b7364c8cc52..915b235a438 100644
--- a/java/test/Ice/checksum/client/build.xml
+++ b/java/demo/Database/library/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -9,36 +9,40 @@
**********************************************************************
-->
-<project name="test_Ice_checksum_client" default="all" basedir=".">
+<project name="demo_Database_library" default="all" basedir=".">
<!-- set global properties for this build -->
- <property name="top.dir" value="../../../.."/>
-
+ <property name="top.dir" value="../../.."/>
+
<!-- import common definitions -->
<import file="${top.dir}/config/common.xml"/>
<target name="generate" depends="init">
<!-- Create the output directory for generated code -->
<mkdir dir="${generated.dir}"/>
- <slice2java outputdir="${generated.dir}" checksum="SliceChecksums">
- <meta value="${java2metadata}"/>
- <fileset dir="." includes="Test.ice Types.ice"/>
+ <slice2java outputdir="${generated.dir}" tie="on">
+ <meta value="${java2metadata}"/>
<includepath>
<pathelement path="${slice.dir}" />
</includepath>
+ <fileset dir="." includes="Library.ice"/>
+ <fileset dir="." includes="Session.ice"/>
+ <fileset dir="." includes="Glacier2Session.ice"/>
</slice2java>
</target>
<target name="compile" depends="generate">
<mkdir dir="${class.dir}"/>
- <javac srcdir="${generated.dir}" destdir="${class.dir}" classpathref="ice.classpath"
- debug="${debug}">
- <compilerarg value="${javac.lint}"/>
- </javac>
- <javac srcdir="." destdir="${class.dir}" classpathref="ice.classpath" excludes="generated/**"
- debug="${debug}">
- <compilerarg value="${javac.lint}"/>
- </javac>
+ <javac srcdir="${generated.dir}" destdir="${class.dir}"
+ debug="${debug}">
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ <javac srcdir="." destdir="${class.dir}"
+ excludes="generated/**" debug="${debug}">
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
</target>
<target name="all" depends="compile"/>
diff --git a/java/demo/Database/library/config.client b/java/demo/Database/library/config.client
new file mode 100644
index 00000000000..978ddf615e7
--- /dev/null
+++ b/java/demo/Database/library/config.client
@@ -0,0 +1,62 @@
+#
+# The client reads this property to create the reference to the
+# "SessionFactory" object in the server.
+#
+SessionFactory.Proxy=SessionFactory:default -p 10000
+
+#
+# The proxy to the Glacier2 router for all outgoing connections. This
+# must match the value of Glacier2.Client.Endpoints in config.glacier2.
+#
+#Ice.Default.Router=DemoGlacier2/router:ssl -p 4064 -h 127.0.0.1
+
+#
+# No active connection management is permitted because of the session
+# interfaces. Connections must remain established.
+#
+Ice.ACM.Client=0
+
+#
+# Connection retry is not possible because of the session
+# interfaces. Connections must remain established.
+#
+Ice.RetryIntervals=-1
+
+#
+# Warn about connection exceptions
+#
+#Ice.Warn.Connections=1
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL.PluginFactory
+IceSSL.DefaultDir=../../../../certs
+IceSSL.Truststore=certs.jks
+IceSSL.TrustOnly.Client=CN=Server
diff --git a/java/demo/Database/library/config.glacier2 b/java/demo/Database/library/config.glacier2
new file mode 100644
index 00000000000..053dbff990b
--- /dev/null
+++ b/java/demo/Database/library/config.glacier2
@@ -0,0 +1,55 @@
+#
+# Set the Glacier2 instance name.
+#
+Glacier2.InstanceName=DemoGlacier2
+
+#
+# The client-visible endpoint of Glacier2. This should be an endpoint
+# visible from the public Internet, and it should be secure.
+#
+Glacier2.Client.Endpoints=ssl -p 4064 -h 127.0.0.1
+
+#
+# The server-visible endpoint of Glacier2. This endpoint is only
+# required if callbacks are needed (leave empty otherwise). This
+# should be an endpoint on an internal network (like 192.168.x.x), or
+# on the loopback, so that the server is not directly accessible from
+# the Internet.
+#
+Glacier2.Server.Endpoints=tcp -h 127.0.0.1
+
+#
+# The proxy of the session manager.
+#
+Glacier2.SessionManager=LibrarySessionManager:tcp -h 127.0.0.1 -p 10000
+
+#
+# For this demo, we use the null permissions verifier. This permissions
+# verifier allows any user-id / password combination.
+#
+Glacier2.PermissionsVerifier=DemoGlacier2/NullPermissionsVerifier
+
+#
+# The timeout for inactive sessions. If any client session is inactive
+# for longer than this value, the session expires and is removed. The
+# unit is seconds.
+#
+Glacier2.SessionTimeout=30
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+IceSSL.Trace.Security=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
+IceSSL.VerifyPeer=0
diff --git a/java/demo/Database/library/config.server b/java/demo/Database/library/config.server
new file mode 100644
index 00000000000..ef3eef86199
--- /dev/null
+++ b/java/demo/Database/library/config.server
@@ -0,0 +1,64 @@
+#
+# Configure the server endpoints.
+#
+SessionFactory.Endpoints=tcp -p 10000:ssl -p 10001
+
+# JDBC configuration.
+JDBC.Username=USER
+JDBC.Password=PASSWORD
+JDBC.Url=jdbc:mysql://localhost/library
+
+# The number of connections in the JDBC connection pool. This number
+# should be at least as big as the number of the threads in the server
+# thread pool.
+JDBC.NumConnections=5
+
+# Number of threads in the server-side dispatch thread pool.
+Ice.ThreadPool.Server.Size=5
+
+#
+# How long to keep sessions alive with no activity. Its best to use
+# the same value as config.glacier2.
+#
+SessionTimeout=30
+
+#
+# Warn about connection exceptions
+#
+Ice.Warn.Connections=1
+
+#
+# Network Tracing
+#
+# 0 = no network tracing
+# 1 = trace connection establishment and closure
+# 2 = like 1, but more detailed
+# 3 = like 2, but also trace data transfer
+#
+#Ice.Trace.Network=1
+
+#
+# Protocol Tracing
+#
+# 0 = no protocol tracing
+# 1 = trace protocol messages
+#
+#Ice.Trace.Protocol=1
+
+#
+# Security Tracing
+#
+# 0 = no security tracing
+# 1 = trace messages
+#
+#IceSSL.Trace.Security=1
+
+#
+# SSL Configuration
+#
+Ice.Plugin.IceSSL=IceSSL.PluginFactory
+IceSSL.VerifyPeer=0
+IceSSL.DefaultDir=../../../../certs
+IceSSL.Keystore=server.jks
+IceSSL.Password=password
+IceSSL.Truststore=certs.jks
diff --git a/java/demo/Database/library/createTypes.sql b/java/demo/Database/library/createTypes.sql
new file mode 100644
index 00000000000..d6d1b5a5d2c
--- /dev/null
+++ b/java/demo/Database/library/createTypes.sql
@@ -0,0 +1,43 @@
+# **********************************************************************
+#
+# 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.
+#
+# **********************************************************************
+#
+# Initialize SQL tables.
+#
+DROP TABLE IF EXISTS books;
+CREATE TABLE books
+(
+ id INT UNSIGNED AUTO_INCREMENT NOT NULL,
+ PRIMARY KEY (id),
+ isbn CHAR(10),
+ title VARCHAR(255),
+ renter_id INT
+) ENGINE=InnoDB;
+
+DROP TABLE IF EXISTS authors_books;
+CREATE TABLE authors_books
+(
+ book_id INT,
+ author_id INT
+) ENGINE=InnoDB;
+
+DROP TABLE IF EXISTS authors;
+CREATE TABLE authors
+(
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY(id),
+ name VARCHAR(255)
+) ENGINE=InnoDB;
+
+DROP TABLE IF EXISTS customers;
+CREATE TABLE customers
+(
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY(id),
+ name VARCHAR(255)
+) ENGINE=InnoDB;
diff --git a/java/demo/Freeze/bench/Client.java b/java/demo/Freeze/bench/Client.java
index 6492a3da01d..946dae1c76d 100644
--- a/java/demo/Freeze/bench/Client.java
+++ b/java/demo/Freeze/bench/Client.java
@@ -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.
@@ -9,13 +9,8 @@
import Demo.*;
-class TestApp extends Ice.Application
+class Client extends Ice.Application
{
- TestApp(String envName)
- {
- _envName = envName;
- }
-
void
IntIntMapTest(Freeze.Map m, boolean fast)
{
@@ -594,18 +589,20 @@ class TestApp extends Ice.Application
}
}
- private Freeze.Connection _connection;
- private int _repetitions = 10000;
- private StopWatch _watch = new StopWatch();
- private String _envName;
-}
+ Client(String envName)
+ {
+ _envName = envName;
+ }
-public class Client
-{
static public void
main(String[] args)
{
- TestApp app = new TestApp("db");
- app.main("test.Freeze.bench.Client", args);
+ Client app = new Client("db");
+ app.main("demo.Freeze.bench.Client", args);
}
+
+ private Freeze.Connection _connection;
+ private int _repetitions = 10000;
+ private StopWatch _watch = new StopWatch();
+ private String _envName;
}
diff --git a/java/demo/Freeze/bench/StopWatch.java b/java/demo/Freeze/bench/StopWatch.java
index fbffe6ab85a..f4de9f0d643 100644
--- a/java/demo/Freeze/bench/StopWatch.java
+++ b/java/demo/Freeze/bench/StopWatch.java
@@ -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/java/demo/Freeze/bench/Test.ice b/java/demo/Freeze/bench/Test.ice
index a4bec5eed77..fd6988197fd 100644
--- a/java/demo/Freeze/bench/Test.ice
+++ b/java/demo/Freeze/bench/Test.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/java/demo/Freeze/bench/build.xml b/java/demo/Freeze/bench/build.xml
index 0c27f052934..420ed9850c5 100644
--- a/java/demo/Freeze/bench/build.xml
+++ b/java/demo/Freeze/bench/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/bench/expect.py b/java/demo/Freeze/bench/expect.py
index 8cb0124e45f..e260be464a0 100755
--- a/java/demo/Freeze/bench/expect.py
+++ b/java/demo/Freeze/bench/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/java/demo/Freeze/build.xml b/java/demo/Freeze/build.xml
index 179419d37d3..177f3834eda 100644
--- a/java/demo/Freeze/build.xml
+++ b/java/demo/Freeze/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/casino/BankI.java b/java/demo/Freeze/casino/BankI.java
index 4de5a3455bf..4c062f6cfdd 100644
--- a/java/demo/Freeze/casino/BankI.java
+++ b/java/demo/Freeze/casino/BankI.java
@@ -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/java/demo/Freeze/casino/BetI.java b/java/demo/Freeze/casino/BetI.java
index 48358679e66..d4deb31a058 100644
--- a/java/demo/Freeze/casino/BetI.java
+++ b/java/demo/Freeze/casino/BetI.java
@@ -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/java/demo/Freeze/casino/BetResolver.java b/java/demo/Freeze/casino/BetResolver.java
index a4469f17eca..f10bb3cfd47 100644
--- a/java/demo/Freeze/casino/BetResolver.java
+++ b/java/demo/Freeze/casino/BetResolver.java
@@ -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/java/demo/Freeze/casino/Casino.ice b/java/demo/Freeze/casino/Casino.ice
index 4ed9c9b6eca..35982a8d057 100644
--- a/java/demo/Freeze/casino/Casino.ice
+++ b/java/demo/Freeze/casino/Casino.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/java/demo/Freeze/casino/CasinoStore.ice b/java/demo/Freeze/casino/CasinoStore.ice
index 990a5a026e5..f240f1a9a2e 100644
--- a/java/demo/Freeze/casino/CasinoStore.ice
+++ b/java/demo/Freeze/casino/CasinoStore.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/java/demo/Freeze/casino/Client.java b/java/demo/Freeze/casino/Client.java
index 6e33d89b52f..d5e5965c31f 100644
--- a/java/demo/Freeze/casino/Client.java
+++ b/java/demo/Freeze/casino/Client.java
@@ -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/java/demo/Freeze/casino/PlayerI.java b/java/demo/Freeze/casino/PlayerI.java
index 097daa453f6..2bc792b2e65 100644
--- a/java/demo/Freeze/casino/PlayerI.java
+++ b/java/demo/Freeze/casino/PlayerI.java
@@ -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/java/demo/Freeze/casino/Server.java b/java/demo/Freeze/casino/Server.java
index 298b540d4b3..cf1cbde5922 100644
--- a/java/demo/Freeze/casino/Server.java
+++ b/java/demo/Freeze/casino/Server.java
@@ -1,13 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-class CasinoServer extends Ice.Application
+class Server extends Ice.Application
{
static class ObjectFactory implements Ice.ObjectFactory
{
@@ -223,11 +223,18 @@ class CasinoServer extends Ice.Application
return 0;
}
- CasinoServer(String envName)
+ Server(String envName)
{
_envName = envName;
}
+ static public void
+ main(String[] args)
+ {
+ Server app = new Server("db");
+ app.main("demo.Freeze.casino.Server", args, "config.server");
+ }
+
private String _envName;
private CasinoStore.PersistentBankPrx _bankPrx;
@@ -237,13 +244,3 @@ class CasinoServer extends Ice.Application
private BetResolver _betResolver;
private int _bankEdge;
}
-
-public class Server
-{
- static public void
- main(String[] args)
- {
- CasinoServer app = new CasinoServer("db");
- app.main("demo.Freeze.casino.Server", args, "config.server");
- }
-}
diff --git a/java/demo/Freeze/casino/build.xml b/java/demo/Freeze/casino/build.xml
index 9a9b6cf5b4c..cec4df18549 100644
--- a/java/demo/Freeze/casino/build.xml
+++ b/java/demo/Freeze/casino/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/casino/expect.py b/java/demo/Freeze/casino/expect.py
index e77867c61ba..93817ecc9fe 100755
--- a/java/demo/Freeze/casino/expect.py
+++ b/java/demo/Freeze/casino/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/java/demo/Freeze/library/BookFactory.java b/java/demo/Freeze/library/BookFactory.java
index 7a4faf0b02f..8d6171ed1fd 100644
--- a/java/demo/Freeze/library/BookFactory.java
+++ b/java/demo/Freeze/library/BookFactory.java
@@ -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/java/demo/Freeze/library/BookI.java b/java/demo/Freeze/library/BookI.java
index b1c1c350e07..906147bf8d6 100644
--- a/java/demo/Freeze/library/BookI.java
+++ b/java/demo/Freeze/library/BookI.java
@@ -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/java/demo/Freeze/library/Client.java b/java/demo/Freeze/library/Client.java
index 8a181ef1519..e857f90975f 100644
--- a/java/demo/Freeze/library/Client.java
+++ b/java/demo/Freeze/library/Client.java
@@ -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/java/demo/Freeze/library/Collocated.java b/java/demo/Freeze/library/Collocated.java
index 8d5c033c2d7..7e275e1d229 100644
--- a/java/demo/Freeze/library/Collocated.java
+++ b/java/demo/Freeze/library/Collocated.java
@@ -1,13 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-class LibraryCollocated extends Ice.Application
+class Collocated extends Ice.Application
{
class ShutdownHook extends Thread
{
@@ -76,20 +76,17 @@ class LibraryCollocated extends Ice.Application
return status;
}
- LibraryCollocated(String envName)
+ Collocated(String envName)
{
_envName = envName;
}
- private String _envName;
-}
-
-public class Collocated
-{
static public void
main(String[] args)
{
- LibraryCollocated app = new LibraryCollocated("db");
+ Collocated app = new Collocated("db");
app.main("demo.Freeze.library.Collocated", args, "config.collocated");
}
+
+ private String _envName;
}
diff --git a/java/demo/Freeze/library/Grammar.java b/java/demo/Freeze/library/Grammar.java
index 9032257c507..c261cc0921e 100644
--- a/java/demo/Freeze/library/Grammar.java
+++ b/java/demo/Freeze/library/Grammar.java
@@ -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/java/demo/Freeze/library/Library.ice b/java/demo/Freeze/library/Library.ice
index 23d2c05105b..f01235e7561 100644
--- a/java/demo/Freeze/library/Library.ice
+++ b/java/demo/Freeze/library/Library.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/java/demo/Freeze/library/LibraryI.java b/java/demo/Freeze/library/LibraryI.java
index 99b95153720..94b9be5d916 100644
--- a/java/demo/Freeze/library/LibraryI.java
+++ b/java/demo/Freeze/library/LibraryI.java
@@ -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/java/demo/Freeze/library/Parser.java b/java/demo/Freeze/library/Parser.java
index bcaab37fdcb..8d2c5256f70 100644
--- a/java/demo/Freeze/library/Parser.java
+++ b/java/demo/Freeze/library/Parser.java
@@ -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/java/demo/Freeze/library/RunParser.java b/java/demo/Freeze/library/RunParser.java
index 45467642219..44f37b46ff2 100644
--- a/java/demo/Freeze/library/RunParser.java
+++ b/java/demo/Freeze/library/RunParser.java
@@ -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/java/demo/Freeze/library/Scanner.java b/java/demo/Freeze/library/Scanner.java
index 0cab1b1e942..975eaece2dd 100644
--- a/java/demo/Freeze/library/Scanner.java
+++ b/java/demo/Freeze/library/Scanner.java
@@ -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/java/demo/Freeze/library/Server.java b/java/demo/Freeze/library/Server.java
index 08295ab1b44..2edfb823034 100644
--- a/java/demo/Freeze/library/Server.java
+++ b/java/demo/Freeze/library/Server.java
@@ -1,13 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-class LibraryServer extends Ice.Application
+class Server extends Ice.Application
{
public int
run(String[] args)
@@ -62,20 +62,17 @@ class LibraryServer extends Ice.Application
return 0;
}
- LibraryServer(String envName)
+ Server(String envName)
{
_envName = envName;
}
- private String _envName;
-}
-
-public class Server
-{
static public void
main(String[] args)
{
- LibraryServer app = new LibraryServer("db");
+ Server app = new Server("db");
app.main("demo.Freeze.library.Server", args, "config.server");
}
+
+ private String _envName;
}
diff --git a/java/demo/Freeze/library/Token.java b/java/demo/Freeze/library/Token.java
index 2664e64e655..f0a90f5b1c9 100644
--- a/java/demo/Freeze/library/Token.java
+++ b/java/demo/Freeze/library/Token.java
@@ -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/java/demo/Freeze/library/build.xml b/java/demo/Freeze/library/build.xml
index 34f2b41d529..ae9ae29f883 100644
--- a/java/demo/Freeze/library/build.xml
+++ b/java/demo/Freeze/library/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/library/expect.py b/java/demo/Freeze/library/expect.py
index ad23895a0d3..60d0fbac1f9 100755
--- a/java/demo/Freeze/library/expect.py
+++ b/java/demo/Freeze/library/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/java/demo/Freeze/phonebook/Client.java b/java/demo/Freeze/phonebook/Client.java
index 01dc1f55543..85b0d14d611 100644
--- a/java/demo/Freeze/phonebook/Client.java
+++ b/java/demo/Freeze/phonebook/Client.java
@@ -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/java/demo/Freeze/phonebook/Collocated.java b/java/demo/Freeze/phonebook/Collocated.java
index dbd82106400..47abe391520 100644
--- a/java/demo/Freeze/phonebook/Collocated.java
+++ b/java/demo/Freeze/phonebook/Collocated.java
@@ -1,13 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-class PhoneBookCollocated extends Ice.Application
+class Collocated extends Ice.Application
{
class ShutdownHook extends Thread
{
@@ -97,20 +97,17 @@ class PhoneBookCollocated extends Ice.Application
return status;
}
- PhoneBookCollocated(String envName)
+ Collocated(String envName)
{
_envName = envName;
}
- private String _envName;
-}
-
-public class Collocated
-{
static public void
main(String[] args)
{
- PhoneBookCollocated app = new PhoneBookCollocated("db");
+ Collocated app = new Collocated("db");
app.main("demo.Freeze.phonebook.Collocated", args, "config.collocated");
}
+
+ private String _envName;
}
diff --git a/java/demo/Freeze/phonebook/ContactFactory.java b/java/demo/Freeze/phonebook/ContactFactory.java
index 24ecedb0920..6f5a97e5fbd 100644
--- a/java/demo/Freeze/phonebook/ContactFactory.java
+++ b/java/demo/Freeze/phonebook/ContactFactory.java
@@ -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/java/demo/Freeze/phonebook/ContactI.java b/java/demo/Freeze/phonebook/ContactI.java
index 7bdbc85040d..283bd2cc5c2 100644
--- a/java/demo/Freeze/phonebook/ContactI.java
+++ b/java/demo/Freeze/phonebook/ContactI.java
@@ -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/java/demo/Freeze/phonebook/Grammar.java b/java/demo/Freeze/phonebook/Grammar.java
index ce3ec139295..803966e4977 100644
--- a/java/demo/Freeze/phonebook/Grammar.java
+++ b/java/demo/Freeze/phonebook/Grammar.java
@@ -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/java/demo/Freeze/phonebook/Parser.java b/java/demo/Freeze/phonebook/Parser.java
index c4ea6bf7aef..0fa49111b29 100644
--- a/java/demo/Freeze/phonebook/Parser.java
+++ b/java/demo/Freeze/phonebook/Parser.java
@@ -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/java/demo/Freeze/phonebook/PhoneBook.ice b/java/demo/Freeze/phonebook/PhoneBook.ice
index 8143fcd6ab4..72bab6fd30d 100644
--- a/java/demo/Freeze/phonebook/PhoneBook.ice
+++ b/java/demo/Freeze/phonebook/PhoneBook.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/java/demo/Freeze/phonebook/PhoneBookI.java b/java/demo/Freeze/phonebook/PhoneBookI.java
index 8b762024d84..9a557994dfc 100644
--- a/java/demo/Freeze/phonebook/PhoneBookI.java
+++ b/java/demo/Freeze/phonebook/PhoneBookI.java
@@ -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/java/demo/Freeze/phonebook/RunParser.java b/java/demo/Freeze/phonebook/RunParser.java
index cf86c3a42fd..6ff9febc3a4 100644
--- a/java/demo/Freeze/phonebook/RunParser.java
+++ b/java/demo/Freeze/phonebook/RunParser.java
@@ -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/java/demo/Freeze/phonebook/Scanner.java b/java/demo/Freeze/phonebook/Scanner.java
index d2b19b29c4f..db438f8fe5f 100644
--- a/java/demo/Freeze/phonebook/Scanner.java
+++ b/java/demo/Freeze/phonebook/Scanner.java
@@ -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/java/demo/Freeze/phonebook/Server.java b/java/demo/Freeze/phonebook/Server.java
index ba013f999dc..3dbf0d0d0d1 100644
--- a/java/demo/Freeze/phonebook/Server.java
+++ b/java/demo/Freeze/phonebook/Server.java
@@ -1,13 +1,13 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-class PhoneBookServer extends Ice.Application
+class Server extends Ice.Application
{
public int
run(String[] args)
@@ -82,20 +82,17 @@ class PhoneBookServer extends Ice.Application
return 0;
}
- PhoneBookServer(String envName)
+ Server(String envName)
{
_envName = envName;
}
- private String _envName;
-}
-
-public class Server
-{
static public void
main(String[] args)
{
- PhoneBookServer app = new PhoneBookServer("db");
+ Server app = new Server("db");
app.main("demo.Freeze.phonebook.Server", args, "config.server");
}
+
+ private String _envName;
}
diff --git a/java/demo/Freeze/phonebook/Token.java b/java/demo/Freeze/phonebook/Token.java
index 9de2eef452c..eb2ce1bd7c6 100644
--- a/java/demo/Freeze/phonebook/Token.java
+++ b/java/demo/Freeze/phonebook/Token.java
@@ -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/java/demo/Freeze/phonebook/build.xml b/java/demo/Freeze/phonebook/build.xml
index a90696ddc5c..233435b6cde 100644
--- a/java/demo/Freeze/phonebook/build.xml
+++ b/java/demo/Freeze/phonebook/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/phonebook/expect.py b/java/demo/Freeze/phonebook/expect.py
index 1b4300921b8..94519f0f460 100755
--- a/java/demo/Freeze/phonebook/expect.py
+++ b/java/demo/Freeze/phonebook/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/java/demo/Freeze/transform/ContactData.ice b/java/demo/Freeze/transform/ContactData.ice
index 156e4ce8ceb..0dc5bfb53a3 100644
--- a/java/demo/Freeze/transform/ContactData.ice
+++ b/java/demo/Freeze/transform/ContactData.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/java/demo/Freeze/transform/Create.java b/java/demo/Freeze/transform/Create.java
index 892244cb7d9..9086bf7c3e5 100644
--- a/java/demo/Freeze/transform/Create.java
+++ b/java/demo/Freeze/transform/Create.java
@@ -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.
@@ -81,6 +81,6 @@ class Create extends Ice.Application
main(String[] args)
{
Create app = new Create();
- app.main("test.Freeze.transform.Create", args);
+ app.main("demo.Freeze.transform.Create", args);
}
}
diff --git a/java/demo/Freeze/transform/NewContactData.ice b/java/demo/Freeze/transform/NewContactData.ice
index 473428fba13..97bb3c6e660 100644
--- a/java/demo/Freeze/transform/NewContactData.ice
+++ b/java/demo/Freeze/transform/NewContactData.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/java/demo/Freeze/transform/Read.java b/java/demo/Freeze/transform/Read.java
index 476ddd2b24c..028a067cbe1 100644
--- a/java/demo/Freeze/transform/Read.java
+++ b/java/demo/Freeze/transform/Read.java
@@ -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.
@@ -86,6 +86,6 @@ class Read extends Ice.Application
main(String[] args)
{
Read app = new Read();
- app.main("test.Freeze.transform.Read", args);
+ app.main("demo.Freeze.transform.Read", args);
}
}
diff --git a/java/demo/Freeze/transform/ReadNew.java b/java/demo/Freeze/transform/ReadNew.java
index 8759dd24dbe..cc87e25c91a 100644
--- a/java/demo/Freeze/transform/ReadNew.java
+++ b/java/demo/Freeze/transform/ReadNew.java
@@ -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.
@@ -92,6 +92,6 @@ class ReadNew extends Ice.Application
main(String[] args)
{
ReadNew app = new ReadNew();
- app.main("test.Freeze.transform.ReadNew", args);
+ app.main("demo.Freeze.transform.ReadNew", args);
}
}
diff --git a/java/demo/Freeze/transform/Recreate.java b/java/demo/Freeze/transform/Recreate.java
index 89bbe8ded56..709ccb05f03 100644
--- a/java/demo/Freeze/transform/Recreate.java
+++ b/java/demo/Freeze/transform/Recreate.java
@@ -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.
@@ -64,6 +64,6 @@ class Recreate extends Ice.Application
main(String[] args)
{
Recreate app = new Recreate();
- app.main("test.Freeze.transform.Recreate", args);
+ app.main("demo.Freeze.transform.Recreate", args);
}
}
diff --git a/java/demo/Freeze/transform/build.xml b/java/demo/Freeze/transform/build.xml
index ec4a9881dfb..cf84d604e26 100644
--- a/java/demo/Freeze/transform/build.xml
+++ b/java/demo/Freeze/transform/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Freeze/transform/expect.py b/java/demo/Freeze/transform/expect.py
index efc1c87eded..1a735cca7a7 100755
--- a/java/demo/Freeze/transform/expect.py
+++ b/java/demo/Freeze/transform/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/java/demo/Glacier2/build.xml b/java/demo/Glacier2/build.xml
index cb5c1197701..cfb2c825c15 100644
--- a/java/demo/Glacier2/build.xml
+++ b/java/demo/Glacier2/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Glacier2/callback/Callback.ice b/java/demo/Glacier2/callback/Callback.ice
index cf88e72cb89..f6eb62c7fc9 100644
--- a/java/demo/Glacier2/callback/Callback.ice
+++ b/java/demo/Glacier2/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/java/demo/Glacier2/callback/CallbackI.java b/java/demo/Glacier2/callback/CallbackI.java
index 4378869ec84..2013f349ded 100644
--- a/java/demo/Glacier2/callback/CallbackI.java
+++ b/java/demo/Glacier2/callback/CallbackI.java
@@ -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/java/demo/Glacier2/callback/CallbackReceiverI.java b/java/demo/Glacier2/callback/CallbackReceiverI.java
index 8e6ff9bd523..92374aeb750 100644
--- a/java/demo/Glacier2/callback/CallbackReceiverI.java
+++ b/java/demo/Glacier2/callback/CallbackReceiverI.java
@@ -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/java/demo/Glacier2/callback/Client.java b/java/demo/Glacier2/callback/Client.java
index 28473d952d2..8f3eba5a129 100644
--- a/java/demo/Glacier2/callback/Client.java
+++ b/java/demo/Glacier2/callback/Client.java
@@ -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/java/demo/Glacier2/callback/Server.java b/java/demo/Glacier2/callback/Server.java
index bfaf4b019fc..8ba2f8e3336 100644
--- a/java/demo/Glacier2/callback/Server.java
+++ b/java/demo/Glacier2/callback/Server.java
@@ -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/java/demo/Glacier2/callback/SessionI.java b/java/demo/Glacier2/callback/SessionI.java
index 66c2bba8c06..dcde51ee743 100644
--- a/java/demo/Glacier2/callback/SessionI.java
+++ b/java/demo/Glacier2/callback/SessionI.java
@@ -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/java/demo/Glacier2/callback/SessionManagerI.java b/java/demo/Glacier2/callback/SessionManagerI.java
index aee1627213e..fedb807dd8a 100644
--- a/java/demo/Glacier2/callback/SessionManagerI.java
+++ b/java/demo/Glacier2/callback/SessionManagerI.java
@@ -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/java/demo/Glacier2/callback/SessionServer.java b/java/demo/Glacier2/callback/SessionServer.java
index 98524bf55c3..e1af132c9d9 100644
--- a/java/demo/Glacier2/callback/SessionServer.java
+++ b/java/demo/Glacier2/callback/SessionServer.java
@@ -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/java/demo/Glacier2/callback/build.xml b/java/demo/Glacier2/callback/build.xml
index bd57a2ee23a..35ca424f1f0 100644
--- a/java/demo/Glacier2/callback/build.xml
+++ b/java/demo/Glacier2/callback/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Glacier2/callback/expect.py b/java/demo/Glacier2/callback/expect.py
index 4a9675316dc..224a9a8e193 100755
--- a/java/demo/Glacier2/callback/expect.py
+++ b/java/demo/Glacier2/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/java/demo/Ice/README b/java/demo/Ice/README
index ed7506e7146..6a9eceee376 100644
--- a/java/demo/Ice/README
+++ b/java/demo/Ice/README
@@ -1,9 +1,14 @@
Demos in this directory:
+- applet
+
+ An unsigned applet that demonstrates how to use Asynchronous Method
+ Invocation (AMI) in a graphical client.
+
- async
- This demo illustrates the use of Asynchronous Message Invocation
- (AMI) and Asynchronous Message Dispatch (AMD).
+ This demo illustrates the use of Asynchronous Method Invocation
+ (AMI) and Asynchronous Method Dispatch (AMD).
- bidir
diff --git a/java/demo/Ice/applet/.gitignore b/java/demo/Ice/applet/.gitignore
new file mode 100644
index 00000000000..e5786e5ddd4
--- /dev/null
+++ b/java/demo/Ice/applet/.gitignore
@@ -0,0 +1 @@
+Hello.jar
diff --git a/java/test/Glacier2/attack/Backend.ice b/java/demo/Ice/applet/Hello.ice
index 5e93560db7c..b5c9e4a599e 100644
--- a/java/test/Glacier2/attack/Backend.ice
+++ b/java/demo/Ice/applet/Hello.ice
@@ -1,21 +1,22 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
-#ifndef BACKEND_ICE
-#define BACKEND_ICE
+#ifndef HELLO_ICE
+#define HELLO_ICE
-module Test
+module Demo
{
-interface Backend
+interface Hello
{
- void shutdown();
+ ["ami"] idempotent void sayHello(int delay);
+ ["ami"] void shutdown();
};
};
diff --git a/java/demo/Ice/applet/HelloApplet.java b/java/demo/Ice/applet/HelloApplet.java
new file mode 100644
index 00000000000..504f775a148
--- /dev/null
+++ b/java/demo/Ice/applet/HelloApplet.java
@@ -0,0 +1,617 @@
+// **********************************************************************
+//
+// 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 java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.event.*;
+
+public class HelloApplet extends JApplet
+{
+ public void init()
+ {
+ //
+ // Make sure we create the GUI from the Swing event dispatch thread.
+ //
+ try
+ {
+ SwingUtilities.invokeAndWait(new Runnable()
+ {
+ public void run()
+ {
+ initUI();
+ }
+ });
+ }
+ catch(Throwable ex)
+ {
+ ex.printStackTrace();
+ return;
+ }
+
+ //
+ // Initialize an Ice communicator.
+ //
+ try
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.setProperty("Ice.ACM.Client", "10");
+ initData.properties.setProperty("Ice.Trace.Network", "3");
+ initData.properties.setProperty("IceSSL.Trace.Security", "3");
+ initData.properties.setProperty("IceSSL.Password", "password");
+ initData.properties.setProperty("Ice.InitPlugins", "0");
+ initData.properties.setProperty("Ice.Plugin.IceSSL", "IceSSL.PluginFactory");
+ _communicator = Ice.Util.initialize(initData);
+
+ //
+ // We delayed the initialization of the IceSSL plug-in by setting Ice.InitPlugins=0.
+ // Now we obtain a reference to the plugin so that we can supply a keystore and
+ // truststore using a resource file.
+ //
+ IceSSL.Plugin plugin = (IceSSL.Plugin)_communicator.getPluginManager().getPlugin("IceSSL");
+ java.io.InputStream certs = getClass().getClassLoader().getResourceAsStream("client.jks");
+ plugin.setKeystoreStream(certs);
+ plugin.setTruststoreStream(certs);
+
+ //
+ // Finally, we're ready to complete the initialization.
+ //
+ _communicator.getPluginManager().initializePlugins();
+ }
+ catch(Throwable ex)
+ {
+ handleException(ex);
+ }
+ }
+
+ public void start()
+ {
+ // Nothing to do.
+ }
+
+ public void stop()
+ {
+ // Nothing to do.
+ }
+
+ public void destroy()
+ {
+ //
+ // Destroy the Ice run time.
+ //
+ if(_communicator != null)
+ {
+ try
+ {
+ _communicator.destroy();
+ }
+ catch(Throwable ex)
+ {
+ ex.printStackTrace();
+ }
+ _communicator = null;
+ }
+ }
+
+ private void initUI()
+ {
+ Container cp = getContentPane();
+
+ JLabel l1 = new JLabel("Hostname");
+ _hostname = new JTextField();
+ JLabel l2 = new JLabel("Mode");
+ _mode = new JComboBox();
+ JLabel l3 = new JLabel("Timeout");
+ _timeoutSlider = new JSlider(0, MAX_TIME);
+ _timeoutLabel = new JLabel("0.0");
+ JLabel l4 = new JLabel("Delay");
+ _delaySlider = new JSlider(0, MAX_TIME);
+ _delayLabel = new JLabel("0.0");
+ JPanel buttonPanel = new JPanel();
+ _hello = new JButton("Hello World!");
+ _shutdown = new JButton("Shutdown");
+ _flush = new JButton("Flush");
+ _flush.setEnabled(false);
+ JPanel statusPanel = new JPanel();
+ JSeparator statusPanelSeparator = new JSeparator();
+ _status = new JLabel();
+ _status.setText("Ready");
+
+ //
+ // Default to the host from which the applet was downloaded.
+ //
+ _hostname.setText(getCodeBase().getHost());
+
+ final String[] modes = new String[]
+ {
+ "Twoway", "Twoway Secure", "Oneway", "Oneway Batch", "Oneway Secure", "Oneway Secure Batch", "Datagram",
+ "Datagram Batch"
+ };
+ _mode.setModel(new DefaultComboBoxModel(modes));
+
+ _hello.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ sayHello();
+ }
+ });
+ _shutdown.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ shutdown();
+ }
+ });
+ _flush.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ flush();
+ }
+ });
+ _mode.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ changeDeliveryMode(_mode.getSelectedIndex());
+ }
+ });
+ changeDeliveryMode(_mode.getSelectedIndex());
+
+ _timeoutSlider.addChangeListener(new SliderListener(_timeoutSlider, _timeoutLabel));
+ _timeoutSlider.setValue(0);
+ _delaySlider.addChangeListener(new SliderListener(_delaySlider, _delayLabel));
+ _delaySlider.setValue(0);
+
+ GridBagConstraints gridBagConstraints;
+
+ cp.setMaximumSize(null);
+ cp.setPreferredSize(null);
+ cp.setLayout(new GridBagLayout());
+
+ l1.setText("Hostname");
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(5, 5, 5, 5);
+ cp.add(l1, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.gridwidth = 2;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.insets = new Insets(5, 0, 5, 5);
+ cp.add(_hostname, gridBagConstraints);
+
+ l2.setText("Mode");
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 0);
+ cp.add(l2, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.gridwidth = 2;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.insets = new Insets(0, 0, 5, 5);
+ cp.add(_mode, gridBagConstraints);
+
+ l3.setText("Timeout");
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 0);
+ cp.add(l3, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ cp.add(_timeoutSlider, gridBagConstraints);
+
+ _timeoutLabel.setMinimumSize(new Dimension(20, 17));
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 2;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 5);
+ cp.add(_timeoutLabel, gridBagConstraints);
+
+ l4.setText("Delay");
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 0);
+ cp.add(l4, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ cp.add(_delaySlider, gridBagConstraints);
+
+ _delayLabel.setMinimumSize(new Dimension(20, 17));
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.anchor = GridBagConstraints.WEST;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 5);
+ cp.add(_delayLabel, gridBagConstraints);
+
+ _hello.setText("Hello World!");
+ buttonPanel.add(_hello);
+
+ _shutdown.setText("Shutdown");
+ buttonPanel.add(_shutdown);
+
+ _flush.setText("Flush");
+ buttonPanel.add(_flush);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 4;
+ gridBagConstraints.gridwidth = 3;
+ gridBagConstraints.ipady = 5;
+ cp.add(buttonPanel, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 5;
+ gridBagConstraints.gridwidth = 3;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 5);
+ cp.add(statusPanelSeparator, gridBagConstraints);
+
+ gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 6;
+ gridBagConstraints.gridwidth = 3;
+ gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.insets = new Insets(0, 5, 5, 5);
+ cp.add(_status, gridBagConstraints);
+ }
+
+ private enum DeliveryMode
+ {
+ TWOWAY,
+ TWOWAY_SECURE,
+ ONEWAY,
+ ONEWAY_BATCH,
+ ONEWAY_SECURE,
+ ONEWAY_SECURE_BATCH,
+ DATAGRAM,
+ DATAGRAM_BATCH;
+
+ Ice.ObjectPrx apply(Ice.ObjectPrx prx)
+ {
+ switch (this)
+ {
+ case TWOWAY:
+ prx = prx.ice_twoway();
+ break;
+ case TWOWAY_SECURE:
+ prx = prx.ice_twoway().ice_secure(true);
+ break;
+ case ONEWAY:
+ prx = prx.ice_oneway();
+ break;
+ case ONEWAY_BATCH:
+ prx = prx.ice_batchOneway();
+ break;
+ case ONEWAY_SECURE:
+ prx = prx.ice_oneway().ice_secure(true);
+ break;
+ case ONEWAY_SECURE_BATCH:
+ prx = prx.ice_batchOneway().ice_secure(true);
+ break;
+ case DATAGRAM:
+ prx = prx.ice_datagram();
+ break;
+ case DATAGRAM_BATCH:
+ prx = prx.ice_batchDatagram();
+ break;
+ }
+ return prx;
+ }
+
+ public boolean isBatch()
+ {
+ return this == ONEWAY_BATCH || this == DATAGRAM_BATCH || this == ONEWAY_SECURE_BATCH;
+ }
+ }
+
+ private Demo.HelloPrx createProxy()
+ {
+ String host = _hostname.getText().toString().trim();
+ if(host.length() == 0)
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _status.setText("No hostname");
+ }
+ });
+ return null;
+ }
+
+ String s = "hello:tcp -h " + host + " -p 10000:ssl -h " + host + " -p 10001:udp -h " + host + " -p 10000";
+ Ice.ObjectPrx prx = _communicator.stringToProxy(s);
+ prx = _deliveryMode.apply(prx);
+ int timeout = _timeoutSlider.getValue();
+ if(timeout != 0)
+ {
+ prx = prx.ice_timeout(timeout);
+ }
+ return Demo.HelloPrxHelper.uncheckedCast(prx);
+ }
+
+ class SayHelloI extends Demo.AMI_Hello_sayHello implements Ice.AMISentCallback
+ {
+ private boolean _response = false;
+
+ synchronized public void ice_exception(final Ice.LocalException ex)
+ {
+ assert (!_response);
+ _response = true;
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ handleException(ex);
+ }
+ });
+ }
+
+ synchronized public void ice_sent()
+ {
+ if(_response)
+ {
+ return;
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ if(_deliveryMode == DeliveryMode.TWOWAY || _deliveryMode == DeliveryMode.TWOWAY_SECURE)
+ {
+ _status.setText("Waiting for response");
+ }
+ else
+ {
+ _status.setText("Ready");
+ }
+ }
+ });
+ }
+
+ synchronized public void ice_response()
+ {
+ assert (!_response);
+ _response = true;
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _status.setText("Ready");
+ }
+ });
+ }
+ }
+
+ private void sayHello()
+ {
+ Demo.HelloPrx hello = createProxy();
+ if(hello == null)
+ {
+ return;
+ }
+
+ int delay = _delaySlider.getValue();
+ try
+ {
+ if(!_deliveryMode.isBatch())
+ {
+ if(hello.sayHello_async(new SayHelloI(), delay))
+ {
+ if(_deliveryMode == DeliveryMode.TWOWAY || _deliveryMode == DeliveryMode.TWOWAY_SECURE)
+ {
+ _status.setText("Waiting for response");
+ }
+ }
+ else
+ {
+ _status.setText("Sending request");
+ }
+ }
+ else
+ {
+ _flush.setEnabled(true);
+ hello.sayHello(delay);
+ _status.setText("Queued sayHello request");
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ handleException(ex);
+ }
+ }
+
+ private void shutdown()
+ {
+ Demo.HelloPrx hello = createProxy();
+ if(hello == null)
+ {
+ return;
+ }
+
+ try
+ {
+ if(!_deliveryMode.isBatch())
+ {
+ hello.shutdown_async(new Demo.AMI_Hello_shutdown()
+ {
+ public void ice_exception(final Ice.LocalException ex)
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ handleException(ex);
+ }
+ });
+ }
+
+ public void ice_response()
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _status.setText("Ready");
+ }
+ });
+ }
+ });
+ if(_deliveryMode == DeliveryMode.TWOWAY || _deliveryMode == DeliveryMode.TWOWAY_SECURE)
+ {
+ _status.setText("Waiting for response");
+ }
+ }
+ else
+ {
+ _flush.setEnabled(true);
+ hello.shutdown();
+ _status.setText("Queued shutdown request");
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ handleException(ex);
+ }
+ }
+
+ private void flush()
+ {
+ new Thread(new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ _communicator.flushBatchRequests();
+ }
+ catch(final Ice.LocalException ex)
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ handleException(ex);
+ }
+ });
+ }
+ }
+ }).start();
+
+ _flush.setEnabled(false);
+ _status.setText("Flushed batch requests");
+ }
+
+ private void changeDeliveryMode(long id)
+ {
+ switch ((int)id)
+ {
+ case 0:
+ _deliveryMode = DeliveryMode.TWOWAY;
+ break;
+ case 1:
+ _deliveryMode = DeliveryMode.TWOWAY_SECURE;
+ break;
+ case 2:
+ _deliveryMode = DeliveryMode.ONEWAY;
+ break;
+ case 3:
+ _deliveryMode = DeliveryMode.ONEWAY_BATCH;
+ break;
+ case 4:
+ _deliveryMode = DeliveryMode.ONEWAY_SECURE;
+ break;
+ case 5:
+ _deliveryMode = DeliveryMode.ONEWAY_SECURE_BATCH;
+ break;
+ case 6:
+ _deliveryMode = DeliveryMode.DATAGRAM;
+ break;
+ case 7:
+ _deliveryMode = DeliveryMode.DATAGRAM_BATCH;
+ break;
+ }
+ }
+
+ private void handleException(final Throwable ex)
+ {
+ ex.printStackTrace();
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _status.setText(ex.getClass().getName());
+ }
+ }
+ );
+ }
+
+ private static class SliderListener implements ChangeListener
+ {
+ SliderListener(JSlider slider, JLabel label)
+ {
+ _slider = slider;
+ _label = label;
+ }
+
+ public void stateChanged(ChangeEvent ce)
+ {
+ float value = (float)(_slider.getValue() / 1000.0);
+ _label.setText(String.format("%.1f", value));
+ }
+
+ private JSlider _slider;
+ private JLabel _label;
+ }
+
+ private static final int MAX_TIME = 5000; // 5 seconds
+
+ private JTextField _hostname;
+ private JComboBox _mode;
+ private JSlider _timeoutSlider;
+ private JLabel _timeoutLabel;
+ private JSlider _delaySlider;
+ private JLabel _delayLabel;
+ private JButton _hello;
+ private JButton _shutdown;
+ private JButton _flush;
+ private JLabel _status;
+
+ private Ice.Communicator _communicator;
+ private DeliveryMode _deliveryMode;
+}
diff --git a/java/demo/Ice/applet/README b/java/demo/Ice/applet/README
new file mode 100644
index 00000000000..dbf2e18ff20
--- /dev/null
+++ b/java/demo/Ice/applet/README
@@ -0,0 +1,52 @@
+This demo presents an unsigned applet that shows how to make
+asynchronous Ice invocations in a graphical application. It also
+demonstrates how to configure IceSSL using a resource file as the
+keystore.
+
+The demo includes a start page (hello.html) that you will need to
+publish on a web server. This page assumes that the demo applet is
+stored in a fully self-contained archive named Hello.jar. In order to
+create this fully self-contained JAR file, you must build the applet
+with ProGuard in your CLASSPATH. After a successful build, copy
+Hello.jar from this subdirectory to the same directory as hello.html
+on your web server.
+
+NOTE: We recommend using ProGuard 4.3 or later.
+
+If you did not build the applet with ProGuard in your CLASSPATH, the
+Hello.jar archive contains only the applet classes. In this case you
+must modify the start page to add Ice.jar to the applet's ARCHIVE
+parameter:
+
+ <param name = "archive" value = "Ice.jar, Hello.jar">
+
+Alternatively, you can add ProGuard to your CLASSPATH and rebuild the
+applet with the following commands:
+
+ ant clean
+ ant
+
+To run the demo, you must start a "hello" server on the web server
+host. You can use the hello server from the ../hello directory or
+a hello server from any other Ice language mapping. Note that you may
+need to temporarily relax the firewall restrictions on your web server
+host to allow the applet to establish connections to the hello server.
+Next, start a web browser and open the hello.html page on your web
+server.
+
+Once the applet has started, verify that the name of your web server
+host is correct in the "Hostname" field and press the "Hello World!"
+button. You will notice that the server prints a "Hello World!"
+message to the console for each invocation. To make other types of Ice
+invocations, select a different mode from the combobox.
+
+The two sliders allow you to experiment with various timeout settings.
+The "Timeout" slider determines how long the Ice run time will wait
+for an invocation to complete, while the "Delay" slider forces the
+server to delay its response. The value of each slider is shown in
+seconds. To force a timeout, select a non-zero timeout and set the
+delay to be larger than the timeout. The server prints two "Hello
+World!" messages in this case because the Slice operation sayHello is
+marked as idempotent, meaning that Ice does not need to follow the
+at-most-once retry semantics. See the manual for more information
+about retry behavior.
diff --git a/java/demo/Ice/applet/applet.pro b/java/demo/Ice/applet/applet.pro
new file mode 100644
index 00000000000..dae1ea08906
--- /dev/null
+++ b/java/demo/Ice/applet/applet.pro
@@ -0,0 +1,53 @@
+# ProGuard configuration options
+
+-keep class HelloApplet
+
+# Preserve all annotations.
+-keepattributes *Annotation*
+
+# Preserve all native method names and the names of their classes.
+-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+# Preserve a method that is required in all enumeration classes.
+-keepclassmembers class * extends java.lang.Enum {
+ public **[] values();
+}
+
+-dontskipnonpubliclibraryclasses
+-dontusemixedcaseclassnames
+-dontwarn
+
+# We could reduce the size of the JAR file significantly if we
+# enable obfuscation but it would make things like stack traces
+# much harder to read.
+-dontobfuscate
+
+-keepclassmembers class * implements java.io.Serializable {
+ static final long serialVersionUID;
+ private void writeObject(java.io.ObjectOutputStream);
+ private void readObject(java.io.ObjectInputStream);
+ java.lang.Object writeReplace();
+ java.lang.Object readResolve();
+}
+
+# This class is loaded dynamically.
+-keep public class IceSSL.PluginFactory {
+ public *;
+}
+
+# More keeps to suppress Notes
+
+-keep interface Ice.Communicator
+-keep class IceInternal.SelectorHandler
+
+-keep public class Ice.DispatchStatus {
+ int __value;
+ Ice.DispatchStatus[] __values;
+ int value();
+}
+
+-keep public class java.net.DatagramSocketImpl {
+ java.io.FileDescriptor fd;
+}
diff --git a/java/demo/Ice/applet/build.xml b/java/demo/Ice/applet/build.xml
new file mode 100644
index 00000000000..495021109ad
--- /dev/null
+++ b/java/demo/Ice/applet/build.xml
@@ -0,0 +1,98 @@
+<!--
+ **********************************************************************
+
+ 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.
+
+ **********************************************************************
+-->
+
+<project name="demo_Ice_applet" default="all" basedir=".">
+
+ <!-- set global properties for this build -->
+ <property name="top.dir" value="../../.."/>
+
+ <!-- import common definitions -->
+ <import file="${top.dir}/config/common.xml"/>
+
+ <condition property="proguard-found">
+ <available classname="proguard.ant.ProGuardTask" classpath="${env.CLASSPATH}" />
+ </condition>
+
+ <target name="generate" depends="init">
+ <!-- Create the output directory for generated code -->
+ <mkdir dir="${generated.dir}"/>
+ <slice2java outputdir="${generated.dir}">
+ <meta value="${java2metadata}"/>
+ <includepath>
+ <pathelement path="${slice.dir}"/>
+ </includepath>
+ <fileset dir="." includes="Hello.ice"/>
+ </slice2java>
+ </target>
+
+ <target name="compile" depends="generate">
+ <mkdir dir="${class.dir}"/>
+ <javac srcdir="${generated.dir}" destdir="${class.dir}"
+ debug="${debug}">
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ <javac srcdir="." destdir="${class.dir}"
+ excludes="generated/**" debug="${debug}">
+ <classpath refid="ice.classpath"/>
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ </target>
+
+ <target name="jar" depends="compile" unless="proguard-found">
+ <jar jarfile="Hello.jar" basedir="${class.dir}">
+ <include name="Demo/**"/>
+ <include name="HelloApplet*"/>
+ </jar>
+ <jar jarfile="Hello.jar" update="true" basedir="${top.dir}/../certs">
+ <include name="client.jks"/>
+ </jar>
+ </target>
+
+ <target name="proguard-jar" depends="jar" if="proguard-found">
+ <condition property="library.jarfiles" value="classes.jar,jsse.jar">
+ <os family="mac"/>
+ </condition>
+ <condition property="library.jarfiles" value="rt.jar,jsse.jar">
+ <!-- Library jar files for Sun JDK -->
+ <available file="${java.home}/lib/rt.jar"/>
+ </condition>
+ <condition property="library.jarfiles" value="vm.jar,core.jar,graphics.jar,security.jar">
+ <!-- Library jar files for IBM J9 (from Linux SuSE) -->
+ <available file="${java.home}/lib/vm.jar"/>
+ </condition>
+ <condition property="library.jarpath" value="${java.home}/../Classes" else="${java.home}/lib">
+ <os family="mac"/>
+ </condition>
+ <pathconvert property="library.jars">
+ <filelist dir="${library.jarpath}" files="${library.jarfiles}"/>
+ </pathconvert>
+
+ <taskdef resource="proguard/ant/task.properties"/>
+
+ <proguard configuration="applet.pro">
+ <injar path="${class.dir}"/>
+ <injar path="${top.dir}/../certs/client.jks"/>
+ <injar refid="ice.classpath" filter="!META-INF/**"/>
+ <outjar path="Hello.jar"/>
+ <libraryjar path="${library.jars}"/>
+ </proguard>
+ </target>
+
+ <target name="all" depends="proguard-jar"/>
+
+ <target name="clean">
+ <delete file="Hello.jar"/>
+ <delete dir="${generated.dir}"/>
+ <delete dir="${class.dir}"/>
+ </target>
+
+</project>
diff --git a/java/demo/Ice/applet/hello.html b/java/demo/Ice/applet/hello.html
new file mode 100644
index 00000000000..c0a48d8f38f
--- /dev/null
+++ b/java/demo/Ice/applet/hello.html
@@ -0,0 +1,35 @@
+<html>
+<head>
+<title>Ice Hello Applet</title>
+</head>
+
+<body>
+<object
+ classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+ codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=1,5,0,0"
+ WIDTH = 300 HEIGHT = 175 >
+ <PARAM NAME = CODE VALUE = "HelloApplet" >
+ <param name = "type" value = "application/x-java-applet;version=1.5">
+ <param name = "scriptable" value = "false">
+ <param name = "archive" value = "Hello.jar">
+
+ <comment>
+ <embed
+ type = "application/x-java-applet;version=1.5" \
+ CODE = "HelloApplet" \
+ ARCHIVE = "Hello.jar" \
+ WIDTH = 300 \
+ HEIGHT = 175
+ scriptable = false
+ pluginspage = "http://java.sun.com/products/plugin/index.html#download">
+ <noembed>
+ alt="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
+ Your browser is completely ignoring the &lt;APPLET&gt; tag!
+ </noembed>
+ </embed>
+
+ </comment>
+</object>
+
+</body>
+</html>
diff --git a/java/demo/Ice/async/Client.java b/java/demo/Ice/async/Client.java
index e21a351ce8d..3d3632edb3d 100644
--- a/java/demo/Ice/async/Client.java
+++ b/java/demo/Ice/async/Client.java
@@ -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/java/demo/Ice/async/Hello.ice b/java/demo/Ice/async/Hello.ice
index 8eedeac8c76..f3bbe38d5b0 100644
--- a/java/demo/Ice/async/Hello.ice
+++ b/java/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/java/demo/Ice/async/HelloI.java b/java/demo/Ice/async/HelloI.java
index 8104075a027..371bb50405a 100644
--- a/java/demo/Ice/async/HelloI.java
+++ b/java/demo/Ice/async/HelloI.java
@@ -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/java/demo/Ice/async/Server.java b/java/demo/Ice/async/Server.java
index 32ec6c61c44..696979091d7 100644
--- a/java/demo/Ice/async/Server.java
+++ b/java/demo/Ice/async/Server.java
@@ -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/java/demo/Ice/async/WorkQueue.java b/java/demo/Ice/async/WorkQueue.java
index e523330f025..65a1142f0b3 100644
--- a/java/demo/Ice/async/WorkQueue.java
+++ b/java/demo/Ice/async/WorkQueue.java
@@ -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/java/demo/Ice/async/build.xml b/java/demo/Ice/async/build.xml
index a15d757ebee..8c35a00e1fa 100644
--- a/java/demo/Ice/async/build.xml
+++ b/java/demo/Ice/async/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/async/expect.py b/java/demo/Ice/async/expect.py
index 02d072ebb8a..ef7c31f4ce3 100755
--- a/java/demo/Ice/async/expect.py
+++ b/java/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/java/demo/Ice/bidir/Callback.ice b/java/demo/Ice/bidir/Callback.ice
index 27946b05bf5..e3b812b06f6 100644
--- a/java/demo/Ice/bidir/Callback.ice
+++ b/java/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/java/demo/Ice/bidir/CallbackReceiverI.java b/java/demo/Ice/bidir/CallbackReceiverI.java
index aa45e98e016..951cb0fda69 100644
--- a/java/demo/Ice/bidir/CallbackReceiverI.java
+++ b/java/demo/Ice/bidir/CallbackReceiverI.java
@@ -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/java/demo/Ice/bidir/CallbackSenderI.java b/java/demo/Ice/bidir/CallbackSenderI.java
index 332c1c75614..fd2be87628a 100644
--- a/java/demo/Ice/bidir/CallbackSenderI.java
+++ b/java/demo/Ice/bidir/CallbackSenderI.java
@@ -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/java/demo/Ice/bidir/Client.java b/java/demo/Ice/bidir/Client.java
index de4f69f6c2b..60b59377e6d 100644
--- a/java/demo/Ice/bidir/Client.java
+++ b/java/demo/Ice/bidir/Client.java
@@ -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/java/demo/Ice/bidir/Server.java b/java/demo/Ice/bidir/Server.java
index a07555d003a..760b2e997ac 100644
--- a/java/demo/Ice/bidir/Server.java
+++ b/java/demo/Ice/bidir/Server.java
@@ -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/java/demo/Ice/bidir/build.xml b/java/demo/Ice/bidir/build.xml
index ca217abe522..b3fb8fcd131 100644
--- a/java/demo/Ice/bidir/build.xml
+++ b/java/demo/Ice/bidir/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/bidir/expect.py b/java/demo/Ice/bidir/expect.py
index c232cf161bd..83d8b18e571 100755
--- a/java/demo/Ice/bidir/expect.py
+++ b/java/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/java/demo/Ice/build.xml b/java/demo/Ice/build.xml
index f3f00642dbd..a8f43061344 100644
--- a/java/demo/Ice/build.xml
+++ b/java/demo/Ice/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -12,33 +12,35 @@
<project name="demo_Ice" default="all" basedir=".">
<target name="all">
+ <ant dir="applet"/>
+ <ant dir="async"/>
<ant dir="bidir"/>
<ant dir="callback"/>
<ant dir="hello"/>
<ant dir="invoke"/>
<ant dir="latency"/>
<ant dir="minimal"/>
+ <ant dir="multicast"/>
<ant dir="nested"/>
+ <ant dir="session"/>
<ant dir="throughput"/>
<ant dir="value"/>
- <ant dir="session"/>
- <ant dir="async"/>
- <ant dir="multicast"/>
</target>
<target name="clean">
+ <ant dir="applet" target="clean"/>
+ <ant dir="async" target="clean"/>
<ant dir="bidir" target="clean"/>
<ant dir="callback" target="clean"/>
<ant dir="hello" target="clean"/>
<ant dir="invoke" target="clean"/>
<ant dir="latency" target="clean"/>
<ant dir="minimal" target="clean"/>
+ <ant dir="multicast" target="clean"/>
<ant dir="nested" target="clean"/>
+ <ant dir="session" target="clean"/>
<ant dir="throughput" target="clean"/>
<ant dir="value" target="clean"/>
- <ant dir="session" target="clean"/>
- <ant dir="async" target="clean"/>
- <ant dir="multicast" target="clean"/>
</target>
</project>
diff --git a/java/demo/Ice/callback/Callback.ice b/java/demo/Ice/callback/Callback.ice
index c6c54eea561..464d203ddf9 100644
--- a/java/demo/Ice/callback/Callback.ice
+++ b/java/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/java/demo/Ice/callback/CallbackReceiverI.java b/java/demo/Ice/callback/CallbackReceiverI.java
index 8e6ff9bd523..92374aeb750 100644
--- a/java/demo/Ice/callback/CallbackReceiverI.java
+++ b/java/demo/Ice/callback/CallbackReceiverI.java
@@ -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/java/demo/Ice/callback/CallbackSenderI.java b/java/demo/Ice/callback/CallbackSenderI.java
index ef30b2a8532..d30d40b5ce6 100644
--- a/java/demo/Ice/callback/CallbackSenderI.java
+++ b/java/demo/Ice/callback/CallbackSenderI.java
@@ -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/java/demo/Ice/callback/Client.java b/java/demo/Ice/callback/Client.java
index 8785f1bb44c..4928f346213 100644
--- a/java/demo/Ice/callback/Client.java
+++ b/java/demo/Ice/callback/Client.java
@@ -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/java/demo/Ice/callback/Server.java b/java/demo/Ice/callback/Server.java
index ed9cbcfde2b..293f95f002c 100644
--- a/java/demo/Ice/callback/Server.java
+++ b/java/demo/Ice/callback/Server.java
@@ -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/java/demo/Ice/callback/build.xml b/java/demo/Ice/callback/build.xml
index df254a00f18..95d2df99ccc 100644
--- a/java/demo/Ice/callback/build.xml
+++ b/java/demo/Ice/callback/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/callback/expect.py b/java/demo/Ice/callback/expect.py
index 2308e823ddb..4440d182227 100755
--- a/java/demo/Ice/callback/expect.py
+++ b/java/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/java/demo/Ice/hello/Client.java b/java/demo/Ice/hello/Client.java
index 13f7caf52c5..ad7b13079b8 100644
--- a/java/demo/Ice/hello/Client.java
+++ b/java/demo/Ice/hello/Client.java
@@ -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/java/demo/Ice/hello/Hello.ice b/java/demo/Ice/hello/Hello.ice
index 11b714f01c8..bcaed6ad877 100644
--- a/java/demo/Ice/hello/Hello.ice
+++ b/java/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/java/demo/Ice/hello/HelloI.java b/java/demo/Ice/hello/HelloI.java
index 2722e7122fc..92317f21b50 100644
--- a/java/demo/Ice/hello/HelloI.java
+++ b/java/demo/Ice/hello/HelloI.java
@@ -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/java/demo/Ice/hello/Server.java b/java/demo/Ice/hello/Server.java
index 6ffab5d02fb..c78c193ebca 100644
--- a/java/demo/Ice/hello/Server.java
+++ b/java/demo/Ice/hello/Server.java
@@ -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/java/demo/Ice/hello/build.xml b/java/demo/Ice/hello/build.xml
index b18621f16a4..7ea82eccc29 100644
--- a/java/demo/Ice/hello/build.xml
+++ b/java/demo/Ice/hello/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/hello/expect.py b/java/demo/Ice/hello/expect.py
index def12793698..d2bef70d87f 100755
--- a/java/demo/Ice/hello/expect.py
+++ b/java/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.
diff --git a/java/demo/Ice/invoke/Client.java b/java/demo/Ice/invoke/Client.java
index 9817c168686..8ab0ea28158 100644
--- a/java/demo/Ice/invoke/Client.java
+++ b/java/demo/Ice/invoke/Client.java
@@ -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/java/demo/Ice/invoke/Printer.ice b/java/demo/Ice/invoke/Printer.ice
index dbc12f15b46..ed29207f5e0 100644
--- a/java/demo/Ice/invoke/Printer.ice
+++ b/java/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/java/demo/Ice/invoke/PrinterI.java b/java/demo/Ice/invoke/PrinterI.java
index f7a6b02c8ae..d117bc992ae 100644
--- a/java/demo/Ice/invoke/PrinterI.java
+++ b/java/demo/Ice/invoke/PrinterI.java
@@ -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/java/demo/Ice/invoke/Server.java b/java/demo/Ice/invoke/Server.java
index fb502c3cee5..a4008f976cc 100644
--- a/java/demo/Ice/invoke/Server.java
+++ b/java/demo/Ice/invoke/Server.java
@@ -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/java/demo/Ice/invoke/build.xml b/java/demo/Ice/invoke/build.xml
index c42fa4c8eb7..9f7ddd08ef2 100644
--- a/java/demo/Ice/invoke/build.xml
+++ b/java/demo/Ice/invoke/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/invoke/expect.py b/java/demo/Ice/invoke/expect.py
index 0f0b9ac6995..23a45bb78dd 100755
--- a/java/demo/Ice/invoke/expect.py
+++ b/java/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/java/demo/Ice/latency/Client.java b/java/demo/Ice/latency/Client.java
index 4f591420581..6b232ca5490 100644
--- a/java/demo/Ice/latency/Client.java
+++ b/java/demo/Ice/latency/Client.java
@@ -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/java/demo/Ice/latency/Latency.ice b/java/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/java/demo/Ice/latency/Latency.ice
+++ b/java/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/java/demo/Ice/latency/Server.java b/java/demo/Ice/latency/Server.java
index 0e4f6e74814..c3b7e1720a5 100644
--- a/java/demo/Ice/latency/Server.java
+++ b/java/demo/Ice/latency/Server.java
@@ -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/java/demo/Ice/latency/build.xml b/java/demo/Ice/latency/build.xml
index 6c9e24aa9e3..bce2e06d80b 100644
--- a/java/demo/Ice/latency/build.xml
+++ b/java/demo/Ice/latency/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/latency/expect.py b/java/demo/Ice/latency/expect.py
index 80bdfe0b32f..153c06ed927 100755
--- a/java/demo/Ice/latency/expect.py
+++ b/java/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/java/demo/Ice/minimal/Client.java b/java/demo/Ice/minimal/Client.java
index f6ab306ae9e..6693f423a46 100644
--- a/java/demo/Ice/minimal/Client.java
+++ b/java/demo/Ice/minimal/Client.java
@@ -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/java/demo/Ice/minimal/Hello.ice b/java/demo/Ice/minimal/Hello.ice
index 71cff05a221..6cd2473fc45 100644
--- a/java/demo/Ice/minimal/Hello.ice
+++ b/java/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.
diff --git a/java/demo/Ice/minimal/HelloI.java b/java/demo/Ice/minimal/HelloI.java
index 3c016d99b0d..ed7a822321b 100644
--- a/java/demo/Ice/minimal/HelloI.java
+++ b/java/demo/Ice/minimal/HelloI.java
@@ -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/java/demo/Ice/minimal/Server.java b/java/demo/Ice/minimal/Server.java
index 8082adbff22..240f3caed6c 100644
--- a/java/demo/Ice/minimal/Server.java
+++ b/java/demo/Ice/minimal/Server.java
@@ -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/java/demo/Ice/minimal/build.xml b/java/demo/Ice/minimal/build.xml
index 7592eca1991..a3a310c0749 100644
--- a/java/demo/Ice/minimal/build.xml
+++ b/java/demo/Ice/minimal/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/minimal/expect.py b/java/demo/Ice/minimal/expect.py
index 9af59dbe8d8..3273aaa2290 100755
--- a/java/demo/Ice/minimal/expect.py
+++ b/java/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/java/demo/Ice/multicast/Client.java b/java/demo/Ice/multicast/Client.java
index fa29e22739a..da1afeb93fd 100644
--- a/java/demo/Ice/multicast/Client.java
+++ b/java/demo/Ice/multicast/Client.java
@@ -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/java/demo/Ice/multicast/DiscoverI.java b/java/demo/Ice/multicast/DiscoverI.java
index 307e2fe5a44..7a222febdc6 100644
--- a/java/demo/Ice/multicast/DiscoverI.java
+++ b/java/demo/Ice/multicast/DiscoverI.java
@@ -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/java/demo/Ice/multicast/DiscoverReplyI.java b/java/demo/Ice/multicast/DiscoverReplyI.java
index 6a09ec53b48..bc4bd718711 100644
--- a/java/demo/Ice/multicast/DiscoverReplyI.java
+++ b/java/demo/Ice/multicast/DiscoverReplyI.java
@@ -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/java/demo/Ice/multicast/Discovery.ice b/java/demo/Ice/multicast/Discovery.ice
index d8beb26a286..4dd25aef7f7 100644
--- a/java/demo/Ice/multicast/Discovery.ice
+++ b/java/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/java/demo/Ice/multicast/Hello.ice b/java/demo/Ice/multicast/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/java/demo/Ice/multicast/Hello.ice
+++ b/java/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/java/demo/Ice/multicast/HelloI.java b/java/demo/Ice/multicast/HelloI.java
index 3c016d99b0d..ed7a822321b 100644
--- a/java/demo/Ice/multicast/HelloI.java
+++ b/java/demo/Ice/multicast/HelloI.java
@@ -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/java/demo/Ice/multicast/Server.java b/java/demo/Ice/multicast/Server.java
index 56f4a3611a9..6e08c075c7d 100644
--- a/java/demo/Ice/multicast/Server.java
+++ b/java/demo/Ice/multicast/Server.java
@@ -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/java/demo/Ice/multicast/build.xml b/java/demo/Ice/multicast/build.xml
index 192dd9f5b06..18f3ab1fbd9 100644
--- a/java/demo/Ice/multicast/build.xml
+++ b/java/demo/Ice/multicast/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/multicast/expect.py b/java/demo/Ice/multicast/expect.py
index a39fe6f0f3c..5addb96eb0a 100755
--- a/java/demo/Ice/multicast/expect.py
+++ b/java/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/java/demo/Ice/nested/Client.java b/java/demo/Ice/nested/Client.java
index 3fb455eeb5c..6e8c5be40ee 100644
--- a/java/demo/Ice/nested/Client.java
+++ b/java/demo/Ice/nested/Client.java
@@ -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/java/demo/Ice/nested/Nested.ice b/java/demo/Ice/nested/Nested.ice
index fd5138e14c1..bd245a16432 100644
--- a/java/demo/Ice/nested/Nested.ice
+++ b/java/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/java/demo/Ice/nested/NestedI.java b/java/demo/Ice/nested/NestedI.java
index f9be2b15bfe..023cffce52f 100644
--- a/java/demo/Ice/nested/NestedI.java
+++ b/java/demo/Ice/nested/NestedI.java
@@ -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/java/demo/Ice/nested/Server.java b/java/demo/Ice/nested/Server.java
index a7ac36bd3fa..019c790c3b7 100644
--- a/java/demo/Ice/nested/Server.java
+++ b/java/demo/Ice/nested/Server.java
@@ -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/java/demo/Ice/nested/build.xml b/java/demo/Ice/nested/build.xml
index fd544a6579b..af14c38b0d9 100644
--- a/java/demo/Ice/nested/build.xml
+++ b/java/demo/Ice/nested/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/nested/expect.py b/java/demo/Ice/nested/expect.py
index fc0a2a3bdd4..aa7416e60dd 100755
--- a/java/demo/Ice/nested/expect.py
+++ b/java/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/java/demo/Ice/session/Client.java b/java/demo/Ice/session/Client.java
index e880dec4545..683a8d4f5ed 100644
--- a/java/demo/Ice/session/Client.java
+++ b/java/demo/Ice/session/Client.java
@@ -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/java/demo/Ice/session/HelloI.java b/java/demo/Ice/session/HelloI.java
index 220aa1936ae..02ff456c7d3 100644
--- a/java/demo/Ice/session/HelloI.java
+++ b/java/demo/Ice/session/HelloI.java
@@ -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/java/demo/Ice/session/ReapThread.java b/java/demo/Ice/session/ReapThread.java
index 88ffeeebf4f..bc0eabd7941 100644
--- a/java/demo/Ice/session/ReapThread.java
+++ b/java/demo/Ice/session/ReapThread.java
@@ -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/java/demo/Ice/session/Server.java b/java/demo/Ice/session/Server.java
index 866bd9aa718..ddeda924c92 100644
--- a/java/demo/Ice/session/Server.java
+++ b/java/demo/Ice/session/Server.java
@@ -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/java/demo/Ice/session/Session.ice b/java/demo/Ice/session/Session.ice
index 1ef9d6ece54..dc1ca46fb15 100644
--- a/java/demo/Ice/session/Session.ice
+++ b/java/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/java/demo/Ice/session/SessionFactoryI.java b/java/demo/Ice/session/SessionFactoryI.java
index 4ac1124c9e7..de00295e2ee 100644
--- a/java/demo/Ice/session/SessionFactoryI.java
+++ b/java/demo/Ice/session/SessionFactoryI.java
@@ -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/java/demo/Ice/session/SessionI.java b/java/demo/Ice/session/SessionI.java
index 85e9c9559d2..d57f896d4d1 100644
--- a/java/demo/Ice/session/SessionI.java
+++ b/java/demo/Ice/session/SessionI.java
@@ -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/java/demo/Ice/session/build.xml b/java/demo/Ice/session/build.xml
index b808a375af0..989954a31ee 100644
--- a/java/demo/Ice/session/build.xml
+++ b/java/demo/Ice/session/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/session/expect.py b/java/demo/Ice/session/expect.py
index 4c043efa96b..7e5c2f3321a 100755
--- a/java/demo/Ice/session/expect.py
+++ b/java/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/java/demo/Ice/throughput/Client.java b/java/demo/Ice/throughput/Client.java
index 8f6a4176705..d9a73f4ead3 100644
--- a/java/demo/Ice/throughput/Client.java
+++ b/java/demo/Ice/throughput/Client.java
@@ -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/java/demo/Ice/throughput/Server.java b/java/demo/Ice/throughput/Server.java
index 66a13fb219f..040c748ab8c 100644
--- a/java/demo/Ice/throughput/Server.java
+++ b/java/demo/Ice/throughput/Server.java
@@ -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/java/demo/Ice/throughput/Throughput.ice b/java/demo/Ice/throughput/Throughput.ice
index 9fd7decd49d..f61512e4e7a 100644
--- a/java/demo/Ice/throughput/Throughput.ice
+++ b/java/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/java/demo/Ice/throughput/ThroughputI.java b/java/demo/Ice/throughput/ThroughputI.java
index 27698a2f250..ac7d8b8da1f 100644
--- a/java/demo/Ice/throughput/ThroughputI.java
+++ b/java/demo/Ice/throughput/ThroughputI.java
@@ -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/java/demo/Ice/throughput/build.xml b/java/demo/Ice/throughput/build.xml
index 13597eed3c3..c6f86fdf086 100644
--- a/java/demo/Ice/throughput/build.xml
+++ b/java/demo/Ice/throughput/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/throughput/expect.py b/java/demo/Ice/throughput/expect.py
index e2221bedb12..fd4dfe1205d 100755
--- a/java/demo/Ice/throughput/expect.py
+++ b/java/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/java/demo/Ice/value/Client.java b/java/demo/Ice/value/Client.java
index dfd8ca53e07..dbac804ad37 100644
--- a/java/demo/Ice/value/Client.java
+++ b/java/demo/Ice/value/Client.java
@@ -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/java/demo/Ice/value/DerivedPrinterI.java b/java/demo/Ice/value/DerivedPrinterI.java
index b55b1cdedd0..d9cff295a4c 100644
--- a/java/demo/Ice/value/DerivedPrinterI.java
+++ b/java/demo/Ice/value/DerivedPrinterI.java
@@ -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/java/demo/Ice/value/InitialI.java b/java/demo/Ice/value/InitialI.java
index e358db1b7e8..6e09e66b1a4 100644
--- a/java/demo/Ice/value/InitialI.java
+++ b/java/demo/Ice/value/InitialI.java
@@ -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.
@@ -9,7 +9,7 @@
import Demo.*;
-class InitialI extends Initial
+class InitialI extends _InitialDisp
{
InitialI(Ice.ObjectAdapter adapter)
{
diff --git a/java/demo/Ice/value/ObjectFactory.java b/java/demo/Ice/value/ObjectFactory.java
index a0699d4caa7..995d00bbee5 100644
--- a/java/demo/Ice/value/ObjectFactory.java
+++ b/java/demo/Ice/value/ObjectFactory.java
@@ -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/java/demo/Ice/value/PrinterI.java b/java/demo/Ice/value/PrinterI.java
index a87ba97786e..313d2aed6d1 100644
--- a/java/demo/Ice/value/PrinterI.java
+++ b/java/demo/Ice/value/PrinterI.java
@@ -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/java/demo/Ice/value/Server.java b/java/demo/Ice/value/Server.java
index 0610a686f73..fbfff3ecaa1 100644
--- a/java/demo/Ice/value/Server.java
+++ b/java/demo/Ice/value/Server.java
@@ -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/java/demo/Ice/value/Value.ice b/java/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/java/demo/Ice/value/Value.ice
+++ b/java/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/java/demo/Ice/value/build.xml b/java/demo/Ice/value/build.xml
index a691fff2f1d..2bd6e425085 100644
--- a/java/demo/Ice/value/build.xml
+++ b/java/demo/Ice/value/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/Ice/value/expect.py b/java/demo/Ice/value/expect.py
index ae329d2f0bb..3fe8f090887 100755
--- a/java/demo/Ice/value/expect.py
+++ b/java/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.
diff --git a/java/demo/IceBox/build.xml b/java/demo/IceBox/build.xml
index 12109532630..72e130d12e3 100644
--- a/java/demo/IceBox/build.xml
+++ b/java/demo/IceBox/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceBox/hello/Client.java b/java/demo/IceBox/hello/Client.java
index 70f5ce6af4b..88da12d04d1 100644
--- a/java/demo/IceBox/hello/Client.java
+++ b/java/demo/IceBox/hello/Client.java
@@ -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/java/demo/IceBox/hello/Hello.ice b/java/demo/IceBox/hello/Hello.ice
index 871a5123e30..6cd2473fc45 100644
--- a/java/demo/IceBox/hello/Hello.ice
+++ b/java/demo/IceBox/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();
+ idempotent void sayHello();
};
};
diff --git a/java/demo/IceBox/hello/HelloI.java b/java/demo/IceBox/hello/HelloI.java
index 3c016d99b0d..ed7a822321b 100644
--- a/java/demo/IceBox/hello/HelloI.java
+++ b/java/demo/IceBox/hello/HelloI.java
@@ -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/java/demo/IceBox/hello/HelloServiceI.java b/java/demo/IceBox/hello/HelloServiceI.java
index 3672123510e..ccd01ca6e64 100644
--- a/java/demo/IceBox/hello/HelloServiceI.java
+++ b/java/demo/IceBox/hello/HelloServiceI.java
@@ -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/java/demo/IceBox/hello/build.xml b/java/demo/IceBox/hello/build.xml
index 09bd4202e7b..7473dc3f874 100644
--- a/java/demo/IceBox/hello/build.xml
+++ b/java/demo/IceBox/hello/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceBox/hello/expect.py b/java/demo/IceBox/hello/expect.py
index 12510976446..c13dfa1ac75 100755
--- a/java/demo/IceBox/hello/expect.py
+++ b/java/demo/IceBox/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.
diff --git a/java/demo/IceGrid/build.xml b/java/demo/IceGrid/build.xml
index 1807ae66bab..2fc4a08279a 100644
--- a/java/demo/IceGrid/build.xml
+++ b/java/demo/IceGrid/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/icebox/Client.java b/java/demo/IceGrid/icebox/Client.java
index ce24db7b92e..4a45de3203c 100644
--- a/java/demo/IceGrid/icebox/Client.java
+++ b/java/demo/IceGrid/icebox/Client.java
@@ -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/java/demo/IceGrid/icebox/Hello.ice b/java/demo/IceGrid/icebox/Hello.ice
index ac9d5f5283e..6cd2473fc45 100644
--- a/java/demo/IceGrid/icebox/Hello.ice
+++ b/java/demo/IceGrid/icebox/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
{
- void sayHello();
+ idempotent void sayHello();
};
};
diff --git a/java/demo/IceGrid/icebox/HelloI.java b/java/demo/IceGrid/icebox/HelloI.java
index f0230074119..56e465be338 100644
--- a/java/demo/IceGrid/icebox/HelloI.java
+++ b/java/demo/IceGrid/icebox/HelloI.java
@@ -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/java/demo/IceGrid/icebox/HelloServiceI.java b/java/demo/IceGrid/icebox/HelloServiceI.java
index caff9eea30d..ece28a22ff2 100644
--- a/java/demo/IceGrid/icebox/HelloServiceI.java
+++ b/java/demo/IceGrid/icebox/HelloServiceI.java
@@ -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/java/demo/IceGrid/icebox/build.xml b/java/demo/IceGrid/icebox/build.xml
index 2152a64f35c..b16d4e53d1e 100644
--- a/java/demo/IceGrid/icebox/build.xml
+++ b/java/demo/IceGrid/icebox/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/icebox/expect.py b/java/demo/IceGrid/icebox/expect.py
index 8125bcf3651..8344d08dff7 100755
--- a/java/demo/IceGrid/icebox/expect.py
+++ b/java/demo/IceGrid/icebox/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/java/demo/IceGrid/simple/Client.java b/java/demo/IceGrid/simple/Client.java
index daebb833df1..9a76167a18a 100644
--- a/java/demo/IceGrid/simple/Client.java
+++ b/java/demo/IceGrid/simple/Client.java
@@ -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/java/demo/IceGrid/simple/Hello.ice b/java/demo/IceGrid/simple/Hello.ice
index b30e06e02fc..4b123a06908 100644
--- a/java/demo/IceGrid/simple/Hello.ice
+++ b/java/demo/IceGrid/simple/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/java/demo/IceGrid/simple/HelloI.java b/java/demo/IceGrid/simple/HelloI.java
index ab555d69478..d3f06d45700 100644
--- a/java/demo/IceGrid/simple/HelloI.java
+++ b/java/demo/IceGrid/simple/HelloI.java
@@ -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/java/demo/IceGrid/simple/Server.java b/java/demo/IceGrid/simple/Server.java
index 9c5455f68dc..d95efda0502 100644
--- a/java/demo/IceGrid/simple/Server.java
+++ b/java/demo/IceGrid/simple/Server.java
@@ -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/java/demo/IceGrid/simple/application.xml b/java/demo/IceGrid/simple/application.xml
index 1047fde8342..49e97cc7b2f 100644
--- a/java/demo/IceGrid/simple/application.xml
+++ b/java/demo/IceGrid/simple/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/simple/application_with_replication.xml b/java/demo/IceGrid/simple/application_with_replication.xml
index 9924c17bdf7..36b9a2f666b 100644
--- a/java/demo/IceGrid/simple/application_with_replication.xml
+++ b/java/demo/IceGrid/simple/application_with_replication.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/simple/application_with_template.xml b/java/demo/IceGrid/simple/application_with_template.xml
index 067a70b67a6..ff33febfa29 100644
--- a/java/demo/IceGrid/simple/application_with_template.xml
+++ b/java/demo/IceGrid/simple/application_with_template.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/simple/build.xml b/java/demo/IceGrid/simple/build.xml
index 0705fc6ef48..fee773495bb 100644
--- a/java/demo/IceGrid/simple/build.xml
+++ b/java/demo/IceGrid/simple/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceGrid/simple/expect.py b/java/demo/IceGrid/simple/expect.py
index 556dfcfb2a5..e9e6a50b6eb 100755
--- a/java/demo/IceGrid/simple/expect.py
+++ b/java/demo/IceGrid/simple/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/java/demo/IceStorm/build.xml b/java/demo/IceStorm/build.xml
index 8ce0caa73ec..d406b7dffab 100644
--- a/java/demo/IceStorm/build.xml
+++ b/java/demo/IceStorm/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceStorm/clock/Clock.ice b/java/demo/IceStorm/clock/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/java/demo/IceStorm/clock/Clock.ice
+++ b/java/demo/IceStorm/clock/Clock.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/java/demo/IceStorm/clock/Publisher.java b/java/demo/IceStorm/clock/Publisher.java
index 5078748baf2..198023a0baf 100644
--- a/java/demo/IceStorm/clock/Publisher.java
+++ b/java/demo/IceStorm/clock/Publisher.java
@@ -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/java/demo/IceStorm/clock/Subscriber.java b/java/demo/IceStorm/clock/Subscriber.java
index 7fac97459ec..daee10a6e7e 100644
--- a/java/demo/IceStorm/clock/Subscriber.java
+++ b/java/demo/IceStorm/clock/Subscriber.java
@@ -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/java/demo/IceStorm/clock/build.xml b/java/demo/IceStorm/clock/build.xml
index 18de5a55cf9..c2a6da4f215 100644
--- a/java/demo/IceStorm/clock/build.xml
+++ b/java/demo/IceStorm/clock/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/IceStorm/clock/expect.py b/java/demo/IceStorm/clock/expect.py
index 937a7af3ca1..4991d9250f6 100755
--- a/java/demo/IceStorm/clock/expect.py
+++ b/java/demo/IceStorm/clock/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/java/demo/book/build.xml b/java/demo/book/build.xml
index 4675f1d0e56..997d62a507b 100644
--- a/java/demo/book/build.xml
+++ b/java/demo/book/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/book/evictor/LinkedList.java b/java/demo/book/evictor/LinkedList.java
index 28ec1d75681..4400329ee0b 100644
--- a/java/demo/book/evictor/LinkedList.java
+++ b/java/demo/book/evictor/LinkedList.java
@@ -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/java/demo/book/freeze_filesystem/Client.java b/java/demo/book/freeze_filesystem/Client.java
index 01aac52f880..b665940d541 100644
--- a/java/demo/book/freeze_filesystem/Client.java
+++ b/java/demo/book/freeze_filesystem/Client.java
@@ -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/java/demo/book/freeze_filesystem/DirectoryI.java b/java/demo/book/freeze_filesystem/DirectoryI.java
index d8fe5a312a9..4396b65a407 100644
--- a/java/demo/book/freeze_filesystem/DirectoryI.java
+++ b/java/demo/book/freeze_filesystem/DirectoryI.java
@@ -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/java/demo/book/freeze_filesystem/FileI.java b/java/demo/book/freeze_filesystem/FileI.java
index 09db1e60320..12c92654a1b 100644
--- a/java/demo/book/freeze_filesystem/FileI.java
+++ b/java/demo/book/freeze_filesystem/FileI.java
@@ -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/java/demo/book/freeze_filesystem/Filesystem.ice b/java/demo/book/freeze_filesystem/Filesystem.ice
index b8b5b38d351..2e48dece6e3 100644
--- a/java/demo/book/freeze_filesystem/Filesystem.ice
+++ b/java/demo/book/freeze_filesystem/Filesystem.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/java/demo/book/freeze_filesystem/NodeFactory.java b/java/demo/book/freeze_filesystem/NodeFactory.java
index 74982387cac..9dd3ab922ed 100644
--- a/java/demo/book/freeze_filesystem/NodeFactory.java
+++ b/java/demo/book/freeze_filesystem/NodeFactory.java
@@ -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,11 +14,11 @@ public class NodeFactory implements Ice.ObjectFactory
public Ice.Object
create(String type)
{
- if(type.equals("::Filesystem::PersistentFile"))
+ if(type.equals(PersistentFile.ice_staticId()))
{
return new FileI();
}
- else if(type.equals("::Filesystem::PersistentDirectory"))
+ else if(type.equals(PersistentDirectory.ice_staticId()))
{
return new DirectoryI();
}
diff --git a/java/demo/book/freeze_filesystem/NodeInitializer.java b/java/demo/book/freeze_filesystem/NodeInitializer.java
index b1304afd16e..e09f39c1db5 100644
--- a/java/demo/book/freeze_filesystem/NodeInitializer.java
+++ b/java/demo/book/freeze_filesystem/NodeInitializer.java
@@ -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/java/demo/book/freeze_filesystem/PersistentFilesystem.ice b/java/demo/book/freeze_filesystem/PersistentFilesystem.ice
index 2895d2f5d14..fe0216eb4d2 100644
--- a/java/demo/book/freeze_filesystem/PersistentFilesystem.ice
+++ b/java/demo/book/freeze_filesystem/PersistentFilesystem.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/java/demo/book/freeze_filesystem/Server.java b/java/demo/book/freeze_filesystem/Server.java
index 6e66f3ccb3f..10deb39e8a6 100644
--- a/java/demo/book/freeze_filesystem/Server.java
+++ b/java/demo/book/freeze_filesystem/Server.java
@@ -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/java/demo/book/freeze_filesystem/build.xml b/java/demo/book/freeze_filesystem/build.xml
index b2c9993bb02..3b0e0824433 100644
--- a/java/demo/book/freeze_filesystem/build.xml
+++ b/java/demo/book/freeze_filesystem/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/book/freeze_filesystem/expect.py b/java/demo/book/freeze_filesystem/expect.py
index 2eed0ed6846..dcb76d36540 100755
--- a/java/demo/book/freeze_filesystem/expect.py
+++ b/java/demo/book/freeze_filesystem/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/java/demo/book/lifecycle/Client.java b/java/demo/book/lifecycle/Client.java
index 8599d43e81d..710a52649e3 100644
--- a/java/demo/book/lifecycle/Client.java
+++ b/java/demo/book/lifecycle/Client.java
@@ -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/java/demo/book/lifecycle/FilesystemI/DirectoryI.java b/java/demo/book/lifecycle/FilesystemI/DirectoryI.java
index c99ada4112c..f2ff137238d 100644
--- a/java/demo/book/lifecycle/FilesystemI/DirectoryI.java
+++ b/java/demo/book/lifecycle/FilesystemI/DirectoryI.java
@@ -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/java/demo/book/lifecycle/FilesystemI/FileI.java b/java/demo/book/lifecycle/FilesystemI/FileI.java
index cb0fd1b5eec..1dbb8578ab2 100644
--- a/java/demo/book/lifecycle/FilesystemI/FileI.java
+++ b/java/demo/book/lifecycle/FilesystemI/FileI.java
@@ -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/java/demo/book/lifecycle/FilesystemI/NodeI.java b/java/demo/book/lifecycle/FilesystemI/NodeI.java
index 35e6d90c28f..22b852a2870 100644
--- a/java/demo/book/lifecycle/FilesystemI/NodeI.java
+++ b/java/demo/book/lifecycle/FilesystemI/NodeI.java
@@ -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/java/demo/book/lifecycle/Grammar.java b/java/demo/book/lifecycle/Grammar.java
index 92da79a56d0..e9e94969364 100644
--- a/java/demo/book/lifecycle/Grammar.java
+++ b/java/demo/book/lifecycle/Grammar.java
@@ -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/java/demo/book/lifecycle/Parser.java b/java/demo/book/lifecycle/Parser.java
index 94e4af53654..3bf9e0965dd 100644
--- a/java/demo/book/lifecycle/Parser.java
+++ b/java/demo/book/lifecycle/Parser.java
@@ -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/java/demo/book/lifecycle/Scanner.java b/java/demo/book/lifecycle/Scanner.java
index d318ed291f0..3283176018d 100644
--- a/java/demo/book/lifecycle/Scanner.java
+++ b/java/demo/book/lifecycle/Scanner.java
@@ -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/java/demo/book/lifecycle/Server.java b/java/demo/book/lifecycle/Server.java
index c6f681db73a..afa26093a42 100644
--- a/java/demo/book/lifecycle/Server.java
+++ b/java/demo/book/lifecycle/Server.java
@@ -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.
@@ -9,7 +9,7 @@
import FilesystemI.*;
-class FilesystemApp extends Ice.Application
+class Server extends Ice.Application
{
public int
run(String[] args)
@@ -44,14 +44,11 @@ class FilesystemApp extends Ice.Application
return 0;
}
-}
-public class Server
-{
static public void
main(String[] args)
{
- FilesystemApp app = new FilesystemApp();
+ Server app = new Server();
app.main("demo.book.lifecycle.Server", args);
}
}
diff --git a/java/demo/book/lifecycle/Token.java b/java/demo/book/lifecycle/Token.java
index 7fe92e242e0..e9b76961ea7 100644
--- a/java/demo/book/lifecycle/Token.java
+++ b/java/demo/book/lifecycle/Token.java
@@ -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/java/demo/book/lifecycle/build.xml b/java/demo/book/lifecycle/build.xml
index 8a6f3b863e3..d2eb8aaed7d 100644
--- a/java/demo/book/lifecycle/build.xml
+++ b/java/demo/book/lifecycle/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/book/lifecycle/expect.py b/java/demo/book/lifecycle/expect.py
index 16e70346c88..bc04bcbcfd2 100755
--- a/java/demo/book/lifecycle/expect.py
+++ b/java/demo/book/lifecycle/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/java/demo/book/printer/Client.java b/java/demo/book/printer/Client.java
index c10f90d758f..bb18ab4bc71 100644
--- a/java/demo/book/printer/Client.java
+++ b/java/demo/book/printer/Client.java
@@ -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/java/demo/book/printer/Printer.ice b/java/demo/book/printer/Printer.ice
index 3034d48d42e..f48d35d699f 100755
--- a/java/demo/book/printer/Printer.ice
+++ b/java/demo/book/printer/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/java/demo/book/printer/PrinterI.java b/java/demo/book/printer/PrinterI.java
index a8395783351..a00699af269 100644
--- a/java/demo/book/printer/PrinterI.java
+++ b/java/demo/book/printer/PrinterI.java
@@ -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/java/demo/book/printer/Server.java b/java/demo/book/printer/Server.java
index 76776afbb4a..5d278107c7b 100644
--- a/java/demo/book/printer/Server.java
+++ b/java/demo/book/printer/Server.java
@@ -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/java/demo/book/printer/build.xml b/java/demo/book/printer/build.xml
index bae3f66e824..6c301709715 100755
--- a/java/demo/book/printer/build.xml
+++ b/java/demo/book/printer/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/book/printer/expect.py b/java/demo/book/printer/expect.py
index e0313a4ef97..9a2038a091e 100755
--- a/java/demo/book/printer/expect.py
+++ b/java/demo/book/printer/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/java/demo/book/simple_filesystem/Client.java b/java/demo/book/simple_filesystem/Client.java
index c79d04710e5..fa90748d197 100644
--- a/java/demo/book/simple_filesystem/Client.java
+++ b/java/demo/book/simple_filesystem/Client.java
@@ -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/java/demo/book/simple_filesystem/Filesystem.ice b/java/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100755
--- a/java/demo/book/simple_filesystem/Filesystem.ice
+++ b/java/demo/book/simple_filesystem/Filesystem.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/java/demo/book/simple_filesystem/Filesystem/DirectoryI.java b/java/demo/book/simple_filesystem/Filesystem/DirectoryI.java
index 016e7ff2275..cd6176f6918 100644
--- a/java/demo/book/simple_filesystem/Filesystem/DirectoryI.java
+++ b/java/demo/book/simple_filesystem/Filesystem/DirectoryI.java
@@ -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/java/demo/book/simple_filesystem/Filesystem/FileI.java b/java/demo/book/simple_filesystem/Filesystem/FileI.java
index 296bc1aadf4..62708293e40 100644
--- a/java/demo/book/simple_filesystem/Filesystem/FileI.java
+++ b/java/demo/book/simple_filesystem/Filesystem/FileI.java
@@ -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/java/demo/book/simple_filesystem/Server.java b/java/demo/book/simple_filesystem/Server.java
index 831c27354a8..5d4101af9cc 100644
--- a/java/demo/book/simple_filesystem/Server.java
+++ b/java/demo/book/simple_filesystem/Server.java
@@ -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/java/demo/book/simple_filesystem/build.xml b/java/demo/book/simple_filesystem/build.xml
index 0aeab2be8ea..fce7a7f8981 100755
--- a/java/demo/book/simple_filesystem/build.xml
+++ b/java/demo/book/simple_filesystem/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/demo/book/simple_filesystem/expect.py b/java/demo/book/simple_filesystem/expect.py
index aecbbc55c55..f0b6d5e7b0a 100755
--- a/java/demo/book/simple_filesystem/expect.py
+++ b/java/demo/book/simple_filesystem/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/java/demo/build.xml b/java/demo/build.xml
index a4ed891a065..7b33f34e6f2 100644
--- a/java/demo/build.xml
+++ b/java/demo/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/resources/IceGridAdmin/icegridadmin_content_dyn.html b/java/resources/IceGridAdmin/icegridadmin_content_dyn.html
index 0e7be119e93..0e7be119e93 100644..100755
--- a/java/resources/IceGridAdmin/icegridadmin_content_dyn.html
+++ b/java/resources/IceGridAdmin/icegridadmin_content_dyn.html
diff --git a/java/resources/IceGridAdmin/icegridadmin_content_static.html b/java/resources/IceGridAdmin/icegridadmin_content_static.html
index 9b92d17d9ef..9b92d17d9ef 100644..100755
--- a/java/resources/IceGridAdmin/icegridadmin_content_static.html
+++ b/java/resources/IceGridAdmin/icegridadmin_content_static.html
diff --git a/java/resources/IceGridAdmin/icegridadmin_ftsearch.html b/java/resources/IceGridAdmin/icegridadmin_ftsearch.html
index 0d279cbf3a0..0d279cbf3a0 100644..100755
--- a/java/resources/IceGridAdmin/icegridadmin_ftsearch.html
+++ b/java/resources/IceGridAdmin/icegridadmin_ftsearch.html
diff --git a/java/resources/IceGridAdmin/icegridadmin_kwindex_dyn.html b/java/resources/IceGridAdmin/icegridadmin_kwindex_dyn.html
index 5612ad9e86b..5612ad9e86b 100644..100755
--- a/java/resources/IceGridAdmin/icegridadmin_kwindex_dyn.html
+++ b/java/resources/IceGridAdmin/icegridadmin_kwindex_dyn.html
diff --git a/java/resources/IceGridAdmin/icegridadmin_kwindex_static.html b/java/resources/IceGridAdmin/icegridadmin_kwindex_static.html
index f87729b9a3e..f87729b9a3e 100644..100755
--- a/java/resources/IceGridAdmin/icegridadmin_kwindex_static.html
+++ b/java/resources/IceGridAdmin/icegridadmin_kwindex_static.html
diff --git a/java/resources/IceGridAdmin/index.html b/java/resources/IceGridAdmin/index.html
index a43519cacf5..a43519cacf5 100644..100755
--- a/java/resources/IceGridAdmin/index.html
+++ b/java/resources/IceGridAdmin/index.html
diff --git a/java/src/Freeze/BackgroundSaveEvictorI.java b/java/src/Freeze/BackgroundSaveEvictorI.java
index 8a7afcdd122..d4bdc48b1f3 100644
--- a/java/src/Freeze/BackgroundSaveEvictorI.java
+++ b/java/src/Freeze/BackgroundSaveEvictorI.java
@@ -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/java/src/Freeze/ConnectionI.java b/java/src/Freeze/ConnectionI.java
index 45053c39556..9b403b345bb 100644
--- a/java/src/Freeze/ConnectionI.java
+++ b/java/src/Freeze/ConnectionI.java
@@ -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/java/src/Freeze/EvictorElement.java b/java/src/Freeze/EvictorElement.java
index 8af236adb66..67e28c49135 100644
--- a/java/src/Freeze/EvictorElement.java
+++ b/java/src/Freeze/EvictorElement.java
@@ -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/java/src/Freeze/EvictorI.java b/java/src/Freeze/EvictorI.java
index 51b62e314dc..d22cf30c231 100644
--- a/java/src/Freeze/EvictorI.java
+++ b/java/src/Freeze/EvictorI.java
@@ -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/java/src/Freeze/EvictorIteratorI.java b/java/src/Freeze/EvictorIteratorI.java
index 3ab62054319..98bacdde010 100644
--- a/java/src/Freeze/EvictorIteratorI.java
+++ b/java/src/Freeze/EvictorIteratorI.java
@@ -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/java/src/Freeze/FatalErrorCallback.java b/java/src/Freeze/FatalErrorCallback.java
index 2d396d2b39b..2fcfdf95cf0 100644
--- a/java/src/Freeze/FatalErrorCallback.java
+++ b/java/src/Freeze/FatalErrorCallback.java
@@ -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/java/src/Freeze/Index.java b/java/src/Freeze/Index.java
index f1683336e3a..86fb253f3bc 100644
--- a/java/src/Freeze/Index.java
+++ b/java/src/Freeze/Index.java
@@ -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/java/src/Freeze/KeyCodec.java b/java/src/Freeze/KeyCodec.java
index 008f430096a..3f4697c658f 100644
--- a/java/src/Freeze/KeyCodec.java
+++ b/java/src/Freeze/KeyCodec.java
@@ -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/java/src/Freeze/LinkedList.java b/java/src/Freeze/LinkedList.java
index fe2e2e07a3e..c4457255527 100644
--- a/java/src/Freeze/LinkedList.java
+++ b/java/src/Freeze/LinkedList.java
@@ -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/java/src/Freeze/Map.java b/java/src/Freeze/Map.java
index b2ad20012c0..495ccf7f721 100644
--- a/java/src/Freeze/Map.java
+++ b/java/src/Freeze/Map.java
@@ -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/java/src/Freeze/MapDb.java b/java/src/Freeze/MapDb.java
index f3da5854bd0..1089d32c027 100644
--- a/java/src/Freeze/MapDb.java
+++ b/java/src/Freeze/MapDb.java
@@ -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/java/src/Freeze/ObjectStore.java b/java/src/Freeze/ObjectStore.java
index 2cd501aef15..230863042e4 100644
--- a/java/src/Freeze/ObjectStore.java
+++ b/java/src/Freeze/ObjectStore.java
@@ -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/java/src/Freeze/PingObject.ice b/java/src/Freeze/PingObject.ice
index 0fc98ca58ee..9ef1772eb57 100644
--- a/java/src/Freeze/PingObject.ice
+++ b/java/src/Freeze/PingObject.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/java/src/Freeze/PostCompletionCallback.java b/java/src/Freeze/PostCompletionCallback.java
index 8de65d03df4..97740a1f82e 100644
--- a/java/src/Freeze/PostCompletionCallback.java
+++ b/java/src/Freeze/PostCompletionCallback.java
@@ -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/java/src/Freeze/SharedDbEnv.java b/java/src/Freeze/SharedDbEnv.java
index 5f413dd632a..983740d0f06 100644
--- a/java/src/Freeze/SharedDbEnv.java
+++ b/java/src/Freeze/SharedDbEnv.java
@@ -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/java/src/Freeze/SubMap.java b/java/src/Freeze/SubMap.java
index f1a6c730498..f7b9f94ea6c 100644
--- a/java/src/Freeze/SubMap.java
+++ b/java/src/Freeze/SubMap.java
@@ -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/java/src/Freeze/TransactionI.java b/java/src/Freeze/TransactionI.java
index b1d0a807048..2644f9c0fee 100644
--- a/java/src/Freeze/TransactionI.java
+++ b/java/src/Freeze/TransactionI.java
@@ -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.
@@ -222,7 +222,14 @@ class TransactionI implements Transaction
{
if(_postCompletionCallback != null)
{
- _postCompletionCallback.postCompletion(committed, deadlock);
+ try
+ {
+ _postCompletionCallback.postCompletion(committed, deadlock);
+ }
+ finally
+ {
+ _postCompletionCallback = null;
+ }
}
}
diff --git a/java/src/Freeze/TransactionalEvictorContext.java b/java/src/Freeze/TransactionalEvictorContext.java
index 2de368abeb0..094b310b590 100644
--- a/java/src/Freeze/TransactionalEvictorContext.java
+++ b/java/src/Freeze/TransactionalEvictorContext.java
@@ -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/java/src/Freeze/TransactionalEvictorDeadlockException.java b/java/src/Freeze/TransactionalEvictorDeadlockException.java
index b1dc75c1379..5f3383728d2 100644
--- a/java/src/Freeze/TransactionalEvictorDeadlockException.java
+++ b/java/src/Freeze/TransactionalEvictorDeadlockException.java
@@ -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/java/src/Freeze/TransactionalEvictorI.java b/java/src/Freeze/TransactionalEvictorI.java
index 6d44f055ea3..2e45a405d2d 100644
--- a/java/src/Freeze/TransactionalEvictorI.java
+++ b/java/src/Freeze/TransactionalEvictorI.java
@@ -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.
@@ -252,6 +252,16 @@ class TransactionalEvictorI extends EvictorI implements TransactionalEvictor
{
if(_deactivateController.deactivate())
{
+ synchronized(this)
+ {
+ //
+ // Set the evictor size to zero, meaning that we will evict
+ // everything possible.
+ //
+ _evictorSize = 0;
+ evict();
+ }
+
try
{
closeDbEnv();
diff --git a/java/src/Freeze/Util.java b/java/src/Freeze/Util.java
index e8f08fa5b8f..10497faf7a4 100644
--- a/java/src/Freeze/Util.java
+++ b/java/src/Freeze/Util.java
@@ -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/java/src/Ice/AMD_Object_ice_invoke.java b/java/src/Ice/AMD_Object_ice_invoke.java
index 3e16a596bc2..43a0edc9765 100644
--- a/java/src/Ice/AMD_Object_ice_invoke.java
+++ b/java/src/Ice/AMD_Object_ice_invoke.java
@@ -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/java/src/Ice/AMISentCallback.java b/java/src/Ice/AMISentCallback.java
index 0e0f6de732f..2aca793f7f8 100644
--- a/java/src/Ice/AMISentCallback.java
+++ b/java/src/Ice/AMISentCallback.java
@@ -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/java/src/Ice/AMI_Object_ice_flushBatchRequests.java b/java/src/Ice/AMI_Object_ice_flushBatchRequests.java
index 9087b9e1c26..08d363273af 100644
--- a/java/src/Ice/AMI_Object_ice_flushBatchRequests.java
+++ b/java/src/Ice/AMI_Object_ice_flushBatchRequests.java
@@ -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/java/src/Ice/AMI_Object_ice_invoke.java b/java/src/Ice/AMI_Object_ice_invoke.java
index d2a2d824ed4..aac15bd6b2d 100644
--- a/java/src/Ice/AMI_Object_ice_invoke.java
+++ b/java/src/Ice/AMI_Object_ice_invoke.java
@@ -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/java/src/Ice/Application.java b/java/src/Ice/Application.java
index b4de4b38b91..2efa5965e5c 100644
--- a/java/src/Ice/Application.java
+++ b/java/src/Ice/Application.java
@@ -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/java/src/Ice/ArrayListHolder.java b/java/src/Ice/ArrayListHolder.java
index 125c6164670..1a28bcae6b4 100644
--- a/java/src/Ice/ArrayListHolder.java
+++ b/java/src/Ice/ArrayListHolder.java
@@ -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/java/src/Ice/Blobject.java b/java/src/Ice/Blobject.java
index 2041f02b32f..67ac51fc6dc 100644
--- a/java/src/Ice/Blobject.java
+++ b/java/src/Ice/Blobject.java
@@ -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/java/src/Ice/BlobjectAsync.java b/java/src/Ice/BlobjectAsync.java
index 9c0b5e798e1..dd8d913c7ec 100644
--- a/java/src/Ice/BlobjectAsync.java
+++ b/java/src/Ice/BlobjectAsync.java
@@ -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/java/src/Ice/BooleanHolder.java b/java/src/Ice/BooleanHolder.java
index 48aeb8136ba..5dabc667b4d 100644
--- a/java/src/Ice/BooleanHolder.java
+++ b/java/src/Ice/BooleanHolder.java
@@ -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/java/src/Ice/ByteHolder.java b/java/src/Ice/ByteHolder.java
index 174cb6b3733..20d71cf2964 100644
--- a/java/src/Ice/ByteHolder.java
+++ b/java/src/Ice/ByteHolder.java
@@ -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/java/src/Ice/CommunicatorI.java b/java/src/Ice/CommunicatorI.java
index 8562f0fd7ac..7a04fd05d7b 100644
--- a/java/src/Ice/CommunicatorI.java
+++ b/java/src/Ice/CommunicatorI.java
@@ -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/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index eb9b2a88a76..b450c2ef715 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -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/java/src/Ice/DispatchInterceptor.java b/java/src/Ice/DispatchInterceptor.java
index affb1c9c9b5..5889d1b2977 100644
--- a/java/src/Ice/DispatchInterceptor.java
+++ b/java/src/Ice/DispatchInterceptor.java
@@ -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/java/src/Ice/DispatchStatus.java b/java/src/Ice/DispatchStatus.java
index 57f659c3879..7953b8c11e3 100644
--- a/java/src/Ice/DispatchStatus.java
+++ b/java/src/Ice/DispatchStatus.java
@@ -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/java/src/Ice/DoubleHolder.java b/java/src/Ice/DoubleHolder.java
index 765d7244cda..b9eccc5eeb9 100644
--- a/java/src/Ice/DoubleHolder.java
+++ b/java/src/Ice/DoubleHolder.java
@@ -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/java/src/Ice/FloatHolder.java b/java/src/Ice/FloatHolder.java
index 2933bd66d3a..db8664c680a 100644
--- a/java/src/Ice/FloatHolder.java
+++ b/java/src/Ice/FloatHolder.java
@@ -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/java/src/Ice/Holder.java b/java/src/Ice/Holder.java
index 22e16abdad8..bdd4cd86811 100644
--- a/java/src/Ice/Holder.java
+++ b/java/src/Ice/Holder.java
@@ -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/java/src/Ice/ImplicitContextI.java b/java/src/Ice/ImplicitContextI.java
index 036dfbf4627..6b5f4dac028 100644
--- a/java/src/Ice/ImplicitContextI.java
+++ b/java/src/Ice/ImplicitContextI.java
@@ -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/java/src/Ice/InitializationData.java b/java/src/Ice/InitializationData.java
index 4d99a80cd99..7f5f62822ae 100644
--- a/java/src/Ice/InitializationData.java
+++ b/java/src/Ice/InitializationData.java
@@ -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/java/src/Ice/InputStream.java b/java/src/Ice/InputStream.java
index 0164b6d8bb1..da108992b7b 100644
--- a/java/src/Ice/InputStream.java
+++ b/java/src/Ice/InputStream.java
@@ -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/java/src/Ice/InputStreamI.java b/java/src/Ice/InputStreamI.java
index c9b1a547e4b..a5f970e54d4 100644
--- a/java/src/Ice/InputStreamI.java
+++ b/java/src/Ice/InputStreamI.java
@@ -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/java/src/Ice/IntHolder.java b/java/src/Ice/IntHolder.java
index 41e18e8ea12..6a0a9d356fb 100644
--- a/java/src/Ice/IntHolder.java
+++ b/java/src/Ice/IntHolder.java
@@ -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/java/src/Ice/LinkedListHolder.java b/java/src/Ice/LinkedListHolder.java
index 9fae13d58fd..c208e7c183f 100644
--- a/java/src/Ice/LinkedListHolder.java
+++ b/java/src/Ice/LinkedListHolder.java
@@ -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/java/src/Ice/ListHolder.java b/java/src/Ice/ListHolder.java
index 469ad578464..17ebb98f39e 100644
--- a/java/src/Ice/ListHolder.java
+++ b/java/src/Ice/ListHolder.java
@@ -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/java/src/Ice/LocalException.java b/java/src/Ice/LocalException.java
index f1a52cc471a..31b5cbba85f 100644
--- a/java/src/Ice/LocalException.java
+++ b/java/src/Ice/LocalException.java
@@ -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/java/src/Ice/LocalObject.java b/java/src/Ice/LocalObject.java
index abe11f78d52..caf889604aa 100644
--- a/java/src/Ice/LocalObject.java
+++ b/java/src/Ice/LocalObject.java
@@ -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/java/src/Ice/LocalObjectHolder.java b/java/src/Ice/LocalObjectHolder.java
index a256ba5e063..d0f3e3276dd 100644
--- a/java/src/Ice/LocalObjectHolder.java
+++ b/java/src/Ice/LocalObjectHolder.java
@@ -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/java/src/Ice/LocalObjectImpl.java b/java/src/Ice/LocalObjectImpl.java
index c2f2ac733aa..c4f9c3cbf72 100644
--- a/java/src/Ice/LocalObjectImpl.java
+++ b/java/src/Ice/LocalObjectImpl.java
@@ -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/java/src/Ice/LoggerI.java b/java/src/Ice/LoggerI.java
index aa9fa251e1f..a3ab0ac071c 100644
--- a/java/src/Ice/LoggerI.java
+++ b/java/src/Ice/LoggerI.java
@@ -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 @@ public class LoggerI implements Logger
_prefix = prefix + ": ";
}
- _lineSeparator = System.getProperties().getProperty("line.separator");
+ _lineSeparator = System.getProperty("line.separator");
_date = java.text.DateFormat.getDateInstance(java.text.DateFormat.SHORT);
_time = new java.text.SimpleDateFormat(" HH:mm:ss:SSS");
}
diff --git a/java/src/Ice/LoggerPlugin.java b/java/src/Ice/LoggerPlugin.java
index c383a875f22..af812915924 100644
--- a/java/src/Ice/LoggerPlugin.java
+++ b/java/src/Ice/LoggerPlugin.java
@@ -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/java/src/Ice/LongHolder.java b/java/src/Ice/LongHolder.java
index a569a7ff029..d29b29f15c9 100644
--- a/java/src/Ice/LongHolder.java
+++ b/java/src/Ice/LongHolder.java
@@ -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/java/src/Ice/MapHolder.java b/java/src/Ice/MapHolder.java
index d781cf6f271..c1351a88ce4 100644
--- a/java/src/Ice/MapHolder.java
+++ b/java/src/Ice/MapHolder.java
@@ -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/java/src/Ice/Object.java b/java/src/Ice/Object.java
index 3d16584f709..7c1a9e21575 100644
--- a/java/src/Ice/Object.java
+++ b/java/src/Ice/Object.java
@@ -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/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java
index 5c6d7755cf1..0c1d31c38da 100644
--- a/java/src/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/ObjectAdapterI.java
@@ -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/java/src/Ice/ObjectHolder.java b/java/src/Ice/ObjectHolder.java
index d0149e8870a..6c31f835607 100644
--- a/java/src/Ice/ObjectHolder.java
+++ b/java/src/Ice/ObjectHolder.java
@@ -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/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java
index 9d69b1fa35e..4f3b2b12f0e 100644
--- a/java/src/Ice/ObjectImpl.java
+++ b/java/src/Ice/ObjectImpl.java
@@ -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/java/src/Ice/ObjectPrx.java b/java/src/Ice/ObjectPrx.java
index 4cdedc0cfda..c60bbaf1487 100644
--- a/java/src/Ice/ObjectPrx.java
+++ b/java/src/Ice/ObjectPrx.java
@@ -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/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java
index 3d7e2c691a8..d22926db9ba 100644
--- a/java/src/Ice/ObjectPrxHelper.java
+++ b/java/src/Ice/ObjectPrxHelper.java
@@ -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/java/src/Ice/ObjectPrxHelperBase.java b/java/src/Ice/ObjectPrxHelperBase.java
index 574ded0a9dd..f44b22ad66e 100644
--- a/java/src/Ice/ObjectPrxHelperBase.java
+++ b/java/src/Ice/ObjectPrxHelperBase.java
@@ -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.
@@ -908,7 +908,7 @@ public class ObjectPrxHelperBase implements ObjectPrx
if(out != null)
{
- out.__send(cnt);
+ out.__send();
}
return cnt;
diff --git a/java/src/Ice/ObjectPrxHolder.java b/java/src/Ice/ObjectPrxHolder.java
index 101dfc4c542..138230a62d4 100644
--- a/java/src/Ice/ObjectPrxHolder.java
+++ b/java/src/Ice/ObjectPrxHolder.java
@@ -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/java/src/Ice/ObjectReader.java b/java/src/Ice/ObjectReader.java
index f80b1c4fb38..04b651d0756 100644
--- a/java/src/Ice/ObjectReader.java
+++ b/java/src/Ice/ObjectReader.java
@@ -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/java/src/Ice/ObjectWriter.java b/java/src/Ice/ObjectWriter.java
index 0171061026b..0ebbb79709a 100644
--- a/java/src/Ice/ObjectWriter.java
+++ b/java/src/Ice/ObjectWriter.java
@@ -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/java/src/Ice/OutputStream.java b/java/src/Ice/OutputStream.java
index bb0615abefe..d481187c89d 100644
--- a/java/src/Ice/OutputStream.java
+++ b/java/src/Ice/OutputStream.java
@@ -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/java/src/Ice/OutputStreamI.java b/java/src/Ice/OutputStreamI.java
index 6fa1af84a2e..39130ee350a 100644
--- a/java/src/Ice/OutputStreamI.java
+++ b/java/src/Ice/OutputStreamI.java
@@ -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/java/src/Ice/PluginFactory.java b/java/src/Ice/PluginFactory.java
index a9bda64da31..4017d3ea0c2 100644
--- a/java/src/Ice/PluginFactory.java
+++ b/java/src/Ice/PluginFactory.java
@@ -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/java/src/Ice/PluginManagerI.java b/java/src/Ice/PluginManagerI.java
index 912c1203997..2c5e33bfb63 100644
--- a/java/src/Ice/PluginManagerI.java
+++ b/java/src/Ice/PluginManagerI.java
@@ -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,12 +19,12 @@ public final class PluginManagerI implements PluginManager
if(_initialized)
{
InitializationException ex = new InitializationException();
- ex.reason = "plugins already initialized";
+ ex.reason = "plug-ins already initialized";
throw ex;
}
//
- // Invoke initialize() on the plugins, in the order they were loaded.
+ // Invoke initialize() on the plug-ins, in the order they were loaded.
//
java.util.List<Plugin> initializedPlugins = new java.util.ArrayList<Plugin>();
try
@@ -40,7 +40,7 @@ public final class PluginManagerI implements PluginManager
catch(RuntimeException ex)
{
//
- // Destroy the plugins that have been successfully initialized, in the
+ // Destroy the plug-ins that have been successfully initialized, in the
// reverse order.
//
java.util.ListIterator<Plugin> i = initializedPlugins.listIterator(initializedPlugins.size());
@@ -104,11 +104,24 @@ public final class PluginManagerI implements PluginManager
{
if(_communicator != null)
{
- java.util.Iterator<Plugin> i = _plugins.values().iterator();
- while(i.hasNext())
+ if(_initialized)
{
- Plugin p = i.next();
- p.destroy();
+ java.util.Iterator<java.util.Map.Entry<String, Plugin> > i = _plugins.entrySet().iterator();
+ java.util.Map.Entry<String, Plugin> entry;
+ while(i.hasNext())
+ {
+ entry = i.next();
+ try
+ {
+ Plugin p = entry.getValue();
+ p.destroy();
+ }
+ catch(RuntimeException ex)
+ {
+ Ice.Util.getProcessLogger().warning("unexpected exception raised by plug-in '" + entry.getKey() + "' destruction.\n");
+ Ice.Util.getProcessLogger().warning("exception: " + ex.toString());
+ }
+ }
}
_communicator = null;
@@ -135,8 +148,8 @@ public final class PluginManagerI implements PluginManager
// Ice.Plugin.name[.<language>]=entry_point [args]
//
// If the Ice.PluginLoadOrder property is defined, load the
- // specified plugins in the specified order, then load any
- // remaining plugins.
+ // specified plug-ins in the specified order, then load any
+ // remaining plug-ins.
//
final String prefix = "Ice.Plugin.";
Properties properties = _communicator.getProperties();
@@ -148,7 +161,7 @@ public final class PluginManagerI implements PluginManager
if(_plugins.containsKey(loadOrder[i]))
{
PluginInitializationException ex = new PluginInitializationException();
- ex.reason = "plugin `" + loadOrder[i] + "' already loaded";
+ ex.reason = "plug-in `" + loadOrder[i] + "' already loaded";
throw ex;
}
@@ -173,13 +186,13 @@ public final class PluginManagerI implements PluginManager
else
{
PluginInitializationException ex = new PluginInitializationException();
- ex.reason = "plugin `" + loadOrder[i] + "' not defined";
+ ex.reason = "plug-in `" + loadOrder[i] + "' not defined";
throw ex;
}
}
//
- // Load any remaining plugins that weren't specified in PluginLoadOrder.
+ // Load any remaining plug-ins that weren't specified in PluginLoadOrder.
//
while(!plugins.isEmpty())
{
@@ -240,7 +253,7 @@ public final class PluginManagerI implements PluginManager
//
// An application can set Ice.InitPlugins=0 if it wants to postpone
// initialization until after it has interacted directly with the
- // plugins.
+ // plug-ins.
//
if(properties.getPropertyAsIntWithDefault("Ice.InitPlugins", 1) > 0)
{
diff --git a/java/src/Ice/PropertiesI.java b/java/src/Ice/PropertiesI.java
index 30f711f884e..8a3d3582ff8 100644
--- a/java/src/Ice/PropertiesI.java
+++ b/java/src/Ice/PropertiesI.java
@@ -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.
@@ -36,7 +36,14 @@ public final class PropertiesI implements Properties
PropertyValue pv = _properties.get(key);
if(pv == null)
{
- result = System.getProperty(key, "");
+ try
+ {
+ result = System.getProperty(key, "");
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ result = "";
+ }
}
else
{
@@ -53,7 +60,14 @@ public final class PropertiesI implements Properties
PropertyValue pv = _properties.get(key);
if(pv == null)
{
- result = System.getProperty(key, value);
+ try
+ {
+ result = System.getProperty(key, value);
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ result = value;
+ }
}
else
{
@@ -76,7 +90,13 @@ public final class PropertiesI implements Properties
PropertyValue pv = _properties.get(key);
if(pv == null)
{
- result = System.getProperty(key);
+ try
+ {
+ result = System.getProperty(key);
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ }
}
else
{
@@ -118,7 +138,13 @@ public final class PropertiesI implements Properties
PropertyValue pv = _properties.get(key);
if(pv == null)
{
- result = System.getProperty(key);
+ try
+ {
+ result = System.getProperty(key);
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ }
if(result == null)
{
return value;
@@ -621,9 +647,8 @@ public final class PropertiesI implements Properties
value = "";
}
}
- catch(SecurityException ex)
+ catch(java.lang.SecurityException ex)
{
- Ice.Util.getProcessLogger().warning("unable to access ICE_CONFIG environment variable");
value = "";
}
}
diff --git a/java/src/Ice/ProxyIdentityFacetKey.java b/java/src/Ice/ProxyIdentityFacetKey.java
index 8b3d967241a..7cf0925c66b 100644
--- a/java/src/Ice/ProxyIdentityFacetKey.java
+++ b/java/src/Ice/ProxyIdentityFacetKey.java
@@ -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/java/src/Ice/ProxyIdentityKey.java b/java/src/Ice/ProxyIdentityKey.java
index 245855f75e5..03a29f98eeb 100644
--- a/java/src/Ice/ProxyIdentityKey.java
+++ b/java/src/Ice/ProxyIdentityKey.java
@@ -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/java/src/Ice/ReadObjectCallback.java b/java/src/Ice/ReadObjectCallback.java
index ef3cb2cf44f..14510d30acb 100644
--- a/java/src/Ice/ReadObjectCallback.java
+++ b/java/src/Ice/ReadObjectCallback.java
@@ -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/java/src/Ice/Request.java b/java/src/Ice/Request.java
index c4193e0c919..71d472b18b4 100644
--- a/java/src/Ice/Request.java
+++ b/java/src/Ice/Request.java
@@ -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/java/src/Ice/ShortHolder.java b/java/src/Ice/ShortHolder.java
index 514b2a210d2..85cda396113 100644
--- a/java/src/Ice/ShortHolder.java
+++ b/java/src/Ice/ShortHolder.java
@@ -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/java/src/Ice/SignalPolicy.java b/java/src/Ice/SignalPolicy.java
index e5685aa56a9..0d4d3ffd67f 100644
--- a/java/src/Ice/SignalPolicy.java
+++ b/java/src/Ice/SignalPolicy.java
@@ -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/java/src/Ice/StringHolder.java b/java/src/Ice/StringHolder.java
index 026ff2087a1..ad626b7b57d 100644
--- a/java/src/Ice/StringHolder.java
+++ b/java/src/Ice/StringHolder.java
@@ -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/java/src/Ice/SysLoggerI.java b/java/src/Ice/SysLoggerI.java
index 8ee3a5227f4..07c23f5e96a 100644
--- a/java/src/Ice/SysLoggerI.java
+++ b/java/src/Ice/SysLoggerI.java
@@ -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/java/src/Ice/SystemException.java b/java/src/Ice/SystemException.java
index 1e4cb56a70d..9bf6794af5e 100644
--- a/java/src/Ice/SystemException.java
+++ b/java/src/Ice/SystemException.java
@@ -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/java/src/Ice/ThreadNotification.java b/java/src/Ice/ThreadNotification.java
index 967a7af93b8..3c6868e93cc 100644
--- a/java/src/Ice/ThreadNotification.java
+++ b/java/src/Ice/ThreadNotification.java
@@ -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/java/src/Ice/TieBase.java b/java/src/Ice/TieBase.java
index 8cc43214e7f..1cebb81abbc 100644
--- a/java/src/Ice/TieBase.java
+++ b/java/src/Ice/TieBase.java
@@ -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/java/src/Ice/UserException.java b/java/src/Ice/UserException.java
index 6888923a300..a9fd0fd74f8 100644
--- a/java/src/Ice/UserException.java
+++ b/java/src/Ice/UserException.java
@@ -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/java/src/Ice/UserExceptionWriter.java b/java/src/Ice/UserExceptionWriter.java
index d05e3387101..4b4909cc215 100644
--- a/java/src/Ice/UserExceptionWriter.java
+++ b/java/src/Ice/UserExceptionWriter.java
@@ -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.
@@ -25,7 +25,11 @@ public abstract class UserExceptionWriter extends UserException
public void
__write(IceInternal.BasicStream os)
{
- OutputStream stream = new OutputStreamI(_communicator, os);
+ OutputStream stream = (OutputStream)os.closure();
+ if(stream == null)
+ {
+ stream = new OutputStreamI(_communicator, os);
+ }
write(stream);
}
diff --git a/java/src/Ice/Util.java b/java/src/Ice/Util.java
index a2c19671ec6..4d9b5488691 100644
--- a/java/src/Ice/Util.java
+++ b/java/src/Ice/Util.java
@@ -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.
@@ -343,13 +343,13 @@ public final class Util
public static String
stringVersion()
{
- return "3.3.0"; // "A.B.C", with A=major, B=minor, C=patch
+ return "3.3.1"; // "A.B.C", with A=major, B=minor, C=patch
}
public static int
intVersion()
{
- return 30300; // AABBCC, with AA=major, BB=minor, CC=patch
+ return 30301; // AABBCC, with AA=major, BB=minor, CC=patch
}
private static String _localAddress = null;
diff --git a/java/src/Ice/_AMD_Object_ice_invoke.java b/java/src/Ice/_AMD_Object_ice_invoke.java
index 1827b1acb3c..f5d07bd7b3f 100644
--- a/java/src/Ice/_AMD_Object_ice_invoke.java
+++ b/java/src/Ice/_AMD_Object_ice_invoke.java
@@ -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/java/src/Ice/_ObjectDel.java b/java/src/Ice/_ObjectDel.java
index b5c9316cc99..2f5fe8adcde 100644
--- a/java/src/Ice/_ObjectDel.java
+++ b/java/src/Ice/_ObjectDel.java
@@ -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/java/src/Ice/_ObjectDelD.java b/java/src/Ice/_ObjectDelD.java
index a13b1b2f9ae..b3bdcce4461 100644
--- a/java/src/Ice/_ObjectDelD.java
+++ b/java/src/Ice/_ObjectDelD.java
@@ -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/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java
index f6750c1ec65..2390af03728 100644
--- a/java/src/Ice/_ObjectDelM.java
+++ b/java/src/Ice/_ObjectDelM.java
@@ -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/java/src/IceBox/Admin.java b/java/src/IceBox/Admin.java
index 5402d7c1086..d219a41319f 100644
--- a/java/src/IceBox/Admin.java
+++ b/java/src/IceBox/Admin.java
@@ -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/java/src/IceBox/Server.java b/java/src/IceBox/Server.java
index 95741b3f2ae..997a7251e4b 100644
--- a/java/src/IceBox/Server.java
+++ b/java/src/IceBox/Server.java
@@ -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.
@@ -29,7 +29,7 @@ public final class Server extends Ice.Application
initData.properties.setProperty("Ice.Admin.DelayCreation", "1");
Server server = new Server();
- server.main("IceBox.Server", args, initData);
+ System.exit(server.main("IceBox.Server", args, initData));
}
public int
diff --git a/java/src/IceBox/ServiceManagerI.java b/java/src/IceBox/ServiceManagerI.java
index 90fc32e4558..87fb274fac1 100644
--- a/java/src/IceBox/ServiceManagerI.java
+++ b/java/src/IceBox/ServiceManagerI.java
@@ -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.
@@ -981,7 +981,7 @@ public class ServiceManagerI extends _ServiceManagerDisp
//
// Remaining command line options are passed to the communicator. This is
- // necessary for Ice plugin properties (e.g.: IceSSL).
+ // necessary for Ice plug-in properties (e.g.: IceSSL).
//
Ice.InitializationData initData = new Ice.InitializationData();
initData.properties = properties;
diff --git a/java/src/IceGridGUI/AdapterObserverI.java b/java/src/IceGridGUI/AdapterObserverI.java
index fc41c65dea4..697efd0fb5d 100644
--- a/java/src/IceGridGUI/AdapterObserverI.java
+++ b/java/src/IceGridGUI/AdapterObserverI.java
@@ -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/java/src/IceGridGUI/AdminRouter.java b/java/src/IceGridGUI/AdminRouter.java
index ce6af420a8e..dfafff81963 100644
--- a/java/src/IceGridGUI/AdminRouter.java
+++ b/java/src/IceGridGUI/AdminRouter.java
@@ -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/java/src/IceGridGUI/Application/AbstractServerEditor.java b/java/src/IceGridGUI/Application/AbstractServerEditor.java
index 387d0786af0..4fbb68864a2 100644
--- a/java/src/IceGridGUI/Application/AbstractServerEditor.java
+++ b/java/src/IceGridGUI/Application/AbstractServerEditor.java
@@ -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/java/src/IceGridGUI/Application/Adapter.java b/java/src/IceGridGUI/Application/Adapter.java
index 0c8e5dd13b8..62f4980b792 100644
--- a/java/src/IceGridGUI/Application/Adapter.java
+++ b/java/src/IceGridGUI/Application/Adapter.java
@@ -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/java/src/IceGridGUI/Application/AdapterEditor.java b/java/src/IceGridGUI/Application/AdapterEditor.java
index 29cff212004..bbf6636ad28 100644
--- a/java/src/IceGridGUI/Application/AdapterEditor.java
+++ b/java/src/IceGridGUI/Application/AdapterEditor.java
@@ -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/java/src/IceGridGUI/Application/ApplicationEditor.java b/java/src/IceGridGUI/Application/ApplicationEditor.java
index a5a1d08b7bc..4317eeea0e2 100644
--- a/java/src/IceGridGUI/Application/ApplicationEditor.java
+++ b/java/src/IceGridGUI/Application/ApplicationEditor.java
@@ -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/java/src/IceGridGUI/Application/Communicator.java b/java/src/IceGridGUI/Application/Communicator.java
index 613f8e79788..caf677d7123 100644
--- a/java/src/IceGridGUI/Application/Communicator.java
+++ b/java/src/IceGridGUI/Application/Communicator.java
@@ -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/java/src/IceGridGUI/Application/CommunicatorChildEditor.java b/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
index 56785bc5c53..85395d1bdfc 100644
--- a/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
+++ b/java/src/IceGridGUI/Application/CommunicatorChildEditor.java
@@ -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/java/src/IceGridGUI/Application/CommunicatorSubEditor.java b/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
index 9028c610be0..3ea2bc86172 100644
--- a/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
+++ b/java/src/IceGridGUI/Application/CommunicatorSubEditor.java
@@ -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/java/src/IceGridGUI/Application/DbEnv.java b/java/src/IceGridGUI/Application/DbEnv.java
index fc40b0b649b..3653b6059e9 100644
--- a/java/src/IceGridGUI/Application/DbEnv.java
+++ b/java/src/IceGridGUI/Application/DbEnv.java
@@ -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/java/src/IceGridGUI/Application/DbEnvEditor.java b/java/src/IceGridGUI/Application/DbEnvEditor.java
index e4f49c9d63a..07f66df4d6c 100644
--- a/java/src/IceGridGUI/Application/DbEnvEditor.java
+++ b/java/src/IceGridGUI/Application/DbEnvEditor.java
@@ -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/java/src/IceGridGUI/Application/DescriptorHolder.java b/java/src/IceGridGUI/Application/DescriptorHolder.java
index c0c64dbab66..60433d97e1e 100644
--- a/java/src/IceGridGUI/Application/DescriptorHolder.java
+++ b/java/src/IceGridGUI/Application/DescriptorHolder.java
@@ -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/java/src/IceGridGUI/Application/Editable.java b/java/src/IceGridGUI/Application/Editable.java
index 5cdf9194f7d..3e4570cde79 100644
--- a/java/src/IceGridGUI/Application/Editable.java
+++ b/java/src/IceGridGUI/Application/Editable.java
@@ -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/java/src/IceGridGUI/Application/Editor.java b/java/src/IceGridGUI/Application/Editor.java
index 3e7f66a3bc4..1157c46b48e 100644
--- a/java/src/IceGridGUI/Application/Editor.java
+++ b/java/src/IceGridGUI/Application/Editor.java
@@ -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/java/src/IceGridGUI/Application/ListTextField.java b/java/src/IceGridGUI/Application/ListTextField.java
index b3e7be8efd3..77e381a87fe 100644
--- a/java/src/IceGridGUI/Application/ListTextField.java
+++ b/java/src/IceGridGUI/Application/ListTextField.java
@@ -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/java/src/IceGridGUI/Application/ListTreeNode.java b/java/src/IceGridGUI/Application/ListTreeNode.java
index 7edc5434bc4..395a4dc9b07 100644
--- a/java/src/IceGridGUI/Application/ListTreeNode.java
+++ b/java/src/IceGridGUI/Application/ListTreeNode.java
@@ -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/java/src/IceGridGUI/Application/MapField.java b/java/src/IceGridGUI/Application/MapField.java
index 88dd0c0d7df..7d695b110d9 100644
--- a/java/src/IceGridGUI/Application/MapField.java
+++ b/java/src/IceGridGUI/Application/MapField.java
@@ -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/java/src/IceGridGUI/Application/Node.java b/java/src/IceGridGUI/Application/Node.java
index 35f0650e5e6..ef9131c677f 100644
--- a/java/src/IceGridGUI/Application/Node.java
+++ b/java/src/IceGridGUI/Application/Node.java
@@ -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/java/src/IceGridGUI/Application/NodeEditor.java b/java/src/IceGridGUI/Application/NodeEditor.java
index d01ebdca69b..925fdaf3bcc 100644
--- a/java/src/IceGridGUI/Application/NodeEditor.java
+++ b/java/src/IceGridGUI/Application/NodeEditor.java
@@ -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/java/src/IceGridGUI/Application/Nodes.java b/java/src/IceGridGUI/Application/Nodes.java
index f57c5114159..70e491a8a2c 100644
--- a/java/src/IceGridGUI/Application/Nodes.java
+++ b/java/src/IceGridGUI/Application/Nodes.java
@@ -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/java/src/IceGridGUI/Application/ParameterValuesField.java b/java/src/IceGridGUI/Application/ParameterValuesField.java
index 244f367f47e..37c6e06ebff 100644
--- a/java/src/IceGridGUI/Application/ParameterValuesField.java
+++ b/java/src/IceGridGUI/Application/ParameterValuesField.java
@@ -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/java/src/IceGridGUI/Application/ParametersField.java b/java/src/IceGridGUI/Application/ParametersField.java
index 1b294c58bae..732d46a20e2 100644
--- a/java/src/IceGridGUI/Application/ParametersField.java
+++ b/java/src/IceGridGUI/Application/ParametersField.java
@@ -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/java/src/IceGridGUI/Application/PlainServer.java b/java/src/IceGridGUI/Application/PlainServer.java
index cf10e4b4163..d8f733c3955 100644
--- a/java/src/IceGridGUI/Application/PlainServer.java
+++ b/java/src/IceGridGUI/Application/PlainServer.java
@@ -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/java/src/IceGridGUI/Application/PlainServerEditor.java b/java/src/IceGridGUI/Application/PlainServerEditor.java
index 9893acb6522..8cdec9eeba3 100644
--- a/java/src/IceGridGUI/Application/PlainServerEditor.java
+++ b/java/src/IceGridGUI/Application/PlainServerEditor.java
@@ -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/java/src/IceGridGUI/Application/PlainService.java b/java/src/IceGridGUI/Application/PlainService.java
index c765fc18b88..83196b28184 100644
--- a/java/src/IceGridGUI/Application/PlainService.java
+++ b/java/src/IceGridGUI/Application/PlainService.java
@@ -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/java/src/IceGridGUI/Application/PlainServiceEditor.java b/java/src/IceGridGUI/Application/PlainServiceEditor.java
index bf9e45a0b3d..fdaf20205cf 100644
--- a/java/src/IceGridGUI/Application/PlainServiceEditor.java
+++ b/java/src/IceGridGUI/Application/PlainServiceEditor.java
@@ -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/java/src/IceGridGUI/Application/PropertiesField.java b/java/src/IceGridGUI/Application/PropertiesField.java
index 24f6ab4ea58..73e0bf387f6 100644
--- a/java/src/IceGridGUI/Application/PropertiesField.java
+++ b/java/src/IceGridGUI/Application/PropertiesField.java
@@ -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/java/src/IceGridGUI/Application/PropertySet.java b/java/src/IceGridGUI/Application/PropertySet.java
index e692c534969..4a147160405 100644
--- a/java/src/IceGridGUI/Application/PropertySet.java
+++ b/java/src/IceGridGUI/Application/PropertySet.java
@@ -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/java/src/IceGridGUI/Application/PropertySetEditor.java b/java/src/IceGridGUI/Application/PropertySetEditor.java
index 32476beaf8c..f950c8d9b6e 100644
--- a/java/src/IceGridGUI/Application/PropertySetEditor.java
+++ b/java/src/IceGridGUI/Application/PropertySetEditor.java
@@ -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/java/src/IceGridGUI/Application/PropertySetParent.java b/java/src/IceGridGUI/Application/PropertySetParent.java
index 2398a496947..3ca7756ffdf 100644
--- a/java/src/IceGridGUI/Application/PropertySetParent.java
+++ b/java/src/IceGridGUI/Application/PropertySetParent.java
@@ -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/java/src/IceGridGUI/Application/PropertySets.java b/java/src/IceGridGUI/Application/PropertySets.java
index 1d716af4682..aa7251f4dd9 100644
--- a/java/src/IceGridGUI/Application/PropertySets.java
+++ b/java/src/IceGridGUI/Application/PropertySets.java
@@ -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/java/src/IceGridGUI/Application/ReplicaGroup.java b/java/src/IceGridGUI/Application/ReplicaGroup.java
index 213cfae7dbe..1a055528fde 100644
--- a/java/src/IceGridGUI/Application/ReplicaGroup.java
+++ b/java/src/IceGridGUI/Application/ReplicaGroup.java
@@ -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/java/src/IceGridGUI/Application/ReplicaGroupEditor.java b/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
index 00ae2064b5e..2a21bb37ad1 100644
--- a/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
+++ b/java/src/IceGridGUI/Application/ReplicaGroupEditor.java
@@ -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/java/src/IceGridGUI/Application/ReplicaGroups.java b/java/src/IceGridGUI/Application/ReplicaGroups.java
index 45a8d91e725..a1d51ea6d6c 100644
--- a/java/src/IceGridGUI/Application/ReplicaGroups.java
+++ b/java/src/IceGridGUI/Application/ReplicaGroups.java
@@ -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/java/src/IceGridGUI/Application/Root.java b/java/src/IceGridGUI/Application/Root.java
index cfde67248b0..10b6d14ab0d 100644
--- a/java/src/IceGridGUI/Application/Root.java
+++ b/java/src/IceGridGUI/Application/Root.java
@@ -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/java/src/IceGridGUI/Application/Server.java b/java/src/IceGridGUI/Application/Server.java
index 74a1988dabd..eeb03a47ce9 100644
--- a/java/src/IceGridGUI/Application/Server.java
+++ b/java/src/IceGridGUI/Application/Server.java
@@ -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/java/src/IceGridGUI/Application/ServerInstance.java b/java/src/IceGridGUI/Application/ServerInstance.java
index 27889794dde..9c0661a511e 100644
--- a/java/src/IceGridGUI/Application/ServerInstance.java
+++ b/java/src/IceGridGUI/Application/ServerInstance.java
@@ -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/java/src/IceGridGUI/Application/ServerInstanceEditor.java b/java/src/IceGridGUI/Application/ServerInstanceEditor.java
index e1f8c9d8da4..eb2fefe6db6 100644
--- a/java/src/IceGridGUI/Application/ServerInstanceEditor.java
+++ b/java/src/IceGridGUI/Application/ServerInstanceEditor.java
@@ -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/java/src/IceGridGUI/Application/ServerInstancePropertySetEditor.java b/java/src/IceGridGUI/Application/ServerInstancePropertySetEditor.java
index d6c7535ce90..4821708ea54 100644
--- a/java/src/IceGridGUI/Application/ServerInstancePropertySetEditor.java
+++ b/java/src/IceGridGUI/Application/ServerInstancePropertySetEditor.java
@@ -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/java/src/IceGridGUI/Application/ServerSubEditor.java b/java/src/IceGridGUI/Application/ServerSubEditor.java
index d68dd6666b9..eac339ae784 100644
--- a/java/src/IceGridGUI/Application/ServerSubEditor.java
+++ b/java/src/IceGridGUI/Application/ServerSubEditor.java
@@ -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/java/src/IceGridGUI/Application/ServerTemplate.java b/java/src/IceGridGUI/Application/ServerTemplate.java
index 1f53659869a..681a86e704d 100644
--- a/java/src/IceGridGUI/Application/ServerTemplate.java
+++ b/java/src/IceGridGUI/Application/ServerTemplate.java
@@ -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/java/src/IceGridGUI/Application/ServerTemplateEditor.java b/java/src/IceGridGUI/Application/ServerTemplateEditor.java
index a66c2190fb1..74d27d3c01e 100644
--- a/java/src/IceGridGUI/Application/ServerTemplateEditor.java
+++ b/java/src/IceGridGUI/Application/ServerTemplateEditor.java
@@ -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/java/src/IceGridGUI/Application/ServerTemplates.java b/java/src/IceGridGUI/Application/ServerTemplates.java
index 7c5359683a2..d6945686a69 100644
--- a/java/src/IceGridGUI/Application/ServerTemplates.java
+++ b/java/src/IceGridGUI/Application/ServerTemplates.java
@@ -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/java/src/IceGridGUI/Application/Service.java b/java/src/IceGridGUI/Application/Service.java
index 2bb69535f9f..72d9511416a 100644
--- a/java/src/IceGridGUI/Application/Service.java
+++ b/java/src/IceGridGUI/Application/Service.java
@@ -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/java/src/IceGridGUI/Application/ServiceInstance.java b/java/src/IceGridGUI/Application/ServiceInstance.java
index 32a8032218f..2578a8f637e 100644
--- a/java/src/IceGridGUI/Application/ServiceInstance.java
+++ b/java/src/IceGridGUI/Application/ServiceInstance.java
@@ -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/java/src/IceGridGUI/Application/ServiceInstanceEditor.java b/java/src/IceGridGUI/Application/ServiceInstanceEditor.java
index c4987946d79..b9d13ce41f4 100644
--- a/java/src/IceGridGUI/Application/ServiceInstanceEditor.java
+++ b/java/src/IceGridGUI/Application/ServiceInstanceEditor.java
@@ -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/java/src/IceGridGUI/Application/ServiceSubEditor.java b/java/src/IceGridGUI/Application/ServiceSubEditor.java
index 95c486261b8..fea50d57f8e 100644
--- a/java/src/IceGridGUI/Application/ServiceSubEditor.java
+++ b/java/src/IceGridGUI/Application/ServiceSubEditor.java
@@ -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/java/src/IceGridGUI/Application/ServiceTemplate.java b/java/src/IceGridGUI/Application/ServiceTemplate.java
index 81b9c2af805..1d67a203a70 100644
--- a/java/src/IceGridGUI/Application/ServiceTemplate.java
+++ b/java/src/IceGridGUI/Application/ServiceTemplate.java
@@ -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/java/src/IceGridGUI/Application/ServiceTemplateEditor.java b/java/src/IceGridGUI/Application/ServiceTemplateEditor.java
index 0e46022408b..58f3013f808 100644
--- a/java/src/IceGridGUI/Application/ServiceTemplateEditor.java
+++ b/java/src/IceGridGUI/Application/ServiceTemplateEditor.java
@@ -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/java/src/IceGridGUI/Application/ServiceTemplates.java b/java/src/IceGridGUI/Application/ServiceTemplates.java
index 20290e3e1cc..a14ef5d04a4 100644
--- a/java/src/IceGridGUI/Application/ServiceTemplates.java
+++ b/java/src/IceGridGUI/Application/ServiceTemplates.java
@@ -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/java/src/IceGridGUI/Application/TemplateEditor.java b/java/src/IceGridGUI/Application/TemplateEditor.java
index 69d312c0b7f..9c768980189 100644
--- a/java/src/IceGridGUI/Application/TemplateEditor.java
+++ b/java/src/IceGridGUI/Application/TemplateEditor.java
@@ -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/java/src/IceGridGUI/Application/TemplateInstance.java b/java/src/IceGridGUI/Application/TemplateInstance.java
index 2c058357554..e9a11209632 100644
--- a/java/src/IceGridGUI/Application/TemplateInstance.java
+++ b/java/src/IceGridGUI/Application/TemplateInstance.java
@@ -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/java/src/IceGridGUI/Application/Templates.java b/java/src/IceGridGUI/Application/Templates.java
index b45147ed201..0639616500b 100644
--- a/java/src/IceGridGUI/Application/Templates.java
+++ b/java/src/IceGridGUI/Application/Templates.java
@@ -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/java/src/IceGridGUI/Application/TreeNode.java b/java/src/IceGridGUI/Application/TreeNode.java
index 8941878a121..c1128a1ee37 100644
--- a/java/src/IceGridGUI/Application/TreeNode.java
+++ b/java/src/IceGridGUI/Application/TreeNode.java
@@ -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/java/src/IceGridGUI/Application/UpdateFailedException.java b/java/src/IceGridGUI/Application/UpdateFailedException.java
index 00536055906..b5de23be3c8 100644
--- a/java/src/IceGridGUI/Application/UpdateFailedException.java
+++ b/java/src/IceGridGUI/Application/UpdateFailedException.java
@@ -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/java/src/IceGridGUI/ApplicationActions.java b/java/src/IceGridGUI/ApplicationActions.java
index 91de23b5d3e..eba5fedc70a 100644
--- a/java/src/IceGridGUI/ApplicationActions.java
+++ b/java/src/IceGridGUI/ApplicationActions.java
@@ -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/java/src/IceGridGUI/ApplicationObserverI.java b/java/src/IceGridGUI/ApplicationObserverI.java
index 8b9be21f89d..d282745e6fe 100644
--- a/java/src/IceGridGUI/ApplicationObserverI.java
+++ b/java/src/IceGridGUI/ApplicationObserverI.java
@@ -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/java/src/IceGridGUI/ApplicationPane.java b/java/src/IceGridGUI/ApplicationPane.java
index a4ca6b00ad8..4a01b91efd7 100644
--- a/java/src/IceGridGUI/ApplicationPane.java
+++ b/java/src/IceGridGUI/ApplicationPane.java
@@ -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/java/src/IceGridGUI/CellRenderer.java b/java/src/IceGridGUI/CellRenderer.java
index 8abf576f096..8e7fa5b9dbf 100644
--- a/java/src/IceGridGUI/CellRenderer.java
+++ b/java/src/IceGridGUI/CellRenderer.java
@@ -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/java/src/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/Coordinator.java
index 3a128ca91c1..84fc178a0dd 100644
--- a/java/src/IceGridGUI/Coordinator.java
+++ b/java/src/IceGridGUI/Coordinator.java
@@ -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.
@@ -1396,7 +1396,7 @@ public class Coordinator
{
JOptionPane.showMessageDialog(
parent,
- "This version of IceGrid Admin requires an IceGrid Registry version 3.2 or higher",
+ "This version of IceGrid Admin requires an IceGrid Registry version 3.3",
"Version Mismatch",
JOptionPane.ERROR_MESSAGE);
return null;
@@ -1627,6 +1627,11 @@ public class Coordinator
return _sessionKeeper.addCallback(servant, name, facet);
}
+ public Ice.ObjectPrx retrieveCallback(String name, String facet)
+ {
+ return _sessionKeeper.retrieveCallback(name, facet);
+ }
+
public Ice.Object removeCallback(String name, String facet)
{
return _sessionKeeper.removeCallback(name, facet);
@@ -2477,7 +2482,7 @@ public class Coordinator
{
String text = "IceGrid Admin version "
+ Ice.Util.stringVersion() + "\n"
- + "Copyright \u00A9 2005-2008 ZeroC, Inc. All rights reserved.\n";
+ + "Copyright \u00A9 2005-2009 ZeroC, Inc. All rights reserved.\n";
JOptionPane.showMessageDialog(
_mainFrame,
diff --git a/java/src/IceGridGUI/EditorBase.java b/java/src/IceGridGUI/EditorBase.java
index c41c9d92a80..9d6d66829d4 100644
--- a/java/src/IceGridGUI/EditorBase.java
+++ b/java/src/IceGridGUI/EditorBase.java
@@ -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/java/src/IceGridGUI/LiveActions.java b/java/src/IceGridGUI/LiveActions.java
index fa43481bfe9..ec939d2279b 100644
--- a/java/src/IceGridGUI/LiveActions.java
+++ b/java/src/IceGridGUI/LiveActions.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Adapter.java b/java/src/IceGridGUI/LiveDeployment/Adapter.java
index e2fa25e0108..13a61fd5e2e 100644
--- a/java/src/IceGridGUI/LiveDeployment/Adapter.java
+++ b/java/src/IceGridGUI/LiveDeployment/Adapter.java
@@ -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/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java b/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
index dcf044846a5..b1fd5c4f22b 100644
--- a/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/AdapterEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ApplicationDetailsDialog.java b/java/src/IceGridGUI/LiveDeployment/ApplicationDetailsDialog.java
index 0b02dac8d14..5ea9b7bfaa3 100644
--- a/java/src/IceGridGUI/LiveDeployment/ApplicationDetailsDialog.java
+++ b/java/src/IceGridGUI/LiveDeployment/ApplicationDetailsDialog.java
@@ -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/java/src/IceGridGUI/LiveDeployment/CommunicatorEditor.java b/java/src/IceGridGUI/LiveDeployment/CommunicatorEditor.java
index c14b2e6d71a..9c8e8b1ebc2 100644
--- a/java/src/IceGridGUI/LiveDeployment/CommunicatorEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/CommunicatorEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/DbEnv.java b/java/src/IceGridGUI/LiveDeployment/DbEnv.java
index f8e9e969af9..6b60cf05056 100644
--- a/java/src/IceGridGUI/LiveDeployment/DbEnv.java
+++ b/java/src/IceGridGUI/LiveDeployment/DbEnv.java
@@ -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/java/src/IceGridGUI/LiveDeployment/DbEnvEditor.java b/java/src/IceGridGUI/LiveDeployment/DbEnvEditor.java
index 51da5c40692..acd279cdc63 100644
--- a/java/src/IceGridGUI/LiveDeployment/DbEnvEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/DbEnvEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Editor.java b/java/src/IceGridGUI/LiveDeployment/Editor.java
index db78eff34ba..7ac4b19fd0b 100644
--- a/java/src/IceGridGUI/LiveDeployment/Editor.java
+++ b/java/src/IceGridGUI/LiveDeployment/Editor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ListArrayTreeNode.java b/java/src/IceGridGUI/LiveDeployment/ListArrayTreeNode.java
index 6c01ef65f1c..daa3b6bf437 100644
--- a/java/src/IceGridGUI/LiveDeployment/ListArrayTreeNode.java
+++ b/java/src/IceGridGUI/LiveDeployment/ListArrayTreeNode.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ListTreeNode.java b/java/src/IceGridGUI/LiveDeployment/ListTreeNode.java
index 4c7bb3f04be..55aaf4246a3 100644
--- a/java/src/IceGridGUI/LiveDeployment/ListTreeNode.java
+++ b/java/src/IceGridGUI/LiveDeployment/ListTreeNode.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Node.java b/java/src/IceGridGUI/LiveDeployment/Node.java
index beee165e4a2..f70237f67a6 100644
--- a/java/src/IceGridGUI/LiveDeployment/Node.java
+++ b/java/src/IceGridGUI/LiveDeployment/Node.java
@@ -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/java/src/IceGridGUI/LiveDeployment/NodeEditor.java b/java/src/IceGridGUI/LiveDeployment/NodeEditor.java
index 723f581490d..2533da9dc01 100644
--- a/java/src/IceGridGUI/LiveDeployment/NodeEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/NodeEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java b/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java
index cb42c56e5b6..1653cf597e4 100644
--- a/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java
+++ b/java/src/IceGridGUI/LiveDeployment/ObjectDialog.java
@@ -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/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java b/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java
index 94e66889296..bc798f75276 100644
--- a/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/RegistryEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Root.java b/java/src/IceGridGUI/LiveDeployment/Root.java
index 3eedf9032cf..41cd8016937 100644
--- a/java/src/IceGridGUI/LiveDeployment/Root.java
+++ b/java/src/IceGridGUI/LiveDeployment/Root.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Server.java b/java/src/IceGridGUI/LiveDeployment/Server.java
index a9ac2d67c1e..03b4d1e7c9c 100644
--- a/java/src/IceGridGUI/LiveDeployment/Server.java
+++ b/java/src/IceGridGUI/LiveDeployment/Server.java
@@ -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.
@@ -711,6 +711,21 @@ class Server extends ListArrayTreeNode
}
}
+ void updateServices()
+ {
+ for(Service service: _services)
+ {
+ if(_startedServices.contains(service.getId()))
+ {
+ service.started();
+ }
+ else
+ {
+ service.stopped();
+ }
+ }
+ }
+
void rebuild(Server server)
{
_resolver = server._resolver;
@@ -722,6 +737,10 @@ class Server extends ListArrayTreeNode
_dbEnvs = server._dbEnvs;
_services = server._services;
+ _childrenArray[0] = _adapters;
+ _childrenArray[1] = _dbEnvs;
+ _childrenArray[2] = _services;
+
//
// Need to re-parent all the children
//
@@ -740,9 +759,7 @@ class Server extends ListArrayTreeNode
service.reparent(this);
}
- _childrenArray[0] = _adapters;
- _childrenArray[1] = _dbEnvs;
- _childrenArray[2] = _services;
+ updateServices();
getRoot().getTreeModel().nodeStructureChanged(this);
}
@@ -777,6 +794,7 @@ class Server extends ListArrayTreeNode
_services.clear();
_servicePropertySets.clear();
createServices();
+ updateServices();
getRoot().getTreeModel().nodeStructureChanged(this);
}
@@ -785,6 +803,8 @@ class Server extends ListArrayTreeNode
_services.clear();
_servicePropertySets.clear();
createServices();
+ updateServices();
+
getRoot().getTreeModel().nodeStructureChanged(this);
}
}
@@ -813,63 +833,77 @@ class Server extends ListArrayTreeNode
{
if(_serviceObserver == null)
{
- IceBox.ServiceObserver servant = new IceBox._ServiceObserverDisp()
- {
- public void servicesStarted(final String[] services, Ice.Current current)
+ _serviceObserver = IceBox.ServiceObserverPrxHelper.uncheckedCast(
+ getCoordinator().retrieveCallback(_id, "IceBox.ServiceManager"));
+
+ if(_serviceObserver == null)
+ {
+ IceBox.ServiceObserver servant = new IceBox._ServiceObserverDisp()
{
- final java.util.Set<String> serviceSet = new java.util.HashSet<String>(java.util.Arrays.asList(services));
-
- SwingUtilities.invokeLater(new Runnable()
- {
- public void run()
+ public void servicesStarted(final String[] services, Ice.Current current)
+ {
+ final java.util.Set<String> serviceSet = new java.util.HashSet<String>(java.util.Arrays.asList(services));
+
+ SwingUtilities.invokeLater(new Runnable()
{
- for(Service service: _services)
+ public void run()
{
- if(serviceSet.contains(service.getId()))
+ for(Service service: _services)
{
- service.started();
+ if(serviceSet.contains(service.getId()))
+ {
+ service.started();
+ }
}
+ _startedServices.addAll(serviceSet);
+ getCoordinator().getLiveDeploymentPane().refresh();
}
- getCoordinator().getLiveDeploymentPane().refresh();
- }
- });
- }
-
- public void servicesStopped(final String[] services, Ice.Current current)
- {
- final java.util.Set<String> serviceSet = new java.util.HashSet<String>(java.util.Arrays.asList(services));
+ });
+ }
- SwingUtilities.invokeLater(new Runnable()
- {
- public void run()
+ public void servicesStopped(final String[] services, Ice.Current current)
+ {
+ final java.util.Set<String> serviceSet = new java.util.HashSet<String>(java.util.Arrays.asList(services));
+
+ SwingUtilities.invokeLater(new Runnable()
{
- for(Service service: _services)
+ public void run()
{
- if(serviceSet.contains(service.getId()))
+ for(Service service: _services)
{
- service.stopped();
+ if(serviceSet.contains(service.getId()))
+ {
+ service.stopped();
+ }
}
+ _startedServices.removeAll(serviceSet);
+ getCoordinator().getLiveDeploymentPane().refresh();
}
- getCoordinator().getLiveDeploymentPane().refresh();
- }
- });
- }
-
- };
+ });
+ }
+
+ };
- _serviceObserver = IceBox.ServiceObserverPrxHelper.uncheckedCast(
- getCoordinator().addCallback(servant, _id, "IceBox.ServiceManager"));
+ _serviceObserver = IceBox.ServiceObserverPrxHelper.uncheckedCast(
+ getCoordinator().addCallback(servant, _id, "IceBox.ServiceManager"));
- if(_serviceObserver == null)
- {
- // TODO: log/report condition (observer not available, e.g. adapter not configured)
+ if(_serviceObserver == null)
+ {
+ JOptionPane.showMessageDialog(
+ getCoordinator().getMainFrame(),
+ "Could not create servant for service-manager observer",
+ "Observer creation error",
+ JOptionPane.ERROR_MESSAGE);
+ }
}
+
}
-
+
if(_serviceObserver != null)
{
//
// Add observer to service manager using AMI call
+ // Note that duplicate registrations are ignored
//
IceBox.AMI_ServiceManager_addObserver cb = new IceBox.AMI_ServiceManager_addObserver()
@@ -881,7 +915,11 @@ class Server extends ListArrayTreeNode
public void ice_exception(Ice.LocalException e)
{
- // TODO: log/report exception
+ JOptionPane.showMessageDialog(
+ getCoordinator().getMainFrame(),
+ "Failed to register service-manager observer: " + e.toString(),
+ "Observer registration error",
+ JOptionPane.ERROR_MESSAGE);
}
};
@@ -897,20 +935,24 @@ class Server extends ListArrayTreeNode
}
catch(Ice.LocalException ex)
{
- // TODO: log/report exception
+ JOptionPane.showMessageDialog(
+ getCoordinator().getMainFrame(),
+ "Failed to contact service-manager: " + ex.toString(),
+ "Observer communication error",
+ JOptionPane.ERROR_MESSAGE);
}
}
}
}
- else if(_state == null || _state == ServerState.Inactive)
+ }
+ else if(_state == null || _state == ServerState.Inactive)
+ {
+ for(Service service: _services)
{
- for(Service service: _services)
- {
- service.stopped();
- }
+ service.stopped();
}
}
-
+
if(fireEvent)
{
getRoot().getTreeModel().nodeChanged(this);
@@ -1157,6 +1199,8 @@ class Server extends ListArrayTreeNode
private java.util.List<DbEnv> _dbEnvs = new java.util.LinkedList<DbEnv>();
private java.util.List<Service> _services = new java.util.LinkedList<Service>();
+ private java.util.Set<String> _startedServices = new java.util.HashSet<String>();
+
private ServerState _state;
private boolean _enabled;
private int _stateIconIndex;
diff --git a/java/src/IceGridGUI/LiveDeployment/ServerEditor.java b/java/src/IceGridGUI/LiveDeployment/ServerEditor.java
index 6b81a98c045..a7f09225582 100644
--- a/java/src/IceGridGUI/LiveDeployment/ServerEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/ServerEditor.java
@@ -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.
@@ -95,6 +95,9 @@ class ServerEditor extends CommunicatorEditor
void show(Server server)
{
+
+ Server previousServer = _target;
+
_target = server;
ServerState state = server.getState();
@@ -108,6 +111,7 @@ class ServerEditor extends CommunicatorEditor
_currentPid.setText("");
_buildId.setText("Unknown");
_properties.clear();
+ _propertiesRetrieved = false;
_refreshButton.setEnabled(false);
}
else
@@ -128,19 +132,29 @@ class ServerEditor extends CommunicatorEditor
int iceIntVersion = server.getIceVersion();
if(state == ServerState.Active && (iceIntVersion == 0 || iceIntVersion >= 30300))
{
- _buildId.setText("Retrieving...");
- _properties.clear();
+ if(!_propertiesRetrieved || previousServer != server)
+ {
+ _buildId.setText("Retrieving...");
+ _properties.clear();
+ //
+ // Retrieve all properties in background
+ //
+ _target.showRuntimeProperties();
+ _propertiesRetrieved = true; // set to true immediately to avoid 'spinning'
+ }
+
//
- // Retrieve all properties in background
+ // Otherwise, use current value
//
- _target.showRuntimeProperties();
_refreshButton.setEnabled(true);
+
}
else
{
_buildId.setText("");
_properties.clear();
+ _propertiesRetrieved = false;
_refreshButton.setEnabled(false);
}
}
@@ -215,7 +229,8 @@ class ServerEditor extends CommunicatorEditor
if(server == _target)
{
_properties.setSortedMap(map);
-
+ _propertiesRetrieved = true;
+
String buildString = (String)map.get("BuildId");
if(buildString == null)
{
@@ -370,6 +385,7 @@ class ServerEditor extends CommunicatorEditor
private JTextField _buildId = new JTextField(20);
private JButton _refreshButton;
private TableField _properties = new TableField("Name", "Value");
+ private boolean _propertiesRetrieved = false;
private JTextField _application = new JTextField(20);
private JButton _gotoApplication;
diff --git a/java/src/IceGridGUI/LiveDeployment/Service.java b/java/src/IceGridGUI/LiveDeployment/Service.java
index 4d39989f053..121e9eebae6 100644
--- a/java/src/IceGridGUI/LiveDeployment/Service.java
+++ b/java/src/IceGridGUI/LiveDeployment/Service.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java b/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java
index 2ceb377b088..5b09f6303a5 100644
--- a/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/ServiceEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ShowLogDialog.java b/java/src/IceGridGUI/LiveDeployment/ShowLogDialog.java
index 954de69f341..f7abb46f130 100644
--- a/java/src/IceGridGUI/LiveDeployment/ShowLogDialog.java
+++ b/java/src/IceGridGUI/LiveDeployment/ShowLogDialog.java
@@ -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/java/src/IceGridGUI/LiveDeployment/ShowLogPrefsDialog.java b/java/src/IceGridGUI/LiveDeployment/ShowLogPrefsDialog.java
index 433708d4168..c3dea18def7 100644
--- a/java/src/IceGridGUI/LiveDeployment/ShowLogPrefsDialog.java
+++ b/java/src/IceGridGUI/LiveDeployment/ShowLogPrefsDialog.java
@@ -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/java/src/IceGridGUI/LiveDeployment/Slave.java b/java/src/IceGridGUI/LiveDeployment/Slave.java
index ab2d0fb700a..59296eb1ea1 100644
--- a/java/src/IceGridGUI/LiveDeployment/Slave.java
+++ b/java/src/IceGridGUI/LiveDeployment/Slave.java
@@ -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/java/src/IceGridGUI/LiveDeployment/SlaveEditor.java b/java/src/IceGridGUI/LiveDeployment/SlaveEditor.java
index 2fdda458114..7c18b50688a 100644
--- a/java/src/IceGridGUI/LiveDeployment/SlaveEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/SlaveEditor.java
@@ -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/java/src/IceGridGUI/LiveDeployment/TableField.java b/java/src/IceGridGUI/LiveDeployment/TableField.java
index 8400e8b0011..9e2c4c27cec 100644
--- a/java/src/IceGridGUI/LiveDeployment/TableField.java
+++ b/java/src/IceGridGUI/LiveDeployment/TableField.java
@@ -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/java/src/IceGridGUI/LiveDeployment/TreeNode.java b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
index 14cbf9b2ed4..858993dffd5 100644
--- a/java/src/IceGridGUI/LiveDeployment/TreeNode.java
+++ b/java/src/IceGridGUI/LiveDeployment/TreeNode.java
@@ -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/java/src/IceGridGUI/LiveDeployment/WriteMessageDialog.java b/java/src/IceGridGUI/LiveDeployment/WriteMessageDialog.java
index a48899c1a28..0f35c8f799b 100644
--- a/java/src/IceGridGUI/LiveDeployment/WriteMessageDialog.java
+++ b/java/src/IceGridGUI/LiveDeployment/WriteMessageDialog.java
@@ -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/java/src/IceGridGUI/LiveDeploymentPane.java b/java/src/IceGridGUI/LiveDeploymentPane.java
index b199f60c967..e978c7b5787 100644
--- a/java/src/IceGridGUI/LiveDeploymentPane.java
+++ b/java/src/IceGridGUI/LiveDeploymentPane.java
@@ -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/java/src/IceGridGUI/Logger.java b/java/src/IceGridGUI/Logger.java
index f1fd786c700..ee3aae05b58 100644
--- a/java/src/IceGridGUI/Logger.java
+++ b/java/src/IceGridGUI/Logger.java
@@ -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/java/src/IceGridGUI/Main.java b/java/src/IceGridGUI/Main.java
index e951c8c64a2..111f808de63 100644
--- a/java/src/IceGridGUI/Main.java
+++ b/java/src/IceGridGUI/Main.java
@@ -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/java/src/IceGridGUI/MainPane.java b/java/src/IceGridGUI/MainPane.java
index f7e133806b8..f27bfc8f9cc 100644
--- a/java/src/IceGridGUI/MainPane.java
+++ b/java/src/IceGridGUI/MainPane.java
@@ -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/java/src/IceGridGUI/NodeObserverI.java b/java/src/IceGridGUI/NodeObserverI.java
index 656eeef2e2d..fe362f406c9 100644
--- a/java/src/IceGridGUI/NodeObserverI.java
+++ b/java/src/IceGridGUI/NodeObserverI.java
@@ -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/java/src/IceGridGUI/ObjectObserverI.java b/java/src/IceGridGUI/ObjectObserverI.java
index d4b0229857d..cfa9eff5081 100644
--- a/java/src/IceGridGUI/ObjectObserverI.java
+++ b/java/src/IceGridGUI/ObjectObserverI.java
@@ -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/java/src/IceGridGUI/RegistryObserverI.java b/java/src/IceGridGUI/RegistryObserverI.java
index b3ebc746a20..2fcdcc98b90 100644
--- a/java/src/IceGridGUI/RegistryObserverI.java
+++ b/java/src/IceGridGUI/RegistryObserverI.java
@@ -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/java/src/IceGridGUI/SessionKeeper.java b/java/src/IceGridGUI/SessionKeeper.java
index 128ce1a7b80..6ee81ee091d 100644
--- a/java/src/IceGridGUI/SessionKeeper.java
+++ b/java/src/IceGridGUI/SessionKeeper.java
@@ -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.
@@ -99,6 +99,17 @@ class SessionKeeper
_serverAdminCategory = _admin.getServerAdminCategory();
}
+ catch(Ice.OperationNotExistException e)
+ {
+ logout(true);
+ JOptionPane.showMessageDialog(
+ parent,
+ "This version of IceGrid Admin requires an IceGrid Registry version 3.3",
+ "Login failed: Version Mismatch",
+ JOptionPane.ERROR_MESSAGE);
+ throw e;
+
+ }
catch(Ice.LocalException e)
{
logout(true);
@@ -189,6 +200,27 @@ class SessionKeeper
}
}
+ Ice.ObjectPrx retrieveCallback(String name, String facet)
+ {
+ if(_adminCallbackCategory == null)
+ {
+ return null;
+ }
+ else
+ {
+ Ice.Identity ident = new Ice.Identity(name, _adminCallbackCategory);
+ if(_adapter.findFacet(ident, facet) == null)
+ {
+ return null;
+ }
+ else
+ {
+ return _adapter.createProxy(ident).ice_facet(facet);
+ }
+ }
+ }
+
+
Ice.Object removeCallback(String name, String facet)
{
if(_adminCallbackCategory == null)
@@ -1388,6 +1420,12 @@ class SessionKeeper
{
return _session == null ? null : _session.addCallback(servant, name, facet);
}
+
+ Ice.ObjectPrx retrieveCallback(String name, String facet)
+ {
+ return _session == null ? null : _session.retrieveCallback(name, facet);
+ }
+
Ice.Object removeCallback(String name, String facet)
{
diff --git a/java/src/IceGridGUI/StatusBar.java b/java/src/IceGridGUI/StatusBar.java
index 0e840875cb4..459cdbad6db 100644
--- a/java/src/IceGridGUI/StatusBar.java
+++ b/java/src/IceGridGUI/StatusBar.java
@@ -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/java/src/IceGridGUI/Tab.java b/java/src/IceGridGUI/Tab.java
index 17c872f245b..bb0cd0bfc45 100644
--- a/java/src/IceGridGUI/Tab.java
+++ b/java/src/IceGridGUI/Tab.java
@@ -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/java/src/IceGridGUI/TreeNodeBase.java b/java/src/IceGridGUI/TreeNodeBase.java
index 462f4eb5930..3a191236683 100644
--- a/java/src/IceGridGUI/TreeNodeBase.java
+++ b/java/src/IceGridGUI/TreeNodeBase.java
@@ -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/java/src/IceGridGUI/Utils.java b/java/src/IceGridGUI/Utils.java
index 85ad7c163dd..6b7582cb987 100644
--- a/java/src/IceGridGUI/Utils.java
+++ b/java/src/IceGridGUI/Utils.java
@@ -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/java/src/IceGridGUI/XMLWriter.java b/java/src/IceGridGUI/XMLWriter.java
index 30bb46ffba5..edbdf665120 100644
--- a/java/src/IceGridGUI/XMLWriter.java
+++ b/java/src/IceGridGUI/XMLWriter.java
@@ -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.
@@ -93,7 +93,7 @@ public class XMLWriter
while(p.hasNext())
{
String[] pair = (String[])p.next();
- _writer.write(" " + pair[0] + "=\"" + pair[1] + "\"");
+ _writer.write(" " + pair[0] + "=\"" + escape(pair[1]) + "\"");
}
}
}
diff --git a/java/src/IceInternal/Acceptor.java b/java/src/IceInternal/Acceptor.java
index 4c2936175af..885f475e63f 100644
--- a/java/src/IceInternal/Acceptor.java
+++ b/java/src/IceInternal/Acceptor.java
@@ -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/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index c2a3084ba67..ae39f1055bb 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -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.
@@ -68,6 +68,8 @@ public class BasicStream
{
_objectList.clear();
}
+
+ _sliceObjects = true;
}
public Instance
diff --git a/java/src/IceInternal/BatchOutgoing.java b/java/src/IceInternal/BatchOutgoing.java
index 6596a4e3375..766b8eb99d4 100644
--- a/java/src/IceInternal/BatchOutgoing.java
+++ b/java/src/IceInternal/BatchOutgoing.java
@@ -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/java/src/IceInternal/BatchOutgoingAsync.java b/java/src/IceInternal/BatchOutgoingAsync.java
index 3007e9cdf3d..4564fde7d3f 100644
--- a/java/src/IceInternal/BatchOutgoingAsync.java
+++ b/java/src/IceInternal/BatchOutgoingAsync.java
@@ -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/java/src/IceInternal/Buffer.java b/java/src/IceInternal/Buffer.java
index c45b6d96f80..cdb6b1c9ac7 100644
--- a/java/src/IceInternal/Buffer.java
+++ b/java/src/IceInternal/Buffer.java
@@ -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/java/src/IceInternal/ConnectRequestHandler.java b/java/src/IceInternal/ConnectRequestHandler.java
index 7c0a1db0c0c..3604ac8b5b8 100644
--- a/java/src/IceInternal/ConnectRequestHandler.java
+++ b/java/src/IceInternal/ConnectRequestHandler.java
@@ -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/java/src/IceInternal/ConnectionMonitor.java b/java/src/IceInternal/ConnectionMonitor.java
index 6483c5242af..2ef72a8cbe1 100644
--- a/java/src/IceInternal/ConnectionMonitor.java
+++ b/java/src/IceInternal/ConnectionMonitor.java
@@ -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/java/src/IceInternal/ConnectionRequestHandler.java b/java/src/IceInternal/ConnectionRequestHandler.java
index c02f9e580a2..f40ebd28ed9 100644
--- a/java/src/IceInternal/ConnectionRequestHandler.java
+++ b/java/src/IceInternal/ConnectionRequestHandler.java
@@ -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/java/src/IceInternal/Connector.java b/java/src/IceInternal/Connector.java
index cda93a65d91..326c264d498 100644
--- a/java/src/IceInternal/Connector.java
+++ b/java/src/IceInternal/Connector.java
@@ -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/java/src/IceInternal/DefaultsAndOverrides.java b/java/src/IceInternal/DefaultsAndOverrides.java
index 7017485a65a..026279274d1 100644
--- a/java/src/IceInternal/DefaultsAndOverrides.java
+++ b/java/src/IceInternal/DefaultsAndOverrides.java
@@ -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/java/src/IceInternal/DictionaryPatcher.java b/java/src/IceInternal/DictionaryPatcher.java
index 545d474ca08..9a20a4fbcab 100644
--- a/java/src/IceInternal/DictionaryPatcher.java
+++ b/java/src/IceInternal/DictionaryPatcher.java
@@ -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/java/src/IceInternal/Direct.java b/java/src/IceInternal/Direct.java
index bb2573c05c3..5d6f83e1966 100644
--- a/java/src/IceInternal/Direct.java
+++ b/java/src/IceInternal/Direct.java
@@ -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/java/src/IceInternal/EndpointFactory.java b/java/src/IceInternal/EndpointFactory.java
index 4032925c589..3a8f771df7a 100644
--- a/java/src/IceInternal/EndpointFactory.java
+++ b/java/src/IceInternal/EndpointFactory.java
@@ -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/java/src/IceInternal/EndpointFactoryManager.java b/java/src/IceInternal/EndpointFactoryManager.java
index f3663577f9b..98a4c393bec 100644
--- a/java/src/IceInternal/EndpointFactoryManager.java
+++ b/java/src/IceInternal/EndpointFactoryManager.java
@@ -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/java/src/IceInternal/EndpointHostResolver.java b/java/src/IceInternal/EndpointHostResolver.java
index b85be57fb0d..db943a2d560 100644
--- a/java/src/IceInternal/EndpointHostResolver.java
+++ b/java/src/IceInternal/EndpointHostResolver.java
@@ -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/java/src/IceInternal/EndpointI.java b/java/src/IceInternal/EndpointI.java
index fa5a44b9246..77073f86fa1 100644
--- a/java/src/IceInternal/EndpointI.java
+++ b/java/src/IceInternal/EndpointI.java
@@ -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/java/src/IceInternal/EndpointIHolder.java b/java/src/IceInternal/EndpointIHolder.java
index 557540133a9..80830a110a9 100644
--- a/java/src/IceInternal/EndpointIHolder.java
+++ b/java/src/IceInternal/EndpointIHolder.java
@@ -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/java/src/IceInternal/EndpointI_connectors.java b/java/src/IceInternal/EndpointI_connectors.java
index 5621d128ecd..875b23bb405 100644
--- a/java/src/IceInternal/EndpointI_connectors.java
+++ b/java/src/IceInternal/EndpointI_connectors.java
@@ -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/java/src/IceInternal/EventHandler.java b/java/src/IceInternal/EventHandler.java
index 5bb50523d2d..ba7dfd69103 100644
--- a/java/src/IceInternal/EventHandler.java
+++ b/java/src/IceInternal/EventHandler.java
@@ -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/java/src/IceInternal/Ex.java b/java/src/IceInternal/Ex.java
index 4d2fefe7636..aee311909f5 100644
--- a/java/src/IceInternal/Ex.java
+++ b/java/src/IceInternal/Ex.java
@@ -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/java/src/IceInternal/FixedReference.java b/java/src/IceInternal/FixedReference.java
index afa5744cae9..06d5e630ad2 100644
--- a/java/src/IceInternal/FixedReference.java
+++ b/java/src/IceInternal/FixedReference.java
@@ -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/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java
index 439ccc8dd1d..a72e45b74ef 100644
--- a/java/src/IceInternal/Incoming.java
+++ b/java/src/IceInternal/Incoming.java
@@ -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/java/src/IceInternal/IncomingAsync.java b/java/src/IceInternal/IncomingAsync.java
index 202922117a7..5e07fd43a78 100644
--- a/java/src/IceInternal/IncomingAsync.java
+++ b/java/src/IceInternal/IncomingAsync.java
@@ -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/java/src/IceInternal/IncomingBase.java b/java/src/IceInternal/IncomingBase.java
index c2d993f448d..2a2c5a29145 100644
--- a/java/src/IceInternal/IncomingBase.java
+++ b/java/src/IceInternal/IncomingBase.java
@@ -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/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java
index 2a6b1263e2a..bfcc28b62a1 100644
--- a/java/src/IceInternal/IncomingConnectionFactory.java
+++ b/java/src/IceInternal/IncomingConnectionFactory.java
@@ -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/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java
index 1ee242ba63c..1764476cf1d 100644
--- a/java/src/IceInternal/Instance.java
+++ b/java/src/IceInternal/Instance.java
@@ -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.
@@ -201,6 +201,17 @@ public final class Instance
return _endpointHostResolver;
}
+ synchronized public RetryQueue
+ retryQueue()
+ {
+ if(_state == StateDestroyed)
+ {
+ throw new Ice.CommunicatorDestroyedException();
+ }
+
+ return _retryQueue;
+ }
+
synchronized public Timer
timer()
{
@@ -545,7 +556,7 @@ public final class Instance
setLogger(Ice.Logger logger)
{
//
- // No locking, as it can only be called during plugin loading
+ // No locking, as it can only be called during plug-in loading
//
_initData.logger = logger;
}
@@ -673,7 +684,7 @@ public final class Instance
_routerManager = new RouterManager();
- _locatorManager = new LocatorManager();
+ _locatorManager = new LocatorManager(_initData.properties);
_referenceFactory = new ReferenceFactory(this, communicator);
@@ -713,6 +724,8 @@ public final class Instance
_objectAdapterFactory = new ObjectAdapterFactory(this, communicator);
+ _retryQueue = new RetryQueue(this);
+
//
// Add Process and Properties facets
//
@@ -753,6 +766,7 @@ public final class Instance
IceUtilInternal.Assert.FinalizerAssert(_locatorManager == null);
IceUtilInternal.Assert.FinalizerAssert(_endpointFactoryManager == null);
IceUtilInternal.Assert.FinalizerAssert(_pluginManager == null);
+ IceUtilInternal.Assert.FinalizerAssert(_retryQueue == null);
super.finalize();
}
@@ -789,7 +803,9 @@ public final class Instance
}
//
- // Start connection monitor if necessary.
+ // Start connection monitor if necessary. Set the check interval to
+ // 1/10 of the ACM timeout with a minmal value of 1 second and a
+ // maximum value of 5 minutes.
//
int interval = 0;
if(_clientACM > 0 && _serverACM > 0)
@@ -811,6 +827,10 @@ public final class Instance
{
interval = _serverACM;
}
+ if(interval > 0)
+ {
+ interval = java.lang.Math.min(300, java.lang.Math.max(1, (int)interval / 10));
+ }
interval = _initData.properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
if(interval > 0)
{
@@ -868,6 +888,11 @@ public final class Instance
{
_outgoingConnectionFactory.waitUntilFinished();
}
+
+ if(_retryQueue != null)
+ {
+ _retryQueue.destroy();
+ }
ThreadPool serverThreadPool = null;
ThreadPool clientThreadPool = null;
@@ -877,8 +902,8 @@ public final class Instance
synchronized(this)
{
_objectAdapterFactory = null;
-
_outgoingConnectionFactory = null;
+ _retryQueue = null;
if(_connectionMonitor != null)
{
@@ -1054,6 +1079,7 @@ public final class Instance
private ThreadPool _serverThreadPool;
private SelectorThread _selectorThread;
private EndpointHostResolver _endpointHostResolver;
+ private RetryQueue _retryQueue;
private Timer _timer;
private EndpointFactoryManager _endpointFactoryManager;
private Ice.PluginManager _pluginManager;
diff --git a/java/src/IceInternal/ListPatcher.java b/java/src/IceInternal/ListPatcher.java
index 6d1dfd16280..c2c17afb794 100644
--- a/java/src/IceInternal/ListPatcher.java
+++ b/java/src/IceInternal/ListPatcher.java
@@ -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/java/src/IceInternal/LocalExceptionWrapper.java b/java/src/IceInternal/LocalExceptionWrapper.java
index aa7d83b0f7f..11529b52a6f 100644
--- a/java/src/IceInternal/LocalExceptionWrapper.java
+++ b/java/src/IceInternal/LocalExceptionWrapper.java
@@ -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/java/src/IceInternal/LocatorInfo.java b/java/src/IceInternal/LocatorInfo.java
index 40c59bbd946..bcf28e5865d 100644
--- a/java/src/IceInternal/LocatorInfo.java
+++ b/java/src/IceInternal/LocatorInfo.java
@@ -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.
@@ -17,10 +17,318 @@ public final class LocatorInfo
void setException(Ice.LocalException ex);
}
- LocatorInfo(Ice.LocatorPrx locator, LocatorTable table)
+ private class RequestCallback
+ {
+ public void
+ response(LocatorInfo locatorInfo, Ice.ObjectPrx proxy)
+ {
+ EndpointI[] endpoints = null;
+ if(proxy != null)
+ {
+ Reference r = ((Ice.ObjectPrxHelperBase)proxy).__reference();
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
+ }
+ else if(_ref.isWellKnown() && !r.isWellKnown())
+ {
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ locatorInfo.getEndpoints(r, _ref, _ttl, _callback);
+ return;
+ }
+ }
+
+ if(_ref.getInstance().traceLevels().location >= 1)
+ {
+ locatorInfo.getEndpointsTrace(_ref, endpoints, false);
+ }
+ if(_callback != null)
+ {
+ _callback.setEndpoints(endpoints == null ? new EndpointI[0] : endpoints, false);
+ }
+ }
+
+ public void
+ exception(LocatorInfo locatorInfo, Exception exc)
+ {
+ try
+ {
+ locatorInfo.getEndpointsException(_ref, exc); // This throws.
+ }
+ catch(Ice.LocalException ex)
+ {
+ if(_callback != null)
+ {
+ _callback.setException(ex);
+ }
+ }
+ }
+
+ RequestCallback(Reference ref, int ttl, GetEndpointsCallback cb)
+ {
+ _ref = ref;
+ _ttl = ttl;
+ _callback = cb;
+ }
+
+ final Reference _ref;
+ final int _ttl;
+ final GetEndpointsCallback _callback;
+ };
+
+ private abstract class Request
+ {
+ synchronized public void
+ addCallback(Reference ref, Reference wellKnownRef, int ttl, GetEndpointsCallback cb)
+ {
+ RequestCallback callback = new RequestCallback(ref, ttl, cb);
+ if(_response)
+ {
+ callback.response(_locatorInfo, _proxy);
+ }
+ else if(_exception != null)
+ {
+ callback.exception(_locatorInfo, _exception);
+ }
+ else
+ {
+ _callbacks.add(callback);
+ if(wellKnownRef != null) // This request is to resolve the endpoints of a cached well-known object ref
+ {
+ _wellKnownRefs.add(wellKnownRef);
+ }
+ if(!_sent)
+ {
+ _sent = true;
+ send(true);
+ }
+ }
+ }
+
+ synchronized EndpointI[]
+ getEndpoints(Reference ref, Reference wellKnownRef, int ttl, Ice.BooleanHolder cached)
+ {
+ if(!_response || _exception == null)
+ {
+ if(wellKnownRef != null) // This request is to resolve the endpoints of a cached well-known object ref
+ {
+ _wellKnownRefs.add(wellKnownRef);
+ }
+ if(!_sent)
+ {
+ _sent = true;
+ send(true);
+ }
+
+ while(!_response && _exception == null)
+ {
+ try
+ {
+ wait();
+ }
+ catch(java.lang.InterruptedException ex)
+ {
+ }
+ }
+ }
+
+ if(_exception != null)
+ {
+ _locatorInfo.getEndpointsException(ref, _exception); // This throws.
+ }
+
+ assert(_response);
+ EndpointI[] endpoints = null;
+ if(_proxy != null)
+ {
+ Reference r = ((Ice.ObjectPrxHelperBase)_proxy).__reference();
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
+ }
+ else if(ref.isWellKnown() && !r.isWellKnown())
+ {
+ //
+ // We're resolving the endpoints of a well-known object and the proxy returned
+ // by the locator is an indirect proxy. We now need to resolve the endpoints
+ // of this indirect proxy.
+ //
+ return _locatorInfo.getEndpoints(r, ref, ttl, cached);
+ }
+ }
+
+ cached.value = false;
+ if(_ref.getInstance().traceLevels().location >= 1)
+ {
+ _locatorInfo.getEndpointsTrace(ref, endpoints, false);
+ }
+ return endpoints == null ? new EndpointI[0] : endpoints;
+ }
+
+ Request(LocatorInfo locatorInfo, Reference ref)
+ {
+ _locatorInfo = locatorInfo;
+ _ref = ref;
+ _sent = false;
+ _response = false;
+ }
+
+ synchronized protected void
+ response(Ice.ObjectPrx proxy)
+ {
+ _locatorInfo.finishRequest(_ref, _wellKnownRefs, proxy, false);
+ _response = true;
+ _proxy = proxy;
+ for(RequestCallback callback : _callbacks)
+ {
+ callback.response(_locatorInfo, proxy);
+ }
+ notifyAll();
+ }
+
+ protected void
+ exception(Exception ex)
+ {
+ if(ex instanceof Ice.CollocationOptimizationException)
+ {
+ send(false); // Use synchronous collocation optimized locator request instead.
+ return;
+ }
+
+ synchronized(this)
+ {
+ _locatorInfo.finishRequest(_ref, _wellKnownRefs, null, ex instanceof Ice.UserException);
+ _exception = ex;
+ for(RequestCallback callback : _callbacks)
+ {
+ callback.exception(_locatorInfo, ex);
+ }
+ notifyAll();
+ }
+ }
+
+ protected abstract void send(boolean async);
+
+ final protected LocatorInfo _locatorInfo;
+ final protected Reference _ref;
+
+ private java.util.List<RequestCallback> _callbacks = new java.util.ArrayList<RequestCallback>();
+ private java.util.List<Reference> _wellKnownRefs = new java.util.ArrayList<Reference>();
+ private boolean _sent;
+ private boolean _response;
+ private Ice.ObjectPrx _proxy;
+ private Exception _exception;
+ };
+
+ private class ObjectRequest extends Request
+ {
+ public ObjectRequest(LocatorInfo locatorInfo, Reference reference)
+ {
+ super(locatorInfo, reference);
+ assert(reference.isWellKnown());
+ }
+
+ protected void
+ send(boolean async)
+ {
+ try
+ {
+ if(async)
+ {
+ _locatorInfo.getLocator().findObjectById_async(
+ new Ice.AMI_Locator_findObjectById()
+ {
+ public void
+ ice_response(Ice.ObjectPrx proxy)
+ {
+ response(proxy);
+ }
+
+ public void
+ ice_exception(Ice.UserException ex)
+ {
+ exception(ex);
+ }
+
+ public void
+ ice_exception(Ice.LocalException ex)
+ {
+ exception(ex);
+ }
+ },
+ _ref.getIdentity());
+ }
+ else
+ {
+ response(_locatorInfo.getLocator().findObjectById(_ref.getIdentity()));
+ }
+ }
+ catch(Exception ex)
+ {
+ exception(ex);
+ }
+ }
+ };
+
+ private class AdapterRequest extends Request
+ {
+ public AdapterRequest(LocatorInfo locatorInfo, Reference reference)
+ {
+ super(locatorInfo, reference);
+ assert(reference.isIndirect());
+ }
+
+ protected void
+ send(boolean async)
+ {
+ try
+ {
+ if(async)
+ {
+ _locatorInfo.getLocator().findAdapterById_async(
+ new Ice.AMI_Locator_findAdapterById()
+ {
+ public void
+ ice_response(Ice.ObjectPrx proxy)
+ {
+ response(proxy);
+ }
+
+ public void
+ ice_exception(Ice.UserException ex)
+ {
+ exception(ex);
+ }
+
+ public void
+ ice_exception(Ice.LocalException ex)
+ {
+ exception(ex);
+ }
+ },
+ _ref.getAdapterId());
+ }
+ else
+ {
+ response(_locatorInfo.getLocator().findAdapterById(_ref.getAdapterId()));
+ }
+ }
+ catch(Exception ex)
+ {
+ exception(ex);
+ }
+ }
+ };
+
+ LocatorInfo(Ice.LocatorPrx locator, LocatorTable table, boolean background)
{
_locator = locator;
_table = table;
+ _background = background;
}
synchronized public void
@@ -74,281 +382,130 @@ public final class LocatorInfo
public EndpointI[]
getEndpoints(Reference ref, int ttl, Ice.BooleanHolder cached)
{
- assert(ref.isIndirect());
+ return getEndpoints(ref, null, ttl, cached);
+ }
+ public EndpointI[]
+ getEndpoints(Reference ref, Reference wellKnownRef, int ttl, Ice.BooleanHolder cached)
+ {
+ assert(ref.isIndirect());
EndpointI[] endpoints = null;
- Ice.ObjectPrx object = null;
- cached.value = true;
- String adapterId = ref.getAdapterId();
- Ice.Identity identity = ref.getIdentity();
-
- try
+ cached.value = false;
+ if(!ref.isWellKnown())
{
- if(adapterId.length() > 0)
+ endpoints = _table.getAdapterEndpoints(ref.getAdapterId(), ttl, cached);
+ if(!cached.value)
{
- endpoints = _table.getAdapterEndpoints(adapterId, ttl);
- if(endpoints == null)
+ if(_background && endpoints != null)
{
- cached.value = false;
-
- if(ref.getInstance().traceLevels().location >= 1)
- {
- StringBuffer s = new StringBuffer();
- s.append("searching for adapter by id\n");
- s.append("adapter = " + adapterId);
- ref.getInstance().initializationData().logger.trace(
- ref.getInstance().traceLevels().locationCat, s.toString());
- }
-
- //
- // Search the adapter in the location service if we didn't
- // find it in the cache.
- //
- object = _locator.findAdapterById(adapterId);
- if(object != null)
- {
- endpoints = ((Ice.ObjectPrxHelperBase)object).__reference().getEndpoints();
-
- if(endpoints.length > 0)
- {
- _table.addAdapterEndpoints(adapterId, endpoints);
- }
- }
+ getAdapterRequest(ref).addCallback(ref, wellKnownRef, ttl, null);
}
- }
- else
- {
- boolean objectCached = true;
- object = _table.getProxy(identity, ttl);
- if(object == null)
+ else
{
- objectCached = false;
-
- if(ref.getInstance().traceLevels().location >= 1)
- {
- StringBuffer s = new StringBuffer();
- s.append("searching for object by id\n");
- s.append("object = " + ref.getInstance().identityToString(identity));
- ref.getInstance().initializationData().logger.trace(
- ref.getInstance().traceLevels().locationCat, s.toString());
- }
-
- object = _locator.findObjectById(identity);
+ return getAdapterRequest(ref).getEndpoints(ref, wellKnownRef, ttl, cached);
}
-
- boolean endpointsCached = true;
- if(object != null)
+ }
+ }
+ else
+ {
+ Reference r = _table.getObjectReference(ref.getIdentity(), ttl, cached);
+ if(!cached.value)
+ {
+ if(_background && r != null)
{
- Reference r = ((Ice.ObjectPrxHelperBase)object).__reference();
- if(!r.isIndirect())
- {
- endpointsCached = false;
- endpoints = r.getEndpoints();
- }
- else if(!r.isWellKnown())
- {
- Ice.BooleanHolder c = new Ice.BooleanHolder();
- endpoints = getEndpoints(r, ttl, c);
- endpointsCached = c.value;
- }
+ getObjectRequest(ref).addCallback(ref, null, ttl, null);
}
-
- if(!objectCached && endpoints != null && endpoints.length > 0)
+ else
{
- _table.addProxy(identity, object);
+ return getObjectRequest(ref).getEndpoints(ref, null, ttl, cached);
}
-
- cached.value = objectCached || endpointsCached;
+ }
+
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
+ }
+ else if(!r.isWellKnown())
+ {
+ return getEndpoints(r, ref, ttl, cached);
}
}
- catch(Exception ex)
- {
- getEndpointsException(ref, ex);
- }
-
+
+ assert(endpoints != null);
+ cached.value = true;
if(ref.getInstance().traceLevels().location >= 1)
{
- getEndpointsTrace(ref, endpoints, cached.value);
+ getEndpointsTrace(ref, endpoints, true);
}
+ return endpoints;
+ }
- return endpoints == null ? new EndpointI[0] : endpoints;
+ public void
+ getEndpoints(Reference ref, int ttl, GetEndpointsCallback callback)
+ {
+ getEndpoints(ref, null, ttl, callback);
}
public void
- getEndpoints(final Reference ref, final int ttl, final GetEndpointsCallback callback)
+ getEndpoints(Reference ref, Reference wellKnownRef, int ttl, GetEndpointsCallback callback)
{
- final String adapterId = ref.getAdapterId();
- final Ice.Identity identity = ref.getIdentity();
- final Instance instance = ref.getInstance();
- if(adapterId.length() > 0)
+ assert(ref.isIndirect());
+ EndpointI[] endpoints = null;
+ Ice.BooleanHolder cached = new Ice.BooleanHolder();
+ if(!ref.isWellKnown())
{
- EndpointI[] endpoints = _table.getAdapterEndpoints(adapterId, ttl);
- if(endpoints == null)
+ endpoints = _table.getAdapterEndpoints(ref.getAdapterId(), ttl, cached);
+ if(!cached.value)
{
- if(instance.traceLevels().location >= 1)
+ if(_background && endpoints != null)
{
- StringBuffer s = new StringBuffer();
- s.append("searching for adapter by id\n");
- s.append("adapter = " + adapterId);
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
+ getAdapterRequest(ref).addCallback(ref, wellKnownRef, ttl, null);
}
-
- //
- // Search the adapter in the location service if we didn't
- // find it in the cache.
- //
- _locator.findAdapterById_async(new Ice.AMI_Locator_findAdapterById()
- {
- public void
- ice_response(Ice.ObjectPrx object)
- {
- EndpointI[] endpoints = null;
- if(object != null)
- {
- endpoints = ((Ice.ObjectPrxHelperBase)object).__reference().getEndpoints();
- if(endpoints.length > 0)
- {
- _table.addAdapterEndpoints(adapterId, endpoints);
- }
- }
-
- if(instance.traceLevels().location >= 1)
- {
- getEndpointsTrace(ref, endpoints, false);
- }
-
- if(endpoints == null)
- {
- callback.setEndpoints(new EndpointI[0], false);
- }
- else
- {
- callback.setEndpoints(endpoints, false);
- }
- }
-
- public void
- ice_exception(Ice.UserException ex)
- {
- getEndpointsException(ref, ex, callback);
- }
-
- public void
- ice_exception(Ice.LocalException ex)
- {
- if(ex instanceof Ice.CollocationOptimizationException)
- {
- try
- {
- Ice.BooleanHolder cached = new Ice.BooleanHolder();
- callback.setEndpoints(getEndpoints(ref, ttl, cached), cached.value);
- }
- catch(Ice.LocalException e)
- {
- callback.setException(e);
- }
- }
- else
- {
- getEndpointsException(ref, ex, callback);
- }
- }
- }, adapterId);
- return;
- }
- else
- {
- if(instance.traceLevels().location >= 1)
+ else
{
- getEndpointsTrace(ref, endpoints, true);
+ getAdapterRequest(ref).addCallback(ref, wellKnownRef, ttl, callback);
+ return;
}
- callback.setEndpoints(endpoints, true);
- return;
}
}
else
{
- Ice.ObjectPrx object = _table.getProxy(identity, ttl);
- if(object == null)
+ Reference r = _table.getObjectReference(ref.getIdentity(), ttl, cached);
+ if(!cached.value)
{
- if(instance.traceLevels().location >= 1)
+ if(_background && r != null)
{
- StringBuffer s = new StringBuffer();
- s.append("searching for object by id\n");
- s.append("object = " + instance.identityToString(identity));
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
+ getObjectRequest(ref).addCallback(ref, null, ttl, null);
}
-
- _locator.findObjectById_async(new Ice.AMI_Locator_findObjectById()
- {
- public void
- ice_response(Ice.ObjectPrx object)
- {
- getWellKnownObjectEndpoints(ref, object, ttl, false, callback);
- }
-
- public void
- ice_exception(Ice.UserException ex)
- {
- getEndpointsException(ref, ex, callback);
- }
+ else
+ {
+ getObjectRequest(ref).addCallback(ref, null, ttl, callback);
+ return;
+ }
+ }
- public void
- ice_exception(Ice.LocalException ex)
- {
- if(ex instanceof Ice.CollocationOptimizationException)
- {
- try
- {
- Ice.BooleanHolder cached = new Ice.BooleanHolder();
- callback.setEndpoints(getEndpoints(ref, ttl, cached), cached.value);
- }
- catch(Ice.LocalException e)
- {
- callback.setException(e);
- }
- }
- else
- {
- getEndpointsException(ref, ex, callback);
- }
- }
- }, identity);
- return;
+ if(!r.isIndirect())
+ {
+ endpoints = r.getEndpoints();
}
- else
+ else if(!r.isWellKnown())
{
- getWellKnownObjectEndpoints(ref, object, ttl, true, callback);
+ getEndpoints(r, ref, ttl, callback);
return;
}
}
- }
- public void
- clearObjectCache(Reference ref)
- {
- assert(ref.isIndirect());
- if(ref.isWellKnown())
+ assert(endpoints != null);
+ if(ref.getInstance().traceLevels().location >= 1)
{
- Ice.ObjectPrx object = _table.removeProxy(ref.getIdentity());
- if(object != null)
- {
- Reference r = ((Ice.ObjectPrxHelperBase)object).__reference();
- if(!r.isIndirect())
- {
- if(ref.getInstance().traceLevels().location >= 2)
- {
- trace("removed endpoints from locator table", ref, r.getEndpoints());
- }
- }
- else if(!r.isWellKnown())
- {
- clearCache(r);
- }
- }
+ getEndpointsTrace(ref, endpoints, true);
+ }
+ if(callback != null)
+ {
+ callback.setEndpoints(endpoints, true);
}
}
-
+
public void
clearCache(Reference ref)
{
@@ -365,10 +522,9 @@ public final class LocatorInfo
}
else
{
- Ice.ObjectPrx object = _table.removeProxy(ref.getIdentity());
- if(object != null)
+ Reference r = _table.removeObjectReference(ref.getIdentity());
+ if(r != null)
{
- Reference r = ((Ice.ObjectPrxHelperBase)object).__reference();
if(!r.isIndirect())
{
if(ref.getInstance().traceLevels().location >= 2)
@@ -486,121 +642,141 @@ public final class LocatorInfo
}
private void
- getEndpointsException(Reference ref, Exception exc, GetEndpointsCallback callback)
+ getEndpointsTrace(Reference ref, EndpointI[] endpoints, boolean cached)
{
- try
- {
- getEndpointsException(ref, exc);
- }
- catch(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- catch(Exception ex)
+ if(endpoints != null && endpoints.length > 0)
{
- assert(false);
+ if(cached)
+ {
+ trace("found endpoints in locator table", ref, endpoints);
+ }
+ else
+ {
+ trace("retrieved endpoints from locator, adding to locator table", ref, endpoints);
+ }
}
- }
-
- private void
- getWellKnownObjectEndpoints(final Reference ref,
- final Ice.ObjectPrx object,
- final int ttl,
- final boolean objectCached,
- final GetEndpointsCallback callback)
- {
- EndpointI[] endpoints = null;
- if(object != null)
+ else
{
- Reference r = ((Ice.ObjectPrxHelperBase)object).__reference();
- if(!r.isIndirect())
+ final Instance instance = ref.getInstance();
+ StringBuffer s = new StringBuffer();
+ s.append("no endpoints configured for ");
+ if(ref.getAdapterId().length() > 0)
{
- endpoints = r.getEndpoints();
+ s.append("adapter\n");
+ s.append("adapter = " + ref.getAdapterId() + "\n");
}
- else if(!r.isWellKnown())
+ else
{
- getEndpoints(r, ttl, new GetEndpointsCallback()
- {
- public void
- setEndpoints(EndpointI[] endpoints, boolean endpointsCached)
- {
- if(!objectCached && endpoints != null && endpoints.length > 0)
- {
- _table.addProxy(ref.getIdentity(), object);
- }
-
- if(ref.getInstance().traceLevels().location >= 1)
- {
- getEndpointsTrace(ref, endpoints, objectCached || endpointsCached);
- }
-
- callback.setEndpoints(endpoints, objectCached || endpointsCached);
- }
-
- public void
- setException(Ice.LocalException ex)
- {
- callback.setException(ex);
- }
- });
- return;
+ s.append("object\n");
+ s.append("object = " + instance.identityToString(ref.getIdentity()) + "\n");
}
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
-
- if(!objectCached && endpoints != null && endpoints.length > 0)
+ }
+
+ synchronized private Request
+ getAdapterRequest(Reference ref)
+ {
+ if(ref.getInstance().traceLevels().location >= 1)
{
- _table.addProxy(ref.getIdentity(), object);
+ Instance instance = ref.getInstance();
+ StringBuffer s = new StringBuffer();
+ s.append("searching for adapter by id\nadapter=");
+ s.append(ref.getAdapterId());
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
- if(ref.getInstance().traceLevels().location >= 1)
+ Request request = _adapterRequests.get(ref.getAdapterId());
+ if(request != null)
{
- getEndpointsTrace(ref, endpoints, objectCached);
+ return request;
}
+ request = new AdapterRequest(this, ref);
+ _adapterRequests.put(ref.getAdapterId(), request);
+ return request;
+ }
- if(endpoints == null)
+ synchronized private Request
+ getObjectRequest(Reference ref)
+ {
+ if(ref.getInstance().traceLevels().location >= 1)
{
- callback.setEndpoints(new EndpointI[0], false);
+ Instance instance = ref.getInstance();
+ StringBuffer s = new StringBuffer();
+ s.append("searching for object by id\nobject = ");
+ s.append(instance.identityToString(ref.getIdentity()));
+ instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
- else
+
+ Request request = _objectRequests.get(ref.getIdentity());
+ if(request != null)
{
- callback.setEndpoints(endpoints, objectCached);
+ return request;
}
+ request = new ObjectRequest(this, ref);
+ _objectRequests.put(ref.getIdentity(), request);
+ return request;
}
-
+
private void
- getEndpointsTrace(Reference ref, EndpointI[] endpoints, boolean cached)
+ finishRequest(Reference ref, java.util.List<Reference> wellKnownRefs, Ice.ObjectPrx proxy, boolean notRegistered)
{
- if(endpoints != null && endpoints.length > 0)
+ if(proxy == null || ((Ice.ObjectPrxHelperBase)proxy).__reference().isIndirect())
{
- if(cached)
+ //
+ // Remove the cached references of well-known objects for which we tried
+ // to resolved the endpoints if these endpoints are empty.
+ //
+ for(Reference r : wellKnownRefs)
{
- trace("found endpoints in locator table", ref, endpoints);
+ _table.removeObjectReference(r.getIdentity());
}
- else
+ }
+
+ if(!ref.isWellKnown())
+ {
+ if(proxy != null && !((Ice.ObjectPrxHelperBase)proxy).__reference().isIndirect())
{
- trace("retrieved endpoints from locator, adding to locator table", ref, endpoints);
+ // Cache the adapter endpoints.
+ _table.addAdapterEndpoints(ref.getAdapterId(),
+ ((Ice.ObjectPrxHelperBase)proxy).__reference().getEndpoints());
+ }
+ else if(notRegistered) // If the adapter isn't registered anymore, remove it from the cache.
+ {
+ _table.removeAdapterEndpoints(ref.getAdapterId());
+ }
+
+ synchronized(this)
+ {
+ assert(_adapterRequests.get(ref.getAdapterId()) != null);
+ _adapterRequests.remove(ref.getAdapterId());
}
}
else
{
- final Instance instance = ref.getInstance();
- StringBuffer s = new StringBuffer();
- s.append("no endpoints configured for ");
- if(ref.getAdapterId().length() > 0)
+ if(proxy != null && !((Ice.ObjectPrxHelperBase)proxy).__reference().isWellKnown())
{
- s.append("adapter\n");
- s.append("adapter = " + ref.getAdapterId() + "\n");
+ // Cache the well-known object reference.
+ _table.addObjectReference(ref.getIdentity(), ((Ice.ObjectPrxHelperBase)proxy).__reference());
}
- else
+ else if(notRegistered) // If the well-known object isn't registered anymore, remove it from the cache.
{
- s.append("object\n");
- s.append("object = " + instance.identityToString(ref.getIdentity()) + "\n");
+ _table.removeObjectReference(ref.getIdentity());
+ }
+
+ synchronized(this)
+ {
+ assert(_objectRequests.get(ref.getIdentity()) != null);
+ _objectRequests.remove(ref.getIdentity());
}
- instance.initializationData().logger.trace(instance.traceLevels().locationCat, s.toString());
}
}
-
+
private final Ice.LocatorPrx _locator;
private Ice.LocatorRegistryPrx _locatorRegistry;
private final LocatorTable _table;
+ private final boolean _background;
+
+ private java.util.Map<String, Request> _adapterRequests = new java.util.HashMap<String, Request>();
+ private java.util.Map<Ice.Identity, Request> _objectRequests = new java.util.HashMap<Ice.Identity, Request>();
}
diff --git a/java/src/IceInternal/LocatorManager.java b/java/src/IceInternal/LocatorManager.java
index d45d4bff34a..61e3a4b9512 100644
--- a/java/src/IceInternal/LocatorManager.java
+++ b/java/src/IceInternal/LocatorManager.java
@@ -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.
@@ -11,8 +11,9 @@ package IceInternal;
public final class LocatorManager
{
- LocatorManager()
+ LocatorManager(Ice.Properties properties)
{
+ _background = properties.getPropertyAsInt("Ice.BackgroundLocatorCacheUpdates") > 0;
}
synchronized void
@@ -66,7 +67,7 @@ public final class LocatorManager
_locatorTables.put(locator.ice_getIdentity(), table);
}
- info = new LocatorInfo(locator, table);
+ info = new LocatorInfo(locator, table, _background);
_table.put(locator, info);
}
@@ -74,6 +75,8 @@ public final class LocatorManager
}
}
+ final private boolean _background;
+
private java.util.HashMap<Ice.LocatorPrx, LocatorInfo> _table =
new java.util.HashMap<Ice.LocatorPrx, LocatorInfo>();
private java.util.HashMap<Ice.Identity, LocatorTable> _locatorTables =
diff --git a/java/src/IceInternal/LocatorTable.java b/java/src/IceInternal/LocatorTable.java
index 1e8568fe703..a2fe5a7580c 100644
--- a/java/src/IceInternal/LocatorTable.java
+++ b/java/src/IceInternal/LocatorTable.java
@@ -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,18 +23,21 @@ final class LocatorTable
}
synchronized IceInternal.EndpointI[]
- getAdapterEndpoints(String adapter, int ttl)
+ getAdapterEndpoints(String adapter, int ttl, Ice.BooleanHolder cached)
{
if(ttl == 0) // Locator cache disabled.
{
+ cached.value = false;
return null;
}
EndpointTableEntry entry = _adapterEndpointsTable.get(adapter);
- if(entry != null && checkTTL(entry.time, ttl))
+ if(entry != null)
{
+ cached.value = checkTTL(entry.time, ttl);
return entry.endpoints;
}
+ cached.value = false;
return null;
}
@@ -52,33 +55,36 @@ final class LocatorTable
return entry != null ? entry.endpoints : null;
}
- synchronized Ice.ObjectPrx
- getProxy(Ice.Identity id, int ttl)
+ synchronized Reference
+ getObjectReference(Ice.Identity id, int ttl, Ice.BooleanHolder cached)
{
if(ttl == 0) // Locator cache disabled.
{
+ cached.value = false;
return null;
}
- ProxyTableEntry entry = _objectTable.get(id);
- if(entry != null && checkTTL(entry.time, ttl))
+ ReferenceTableEntry entry = _objectTable.get(id);
+ if(entry != null)
{
- return entry.proxy;
+ cached.value = checkTTL(entry.time, ttl);
+ return entry.reference;
}
+ cached.value = false;
return null;
}
synchronized void
- addProxy(Ice.Identity id, Ice.ObjectPrx proxy)
+ addObjectReference(Ice.Identity id, Reference ref)
{
- _objectTable.put(id, new ProxyTableEntry(IceInternal.Time.currentMonotonicTimeMillis(), proxy));
+ _objectTable.put(id, new ReferenceTableEntry(IceInternal.Time.currentMonotonicTimeMillis(), ref));
}
- synchronized Ice.ObjectPrx
- removeProxy(Ice.Identity id)
+ synchronized Reference
+ removeObjectReference(Ice.Identity id)
{
- ProxyTableEntry entry = _objectTable.remove(id);
- return entry != null ? entry.proxy : null;
+ ReferenceTableEntry entry = _objectTable.remove(id);
+ return entry != null ? entry.reference : null;
}
private boolean
@@ -107,20 +113,20 @@ final class LocatorTable
final public IceInternal.EndpointI[] endpoints;
}
- private static final class ProxyTableEntry
+ private static final class ReferenceTableEntry
{
- public ProxyTableEntry(long time, Ice.ObjectPrx proxy)
+ public ReferenceTableEntry(long time, Reference reference)
{
this.time = time;
- this.proxy = proxy;
+ this.reference = reference;
}
final public long time;
- final public Ice.ObjectPrx proxy;
+ final public Reference reference;
}
private java.util.Map<String, EndpointTableEntry> _adapterEndpointsTable =
new java.util.HashMap<String, EndpointTableEntry>();
- private java.util.Map<Ice.Identity, ProxyTableEntry> _objectTable =
- new java.util.HashMap<Ice.Identity, ProxyTableEntry>();
+ private java.util.Map<Ice.Identity, ReferenceTableEntry> _objectTable =
+ new java.util.HashMap<Ice.Identity, ReferenceTableEntry>();
}
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java
index 36cad790163..b3d9823730c 100644
--- a/java/src/IceInternal/Network.java
+++ b/java/src/IceInternal/Network.java
@@ -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.
@@ -356,6 +356,13 @@ public final class Network
se.initCause(ex);
throw se;
}
+ catch(java.lang.SecurityException ex)
+ {
+ closeSocketNoThrow(fd);
+ Ice.SocketException se = new Ice.SocketException();
+ se.initCause(ex);
+ throw se;
+ }
if(System.getProperty("os.name").equals("Linux"))
{
@@ -804,9 +811,7 @@ public final class Network
//
}
- if(addr == null ||
- (addr instanceof java.net.Inet4Address && protocol == EnableIPv6) ||
- (addr instanceof java.net.Inet6Address && protocol == EnableIPv4))
+ if(addr == null || isValidAddr(addr, protocol))
{
//
// Iterate over the network interfaces and pick an IP
@@ -817,9 +822,7 @@ public final class Network
while(addr == null && iter.hasNext())
{
java.net.InetAddress a = iter.next();
- if(protocol == EnableBoth ||
- (protocol == EnableIPv4 && a instanceof java.net.Inet4Address) ||
- (protocol == EnableIPv6 && a instanceof java.net.Inet6Address))
+ if(protocol == EnableBoth || isValidAddr(a, protocol))
{
addr = a;
}
@@ -854,9 +857,7 @@ public final class Network
for(int i = 0; i < addrs.length; ++i)
{
- if(protocol == EnableBoth ||
- (protocol == EnableIPv4 && addrs[i] instanceof java.net.Inet4Address) ||
- (protocol == EnableIPv6 && addrs[i] instanceof java.net.Inet6Address))
+ if(protocol == EnableBoth || isValidAddr(addrs[i], protocol))
{
addresses.add(new java.net.InetSocketAddress(addrs[i], port));
}
@@ -866,6 +867,13 @@ public final class Network
{
Ice.DNSException e = new Ice.DNSException();
e.host = host;
+ e.initCause(ex);
+ throw e;
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
throw e;
}
@@ -898,9 +906,7 @@ public final class Network
java.net.InetAddress addr = addrs.nextElement();
if(!addr.isLoopbackAddress())
{
- if(protocol == EnableBoth ||
- (protocol == EnableIPv4 && addr instanceof java.net.Inet4Address) ||
- (protocol == EnableIPv6 && addr instanceof java.net.Inet6Address))
+ if(protocol == EnableBoth || isValidAddr(addr, protocol))
{
result.add(addr);
}
@@ -914,6 +920,12 @@ public final class Network
se.initCause(e);
throw se;
}
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
+ throw e;
+ }
return result;
}
@@ -956,6 +968,12 @@ public final class Network
catch(java.net.UnknownHostException ex)
{
}
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
+ throw e;
+ }
}
java.util.ArrayList<String> hosts = new java.util.ArrayList<String>();
@@ -1163,6 +1181,20 @@ public final class Network
ex.getMessage().indexOf("A system call received an interrupt") >= 0; // AIX JDK 1.4.2
}
+ private static boolean
+ isValidAddr(java.net.InetAddress addr, int protocol)
+ {
+ byte[] bytes = null;
+ if(addr != null)
+ {
+ bytes = addr.getAddress();
+ }
+ return bytes != null &&
+ ((bytes.length == 16 && protocol == EnableIPv6) ||
+ (bytes.length == 4 && protocol == EnableIPv4));
+ }
+
+
private static java.net.InetSocketAddress
getAddressImpl(String host, int port, int protocol, boolean server)
{
@@ -1187,9 +1219,7 @@ public final class Network
for(int i = 0; i < addrs.length; ++i)
{
- if(protocol == EnableBoth ||
- (protocol == EnableIPv4 && addrs[i] instanceof java.net.Inet4Address) ||
- (protocol == EnableIPv6 && addrs[i] instanceof java.net.Inet6Address))
+ if(protocol == EnableBoth || isValidAddr(addrs[i], protocol))
{
return new java.net.InetSocketAddress(addrs[i], port);
}
@@ -1199,6 +1229,13 @@ public final class Network
{
Ice.DNSException e = new Ice.DNSException();
e.host = host;
+ e.initCause(ex);
+ throw e;
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
throw e;
}
@@ -1232,6 +1269,12 @@ public final class Network
assert(false);
return null;
}
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
+ throw e;
+ }
}
private static java.net.InetAddress[]
@@ -1256,5 +1299,11 @@ public final class Network
assert(false);
return null;
}
+ catch(java.lang.SecurityException ex)
+ {
+ Ice.SocketException e = new Ice.SocketException();
+ e.initCause(ex);
+ throw e;
+ }
}
}
diff --git a/java/src/IceInternal/ObjectAdapterFactory.java b/java/src/IceInternal/ObjectAdapterFactory.java
index 9dd4779930f..e7db028a7c3 100644
--- a/java/src/IceInternal/ObjectAdapterFactory.java
+++ b/java/src/IceInternal/ObjectAdapterFactory.java
@@ -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/java/src/IceInternal/ObjectFactoryManager.java b/java/src/IceInternal/ObjectFactoryManager.java
index 7e50cc43f2c..1658816b588 100644
--- a/java/src/IceInternal/ObjectFactoryManager.java
+++ b/java/src/IceInternal/ObjectFactoryManager.java
@@ -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/java/src/IceInternal/Outgoing.java b/java/src/IceInternal/Outgoing.java
index 1a72c7d8aa4..0b99e6701ed 100644
--- a/java/src/IceInternal/Outgoing.java
+++ b/java/src/IceInternal/Outgoing.java
@@ -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/java/src/IceInternal/OutgoingAsync.java b/java/src/IceInternal/OutgoingAsync.java
index 9359fe4e36f..820e2b4f49c 100644
--- a/java/src/IceInternal/OutgoingAsync.java
+++ b/java/src/IceInternal/OutgoingAsync.java
@@ -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.
@@ -270,14 +270,22 @@ public abstract class OutgoingAsync extends OutgoingAsyncMessageCallback
}
public final void
- __send(int cnt)
+ __retry(int cnt, int interval)
{
//
// This method is called by the proxy to retry an invocation. It's safe to update
// the count here without synchronization, no other threads can access this object.
//
_cnt = cnt;
- __send();
+ if(interval > 0)
+ {
+ assert(__os != null);
+ __os.instance().retryQueue().add(this, interval);
+ }
+ else
+ {
+ __send();
+ }
}
public final boolean
@@ -292,11 +300,11 @@ public abstract class OutgoingAsync extends OutgoingAsyncMessageCallback
}
catch(LocalExceptionWrapper ex)
{
- handleException(ex);
+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously
}
catch(Ice.LocalException ex)
{
- handleException(ex);
+ handleException(ex); // Might call __send() again upon retry and assign _sentSynchronously
}
return _sentSynchronously;
}
@@ -310,6 +318,7 @@ public abstract class OutgoingAsync extends OutgoingAsyncMessageCallback
_delegate = null;
_cnt = 0;
_mode = mode;
+ _sentSynchronously = false;
//
// Can't call async via a batch proxy.
diff --git a/java/src/IceInternal/OutgoingAsyncMessageCallback.java b/java/src/IceInternal/OutgoingAsyncMessageCallback.java
index a0d21e7ad90..d47147f6e35 100644
--- a/java/src/IceInternal/OutgoingAsyncMessageCallback.java
+++ b/java/src/IceInternal/OutgoingAsyncMessageCallback.java
@@ -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/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java
index 58177812f6d..0a5bdec8c86 100644
--- a/java/src/IceInternal/OutgoingConnectionFactory.java
+++ b/java/src/IceInternal/OutgoingConnectionFactory.java
@@ -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/java/src/IceInternal/OutgoingMessageCallback.java b/java/src/IceInternal/OutgoingMessageCallback.java
index c4f43addde4..4f11091ddc9 100644
--- a/java/src/IceInternal/OutgoingMessageCallback.java
+++ b/java/src/IceInternal/OutgoingMessageCallback.java
@@ -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/java/src/IceInternal/Patcher.java b/java/src/IceInternal/Patcher.java
index 44108ed023b..b8195906826 100644
--- a/java/src/IceInternal/Patcher.java
+++ b/java/src/IceInternal/Patcher.java
@@ -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/java/src/IceInternal/ProcessI.java b/java/src/IceInternal/ProcessI.java
index c5c794d5be4..b44c7e27e88 100644
--- a/java/src/IceInternal/ProcessI.java
+++ b/java/src/IceInternal/ProcessI.java
@@ -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/java/src/IceInternal/PropertiesAdminI.java b/java/src/IceInternal/PropertiesAdminI.java
index 094c9eaf6ee..3d5960b92f9 100644
--- a/java/src/IceInternal/PropertiesAdminI.java
+++ b/java/src/IceInternal/PropertiesAdminI.java
@@ -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/java/src/IceInternal/Property.java b/java/src/IceInternal/Property.java
index 41e5b732def..e3b806af45c 100644
--- a/java/src/IceInternal/Property.java
+++ b/java/src/IceInternal/Property.java
@@ -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/java/src/IceInternal/PropertyNames.java b/java/src/IceInternal/PropertyNames.java
index 439d3a099cc..3a7990d01cc 100644
--- a/java/src/IceInternal/PropertyNames.java
+++ b/java/src/IceInternal/PropertyNames.java
@@ -1,12 +1,15 @@
// **********************************************************************
//
-// 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.
//
// **********************************************************************
+//
+// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Jan 20 15:47:00 2009
+
// IMPORTANT: Do not edit this file -- any edits made here will be lost!
package IceInternal;
@@ -34,6 +37,7 @@ public final class PropertyNames
new Property("Ice\\.Admin\\.Facets", false, null),
new Property("Ice\\.Admin\\.InstanceName", false, null),
new Property("Ice\\.Admin\\.ServerId", false, null),
+ new Property("Ice\\.BackgroundLocatorCacheUpdates", false, null),
new Property("Ice\\.BatchAutoFlush", false, null),
new Property("Ice\\.ChangeUser", false, null),
new Property("Ice\\.Compression\\.Level", false, null),
@@ -264,7 +268,15 @@ public final class PropertyNames
new Property("IceGrid\\.Registry\\.CryptPasswords", false, null),
new Property("IceGrid\\.Registry\\.Data", false, null),
new Property("IceGrid\\.Registry\\.DefaultTemplates", false, null),
+ new Property("IceGrid\\.Registry\\.Discard\\.Interval", false, null),
new Property("IceGrid\\.Registry\\.DynamicRegistration", false, null),
+ new Property("IceGrid\\.Registry\\.Election\\.ElectionTimeout", false, null),
+ new Property("IceGrid\\.Registry\\.Election\\.MasterTimeout", false, null),
+ new Property("IceGrid\\.Registry\\.Election\\.ResponseTimeout", false, null),
+ new Property("IceGrid\\.Registry\\.Flush\\.Timeout", false, null),
+ new Property("IceGrid\\.Registry\\.IceStormAdmin\\.TopicManager\\.Default", false, null),
+ new Property("IceGrid\\.Registry\\.IceStormAdmin\\.TopicManager\\.[^\\s]+", false, null),
+ new Property("IceGrid\\.Registry\\.InstanceName", false, null),
new Property("IceGrid\\.Registry\\.Internal\\.AdapterId", false, null),
new Property("IceGrid\\.Registry\\.Internal\\.Endpoints", false, null),
new Property("IceGrid\\.Registry\\.Internal\\.Locator", false, null),
@@ -278,6 +290,9 @@ public final class PropertyNames
new Property("IceGrid\\.Registry\\.Internal\\.ThreadPool\\.SizeWarn", false, null),
new Property("IceGrid\\.Registry\\.Internal\\.ThreadPool\\.StackSize", false, null),
new Property("IceGrid\\.Registry\\.Internal\\.ThreadPool\\.Serialize", false, null),
+ new Property("IceGrid\\.Registry\\.Node\\.[^\\s]+", false, null),
+ new Property("IceGrid\\.Registry\\.NodeId", false, null),
+ new Property("IceGrid\\.Registry\\.Nodes\\.id", false, null),
new Property("IceGrid\\.Registry\\.NodeSessionTimeout", false, null),
new Property("IceGrid\\.Registry\\.PermissionsVerifier\\.EndpointSelection", false, null),
new Property("IceGrid\\.Registry\\.PermissionsVerifier\\.ConnectionCached", false, null),
@@ -288,8 +303,12 @@ public final class PropertyNames
new Property("IceGrid\\.Registry\\.PermissionsVerifier\\.CollocationOptimization", true, "IceGrid.Registry.PermissionsVerifier.CollocationOptimized"),
new Property("IceGrid\\.Registry\\.PermissionsVerifier\\.CollocationOptimized", false, null),
new Property("IceGrid\\.Registry\\.PermissionsVerifier", false, null),
+ new Property("IceGrid\\.Registry\\.Publish\\.[^\\s]+", false, null),
new Property("IceGrid\\.Registry\\.ReplicaName", false, null),
new Property("IceGrid\\.Registry\\.ReplicaSessionTimeout", false, null),
+ new Property("IceGrid\\.Registry\\.ReplicatedPublishEndpoints", false, null),
+ new Property("IceGrid\\.Registry\\.ReplicatedTopicManagerEndpoints", false, null),
+ new Property("IceGrid\\.Registry\\.Send\\.Timeout", false, null),
new Property("IceGrid\\.Registry\\.Server\\.AdapterId", false, null),
new Property("IceGrid\\.Registry\\.Server\\.Endpoints", false, null),
new Property("IceGrid\\.Registry\\.Server\\.Locator", false, null),
@@ -327,15 +346,22 @@ public final class PropertyNames
new Property("IceGrid\\.Registry\\.SSLPermissionsVerifier\\.CollocationOptimization", true, "IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized"),
new Property("IceGrid\\.Registry\\.SSLPermissionsVerifier\\.CollocationOptimized", false, null),
new Property("IceGrid\\.Registry\\.SSLPermissionsVerifier", false, null),
+ new Property("IceGrid\\.Registry\\.TopicManager\\.[^\\s]+", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Application", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Adapter", false, null),
+ new Property("IceGrid\\.Registry\\.Trace\\.Election", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Locator", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Node", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Object", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Patch", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Replica", false, null),
+ new Property("IceGrid\\.Registry\\.Trace\\.Replication", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Server", false, null),
new Property("IceGrid\\.Registry\\.Trace\\.Session", false, null),
+ new Property("IceGrid\\.Registry\\.Trace\\.Subscriber", false, null),
+ new Property("IceGrid\\.Registry\\.Trace\\.Topic", false, null),
+ new Property("IceGrid\\.Registry\\.Trace\\.TopicManager", false, null),
+ new Property("IceGrid\\.Registry\\.Transient", false, null),
new Property("IceGrid\\.Registry\\.UserAccounts", false, null),
null
};
diff --git a/java/src/IceInternal/Protocol.java b/java/src/IceInternal/Protocol.java
index 951d4c0b13b..49fa8c48a88 100644
--- a/java/src/IceInternal/Protocol.java
+++ b/java/src/IceInternal/Protocol.java
@@ -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/java/src/IceInternal/ProtocolPluginFacade.java b/java/src/IceInternal/ProtocolPluginFacade.java
index 0bfb989cf86..c591ee80046 100644
--- a/java/src/IceInternal/ProtocolPluginFacade.java
+++ b/java/src/IceInternal/ProtocolPluginFacade.java
@@ -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/java/src/IceInternal/ProtocolPluginFacadeI.java b/java/src/IceInternal/ProtocolPluginFacadeI.java
index 95b252d97ad..a21f7d11fd0 100644
--- a/java/src/IceInternal/ProtocolPluginFacadeI.java
+++ b/java/src/IceInternal/ProtocolPluginFacadeI.java
@@ -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/java/src/IceInternal/ProxyFactory.java b/java/src/IceInternal/ProxyFactory.java
index ac05fe1d57b..45d3ea2c557 100644
--- a/java/src/IceInternal/ProxyFactory.java
+++ b/java/src/IceInternal/ProxyFactory.java
@@ -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.
@@ -112,7 +112,11 @@ public final class ProxyFactory
// We retry ObjectNotExistException if the reference is
// indirect.
//
- li.clearObjectCache(ref);
+
+ if(ref.isWellKnown())
+ {
+ li.clearCache(ref);
+ }
}
else if(ref.getRouterInfo() != null && one.operation.equals("ice_add_proxy"))
{
@@ -132,7 +136,7 @@ public final class ProxyFactory
if(out != null)
{
- out.__send(cnt);
+ out.__retry(cnt, 0);
}
return cnt; // We must always retry, so we don't look at the retry count.
}
@@ -205,42 +209,23 @@ public final class ProxyFactory
logger.trace(traceLevels.retryCat, s);
}
- if(interval > 0)
+ if(out != null)
{
- if(out != null)
- {
- final int count = cnt;
- _instance.timer().schedule(new TimerTask()
- {
- public void
- runTimerTask()
- {
- out.__send(count);
- }
- }, interval);
- }
- else
- {
- //
- // Sleep before retrying.
- //
- try
- {
- Thread.currentThread().sleep(interval);
- }
- catch(InterruptedException ex1)
- {
- }
- }
+ out.__retry(cnt, interval);
}
- else
+ else if(interval > 0)
{
- if(out != null)
+ //
+ // Sleep before retrying.
+ //
+ try
+ {
+ Thread.currentThread().sleep(interval);
+ }
+ catch(InterruptedException ex1)
{
- out.__send(cnt);
}
}
-
return cnt;
}
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java
index 5fdb2696e70..7e9a8acc4d2 100644
--- a/java/src/IceInternal/Reference.java
+++ b/java/src/IceInternal/Reference.java
@@ -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/java/src/IceInternal/ReferenceFactory.java b/java/src/IceInternal/ReferenceFactory.java
index 23e5094dcd0..7b868f3642e 100644
--- a/java/src/IceInternal/ReferenceFactory.java
+++ b/java/src/IceInternal/ReferenceFactory.java
@@ -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/java/src/IceInternal/ReplyStatus.java b/java/src/IceInternal/ReplyStatus.java
index f56a197d149..f8eda2fe356 100644
--- a/java/src/IceInternal/ReplyStatus.java
+++ b/java/src/IceInternal/ReplyStatus.java
@@ -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/java/src/IceInternal/RequestHandler.java b/java/src/IceInternal/RequestHandler.java
index f45cfe6e9dd..a69f9790b81 100644
--- a/java/src/IceInternal/RequestHandler.java
+++ b/java/src/IceInternal/RequestHandler.java
@@ -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/java/src/IceInternal/RetryQueue.java b/java/src/IceInternal/RetryQueue.java
new file mode 100644
index 00000000000..1647ff01573
--- /dev/null
+++ b/java/src/IceInternal/RetryQueue.java
@@ -0,0 +1,49 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+package IceInternal;
+
+public class RetryQueue
+{
+ RetryQueue(Instance instance)
+ {
+ _instance = instance;
+ }
+
+ synchronized public void
+ add(OutgoingAsync outAsync, int interval)
+ {
+ RetryTask task = new RetryTask(this, outAsync);
+ _instance.timer().schedule(task, interval);
+ _requests.add(task);
+ }
+
+ synchronized public void
+ destroy()
+ {
+ java.util.Iterator<RetryTask> p = _requests.iterator();
+ while(p.hasNext())
+ {
+ RetryTask task = p.next();
+ _instance.timer().cancel(task);
+ task.destroy();
+ }
+ _requests.clear();
+ }
+
+ synchronized boolean
+ remove(RetryTask task)
+ {
+ return _requests.remove(task);
+ }
+
+ final private Instance _instance;
+ final private java.util.HashSet<RetryTask> _requests = new java.util.HashSet<RetryTask>();
+};
+
diff --git a/java/src/IceInternal/RetryTask.java b/java/src/IceInternal/RetryTask.java
new file mode 100644
index 00000000000..a9266657a78
--- /dev/null
+++ b/java/src/IceInternal/RetryTask.java
@@ -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.
+//
+// **********************************************************************
+
+package IceInternal;
+
+class RetryTask implements TimerTask
+{
+ RetryTask(RetryQueue queue, OutgoingAsync outAsync)
+ {
+ _queue = queue;
+ _outAsync = outAsync;
+ }
+
+ public void
+ runTimerTask()
+ {
+ if(_queue.remove(this))
+ {
+ try
+ {
+ _outAsync.__send();
+ }
+ catch(Ice.LocalException ex)
+ {
+ _outAsync.__releaseCallback(ex);
+ }
+ }
+ }
+
+ public void
+ destroy()
+ {
+ _outAsync.__releaseCallback(new Ice.CommunicatorDestroyedException());
+ }
+
+ private final RetryQueue _queue;
+ private final OutgoingAsync _outAsync;
+}
diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java
index 8113eea9dae..2e84f1bb2d7 100644
--- a/java/src/IceInternal/RoutableReference.java
+++ b/java/src/IceInternal/RoutableReference.java
@@ -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/java/src/IceInternal/RouterInfo.java b/java/src/IceInternal/RouterInfo.java
index 2adae792f56..d7858a1dba9 100644
--- a/java/src/IceInternal/RouterInfo.java
+++ b/java/src/IceInternal/RouterInfo.java
@@ -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/java/src/IceInternal/RouterManager.java b/java/src/IceInternal/RouterManager.java
index 05e25147c2e..c817f4f8516 100644
--- a/java/src/IceInternal/RouterManager.java
+++ b/java/src/IceInternal/RouterManager.java
@@ -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/java/src/IceInternal/Selector.java b/java/src/IceInternal/Selector.java
index 16e72abd36f..49c7ce5c809 100644
--- a/java/src/IceInternal/Selector.java
+++ b/java/src/IceInternal/Selector.java
@@ -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/java/src/IceInternal/SelectorHandler.java b/java/src/IceInternal/SelectorHandler.java
index 8c139e6030b..39ec56f7929 100644
--- a/java/src/IceInternal/SelectorHandler.java
+++ b/java/src/IceInternal/SelectorHandler.java
@@ -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/java/src/IceInternal/SelectorThread.java b/java/src/IceInternal/SelectorThread.java
index e34cc480ddc..c253b785546 100644
--- a/java/src/IceInternal/SelectorThread.java
+++ b/java/src/IceInternal/SelectorThread.java
@@ -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/java/src/IceInternal/SequencePatcher.java b/java/src/IceInternal/SequencePatcher.java
index 23f9ef7f6c2..9b8b7b82407 100644
--- a/java/src/IceInternal/SequencePatcher.java
+++ b/java/src/IceInternal/SequencePatcher.java
@@ -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/java/src/IceInternal/ServantManager.java b/java/src/IceInternal/ServantManager.java
index 8e4dcc1374a..83652e87882 100644
--- a/java/src/IceInternal/ServantManager.java
+++ b/java/src/IceInternal/ServantManager.java
@@ -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/java/src/IceInternal/SocketStatus.java b/java/src/IceInternal/SocketStatus.java
index 961a710222a..5635b7958c8 100644
--- a/java/src/IceInternal/SocketStatus.java
+++ b/java/src/IceInternal/SocketStatus.java
@@ -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/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java
index e09bf7c760d..2f6f8707b5f 100644
--- a/java/src/IceInternal/TcpAcceptor.java
+++ b/java/src/IceInternal/TcpAcceptor.java
@@ -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/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java
index 99a80dff1db..2f9d4f99a14 100644
--- a/java/src/IceInternal/TcpConnector.java
+++ b/java/src/IceInternal/TcpConnector.java
@@ -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/java/src/IceInternal/TcpEndpointFactory.java b/java/src/IceInternal/TcpEndpointFactory.java
index caaf9e61266..25bdfdb557a 100644
--- a/java/src/IceInternal/TcpEndpointFactory.java
+++ b/java/src/IceInternal/TcpEndpointFactory.java
@@ -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/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java
index c0cc50c8388..51c65f34a71 100644
--- a/java/src/IceInternal/TcpEndpointI.java
+++ b/java/src/IceInternal/TcpEndpointI.java
@@ -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/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index 548f2c3a94b..2e7b9f2bfd2 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -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/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java
index 6f19615ecf0..ea80b046a77 100644
--- a/java/src/IceInternal/ThreadPool.java
+++ b/java/src/IceInternal/ThreadPool.java
@@ -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.
@@ -524,6 +524,8 @@ public final class ThreadPool
}
catch(Ice.DatagramLimitException ex) // Expected.
{
+ handler._stream.pos(0);
+ handler._stream.resize(0, true);
continue;
}
catch(Ice.SocketException ex)
@@ -548,6 +550,8 @@ public final class ThreadPool
_instance.initializationData().logger.warning(
"datagram connection exception:\n" + ex + "\n" + handler.toString());
}
+ handler._stream.pos(0);
+ handler._stream.resize(0, true);
}
else
{
@@ -718,6 +722,16 @@ public final class ThreadPool
{
BasicStream stream = handler._stream;
+ if(stream.pos() >= Protocol.headerSize)
+ {
+ if(!handler.read(stream))
+ {
+ return false;
+ }
+ assert(stream.pos() == stream.size());
+ return true;
+ }
+
if(stream.size() == 0)
{
stream.resize(Protocol.headerSize, true);
@@ -805,8 +819,6 @@ public final class ThreadPool
_instance.initializationData().logger.warning("DatagramLimitException: maximum size of "
+ stream.pos() + " exceeded");
}
- stream.pos(0);
- stream.resize(0, true);
throw new Ice.DatagramLimitException();
}
else
diff --git a/java/src/IceInternal/ThreadPoolWorkItem.java b/java/src/IceInternal/ThreadPoolWorkItem.java
index 55b2ad4f1d1..f45cf1af4bc 100644
--- a/java/src/IceInternal/ThreadPoolWorkItem.java
+++ b/java/src/IceInternal/ThreadPoolWorkItem.java
@@ -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/java/src/IceInternal/Time.java b/java/src/IceInternal/Time.java
index fac43d8d85c..f1e793771c7 100644
--- a/java/src/IceInternal/Time.java
+++ b/java/src/IceInternal/Time.java
@@ -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/java/src/IceInternal/Timer.java b/java/src/IceInternal/Timer.java
index b4805e22b6b..b76842d368e 100644
--- a/java/src/IceInternal/Timer.java
+++ b/java/src/IceInternal/Timer.java
@@ -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/java/src/IceInternal/TimerTask.java b/java/src/IceInternal/TimerTask.java
index 7cb7655267a..f561da2f10d 100644
--- a/java/src/IceInternal/TimerTask.java
+++ b/java/src/IceInternal/TimerTask.java
@@ -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/java/src/IceInternal/TraceLevels.java b/java/src/IceInternal/TraceLevels.java
index b57fbcc37a2..3e4ab9d8a4b 100644
--- a/java/src/IceInternal/TraceLevels.java
+++ b/java/src/IceInternal/TraceLevels.java
@@ -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/java/src/IceInternal/TraceUtil.java b/java/src/IceInternal/TraceUtil.java
index a239bf044f4..39eaa1d3e92 100644
--- a/java/src/IceInternal/TraceUtil.java
+++ b/java/src/IceInternal/TraceUtil.java
@@ -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/java/src/IceInternal/Transceiver.java b/java/src/IceInternal/Transceiver.java
index ff76dcc85e6..ca3f028dc73 100644
--- a/java/src/IceInternal/Transceiver.java
+++ b/java/src/IceInternal/Transceiver.java
@@ -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/java/src/IceInternal/UdpConnector.java b/java/src/IceInternal/UdpConnector.java
index 3fbad48782b..3ad920f5e87 100644
--- a/java/src/IceInternal/UdpConnector.java
+++ b/java/src/IceInternal/UdpConnector.java
@@ -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/java/src/IceInternal/UdpEndpointFactory.java b/java/src/IceInternal/UdpEndpointFactory.java
index 9ce1d484751..a92b443b1d8 100644
--- a/java/src/IceInternal/UdpEndpointFactory.java
+++ b/java/src/IceInternal/UdpEndpointFactory.java
@@ -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/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java
index eba1981d803..3869f783ba2 100644
--- a/java/src/IceInternal/UdpEndpointI.java
+++ b/java/src/IceInternal/UdpEndpointI.java
@@ -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/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 84aef93ffb8..52000361be0 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -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/java/src/IceInternal/UnknownEndpointI.java b/java/src/IceInternal/UnknownEndpointI.java
index 63cff5902ab..d21d5d0030d 100644
--- a/java/src/IceInternal/UnknownEndpointI.java
+++ b/java/src/IceInternal/UnknownEndpointI.java
@@ -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/java/src/IceInternal/UserExceptionFactory.java b/java/src/IceInternal/UserExceptionFactory.java
index bd986083e80..f3df8040e4f 100644
--- a/java/src/IceInternal/UserExceptionFactory.java
+++ b/java/src/IceInternal/UserExceptionFactory.java
@@ -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/java/src/IceInternal/ValueWriter.java b/java/src/IceInternal/ValueWriter.java
index 63efa63640a..2cad6527af7 100644
--- a/java/src/IceInternal/ValueWriter.java
+++ b/java/src/IceInternal/ValueWriter.java
@@ -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.
@@ -190,9 +190,28 @@ public final class ValueWriter
writeFields(name, obj, c.getSuperclass(), objectTable, out);
//
- // Write the declared fields of the given class.
+ // Write the declared fields of the given class. We prefer to use the declared
+ // fields because it includes protected fields that may have been defined using
+ // the Slice "protected" metadata. However, if a security manager prevents us
+ // from obtaining the declared fields, we will fall back to using the public ones.
//
- java.lang.reflect.Field[] fields = c.getDeclaredFields();
+ java.lang.reflect.Field[] fields = null;
+ try
+ {
+ fields = c.getDeclaredFields();
+ }
+ catch(java.lang.SecurityException ex)
+ {
+ try
+ {
+ fields = c.getFields();
+ }
+ catch(java.lang.SecurityException e)
+ {
+ return; // Nothing else we can do.
+ }
+ }
+ assert(fields != null);
for(int i = 0; i < fields.length; i++)
{
//
diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java
index 29984ec9d6f..4ce1e5f70bf 100644
--- a/java/src/IceSSL/AcceptorI.java
+++ b/java/src/IceSSL/AcceptorI.java
@@ -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.
@@ -47,12 +47,12 @@ final class AcceptorI implements IceInternal.Acceptor
accept()
{
//
- // The plugin may not be fully initialized.
+ // The plug-in may not be fully initialized.
//
if(!_instance.initialized())
{
Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
diff --git a/java/src/IceSSL/CertificateVerifier.java b/java/src/IceSSL/CertificateVerifier.java
index 1e71f772aae..9d2f971c09f 100644
--- a/java/src/IceSSL/CertificateVerifier.java
+++ b/java/src/IceSSL/CertificateVerifier.java
@@ -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/java/src/IceSSL/ConnectionInfo.java b/java/src/IceSSL/ConnectionInfo.java
index 1377e67e0a8..5e10a24bec8 100644
--- a/java/src/IceSSL/ConnectionInfo.java
+++ b/java/src/IceSSL/ConnectionInfo.java
@@ -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.
@@ -42,11 +42,11 @@ public class ConnectionInfo
// If the connection is incoming this bool is true, false
// otherwise.
//
- boolean incoming;
+ public boolean incoming;
//
// The name of the object adapter that hosts this endpoint, if
// any.
//
- String adapterName;
+ public String adapterName;
}
diff --git a/java/src/IceSSL/ConnectionInvalidException.java b/java/src/IceSSL/ConnectionInvalidException.java
index eeb21a47db9..35eab43b584 100644
--- a/java/src/IceSSL/ConnectionInvalidException.java
+++ b/java/src/IceSSL/ConnectionInvalidException.java
@@ -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/java/src/IceSSL/ConnectorI.java b/java/src/IceSSL/ConnectorI.java
index 370237563e8..0da713515fd 100644
--- a/java/src/IceSSL/ConnectorI.java
+++ b/java/src/IceSSL/ConnectorI.java
@@ -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,12 +15,12 @@ final class ConnectorI implements IceInternal.Connector, java.lang.Comparable
connect()
{
//
- // The plugin may not be fully initialized.
+ // The plug-in may not be fully initialized.
//
if(!_instance.initialized())
{
Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
- ex.reason = "IceSSL: plugin is not initialized";
+ ex.reason = "IceSSL: plug-in is not initialized";
throw ex;
}
diff --git a/java/src/IceSSL/EndpointFactoryI.java b/java/src/IceSSL/EndpointFactoryI.java
index 4492ed01c0b..5e380ea6a24 100644
--- a/java/src/IceSSL/EndpointFactoryI.java
+++ b/java/src/IceSSL/EndpointFactoryI.java
@@ -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/java/src/IceSSL/EndpointI.java b/java/src/IceSSL/EndpointI.java
index f9a64fe1b49..5fd015ab02c 100644
--- a/java/src/IceSSL/EndpointI.java
+++ b/java/src/IceSSL/EndpointI.java
@@ -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/java/src/IceSSL/Instance.java b/java/src/IceSSL/Instance.java
index a2338c0b74a..afddf43071a 100644
--- a/java/src/IceSSL/Instance.java
+++ b/java/src/IceSSL/Instance.java
@@ -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.
@@ -9,6 +9,12 @@
package IceSSL;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import Ice.Logger;
+
class Instance
{
Instance(Ice.Communicator communicator)
@@ -19,10 +25,10 @@ class Instance
_securityTraceCategory = "Security";
_trustManager = new TrustManager(communicator);
- //
+ //
// Register the endpoint factory. We have to do this now, rather than
// in initialize, because the communicator may need to interpret
- // proxies before the plugin is fully initialized.
+ // proxies before the plug-in is fully initialized.
//
_facade.addEndpointFactory(new EndpointFactoryI(this));
}
@@ -31,7 +37,7 @@ class Instance
initialize()
{
if(_initialized)
- {
+ {
return;
}
@@ -89,12 +95,12 @@ class Instance
//
_verifyDepthMax = properties.getPropertyAsIntWithDefault(prefix + "VerifyDepthMax", 2);
- //
+ //
// Check for a certificate verifier.
- //
+ //
final String certVerifierClass = properties.getProperty(prefix + "CertVerifier");
if(certVerifierClass.length() > 0)
- {
+ {
if(_verifier != null)
{
Ice.PluginInitializationException e = new Ice.PluginInitializationException();
@@ -200,8 +206,6 @@ class Instance
final String seedFiles = properties.getProperty(prefix + "Random");
if(seedFiles.length() > 0)
{
- byte[] seed = null;
- int start = 0;
final String[] arr = seedFiles.split(java.io.File.pathSeparator);
for(int i = 0; i < arr.length; ++i)
{
@@ -213,34 +217,54 @@ class Instance
throw e;
}
java.io.File f = new java.io.File(seedFile.value);
- int num = (int)f.length();
- if(seed == null)
+ try
{
- seed = new byte[num];
+ _seeds.add(new java.io.FileInputStream(f));
}
- else
+ catch(java.io.IOException ex)
{
- byte[] tmp = new byte[seed.length + num];
- System.arraycopy(seed, 0, tmp, 0, seed.length);
- start = seed.length;
- seed = tmp;
+ Ice.PluginInitializationException e = new Ice.PluginInitializationException();
+ e.reason = "IceSSL: error while reading random seed file:\n" + arr[i];
+ e.initCause(ex);
+ throw e;
}
+ }
+ }
+
+ if(!_seeds.isEmpty())
+ {
+ byte[] seed = null;
+ int start = 0;
+ for(java.util.Iterator<InputStream> p = _seeds.iterator(); p.hasNext();)
+ {
+ InputStream in = p.next();
try
{
- java.io.FileInputStream in = new java.io.FileInputStream(f);
+ int num = in.available();
+ if(seed == null)
+ {
+ seed = new byte[num];
+ }
+ else
+ {
+ byte[] tmp = new byte[seed.length + num];
+ System.arraycopy(seed, 0, tmp, 0, seed.length);
+ start = seed.length;
+ seed = tmp;
+ }
in.read(seed, start, num);
- in.close();
}
catch(java.io.IOException ex)
{
Ice.PluginInitializationException e = new Ice.PluginInitializationException();
- e.reason = "IceSSL: error while reading random seed file:\n" + arr[i];
+ e.reason = "IceSSL: error while reading random seed";
e.initCause(ex);
throw e;
}
}
rand.setSeed(seed);
}
+ _seeds.clear();
//
// We call nextInt() in order to force the object to perform any time-consuming
@@ -264,7 +288,8 @@ class Instance
String keystorePassword = properties.getProperty(prefix + "KeystorePassword");
//
- // The default keystore type value is "JKS", but it can also be "PKCS12".
+ // The default keystore type is usually "JKS", but the legal values are determined
+ // by the JVM implementation. Other possibilities include "PKCS12" and "BKS".
//
final String defaultType = java.security.KeyStore.getDefaultType();
final String keystoreType = properties.getPropertyWithDefault(prefix + "KeystoreType", defaultType);
@@ -285,7 +310,8 @@ class Instance
String truststorePassword = properties.getProperty(prefix + "TruststorePassword");
//
- // The truststore type defaults to "JKS", but it can also be "PKCS12".
+ // The default truststore type is usually "JKS", but the legal values are determined
+ // by the JVM implementation. Other possibilities include "PKCS12" and "BKS".
//
final String truststoreType =
properties.getPropertyWithDefault(prefix + "TruststoreType",
@@ -295,15 +321,16 @@ class Instance
// Collect the key managers.
//
javax.net.ssl.KeyManager[] keyManagers = null;
- if(keystorePath.value.length() > 0)
+ java.security.KeyStore keys = null;
+ if(_keystoreStream != null || keystorePath.value.length() > 0)
{
- if(!checkPath(keystorePath, false))
+ if(_keystoreStream == null && !checkPath(keystorePath, false))
{
Ice.PluginInitializationException e = new Ice.PluginInitializationException();
e.reason = "IceSSL: keystore file not found:\n" + keystorePath.value;
throw e;
}
- java.security.KeyStore keys = java.security.KeyStore.getInstance(keystoreType);
+ keys = java.security.KeyStore.getInstance(keystoreType);
try
{
char[] passwordChars = null;
@@ -315,9 +342,21 @@ class Instance
{
passwordChars = _passwordCallback.getKeystorePassword();
}
+ else if(keystoreType.equals("BKS"))
+ {
+ // Bouncy Castle does not permit null passwords.
+ passwordChars = new char[0];
+ }
- java.io.BufferedInputStream bis =
- new java.io.BufferedInputStream(new java.io.FileInputStream(keystorePath.value));
+ java.io.InputStream bis;
+ if(_keystoreStream != null)
+ {
+ bis = _keystoreStream;
+ }
+ else
+ {
+ bis = new java.io.BufferedInputStream(new java.io.FileInputStream(keystorePath.value));
+ }
keys.load(bis, passwordChars);
if(passwordChars != null)
@@ -337,7 +376,7 @@ class Instance
String algorithm = javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm();
javax.net.ssl.KeyManagerFactory kmf = javax.net.ssl.KeyManagerFactory.getInstance(algorithm);
char[] passwordChars = new char[0]; // This password cannot be null.
- if(password.length() > 0)
+ if(password.length() > 0)
{
passwordChars = password.toCharArray();
}
@@ -377,43 +416,71 @@ class Instance
// Collect the trust managers.
//
javax.net.ssl.TrustManager[] trustManagers = null;
- if(truststorePath.value.length() > 0)
+ if(_truststoreStream != null || truststorePath.value.length() > 0)
{
- if(!checkPath(truststorePath, false))
+ if(_truststoreStream == null && !checkPath(truststorePath, false))
{
Ice.PluginInitializationException e = new Ice.PluginInitializationException();
e.reason = "IceSSL: truststore file not found:\n" + truststorePath.value;
throw e;
}
- java.security.KeyStore ts = java.security.KeyStore.getInstance(truststoreType);
- try
+
+ //
+ // If the trust store and the key store are the same input
+ // stream or file, don't create another key store.
+ //
+ java.security.KeyStore ts;
+ if((_truststoreStream != null && _truststoreStream == _keystoreStream) ||
+ (truststorePath.value.length() > 0 && truststorePath.value.equals(keystorePath.value)))
{
- char[] passwordChars = null;
- if(truststorePassword.length() > 0)
- {
- passwordChars = truststorePassword.toCharArray();
- }
- else if(_passwordCallback != null)
+ assert keys != null;
+ ts = keys;
+ }
+ else
+ {
+ ts = java.security.KeyStore.getInstance(truststoreType);
+ try
{
- passwordChars = _passwordCallback.getTruststorePassword();
- }
+ char[] passwordChars = null;
+ if(truststorePassword.length() > 0)
+ {
+ passwordChars = truststorePassword.toCharArray();
+ }
+ else if(_passwordCallback != null)
+ {
+ passwordChars = _passwordCallback.getTruststorePassword();
+ }
+ else if(truststoreType.equals("BKS"))
+ {
+ // Bouncy Castle does not permit null passwords.
+ passwordChars = new char[0];
+ }
- java.io.BufferedInputStream bis =
- new java.io.BufferedInputStream(new java.io.FileInputStream(truststorePath.value));
- ts.load(bis, passwordChars);
+ java.io.InputStream bis;
+ if(_truststoreStream != null)
+ {
+ bis = _truststoreStream;
+ }
+ else
+ {
+ bis = new java.io.BufferedInputStream(
+ new java.io.FileInputStream(truststorePath.value));
+ }
+ ts.load(bis, passwordChars);
- if(passwordChars != null)
+ if(passwordChars != null)
+ {
+ java.util.Arrays.fill(passwordChars, '\0');
+ }
+ truststorePassword = null;
+ }
+ catch(java.io.IOException ex)
{
- java.util.Arrays.fill(passwordChars, '\0');
+ Ice.PluginInitializationException e = new Ice.PluginInitializationException();
+ e.reason = "IceSSL: unable to load truststore:\n" + truststorePath.value;
+ e.initCause(ex);
+ throw e;
}
- truststorePassword = null;
- }
- catch(java.io.IOException ex)
- {
- Ice.PluginInitializationException e = new Ice.PluginInitializationException();
- e.reason = "IceSSL: unable to load truststore:\n" + truststorePath.value;
- e.initCause(ex);
- throw e;
}
String algorithm = javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm();
@@ -442,7 +509,7 @@ class Instance
//
// Initialize the SSL context.
//
- _context = javax.net.ssl.SSLContext.getInstance("SSL");
+ _context = javax.net.ssl.SSLContext.getInstance("TLS");
_context.init(keyManagers, trustManagers, rand);
}
catch(java.security.GeneralSecurityException ex)
@@ -454,6 +521,13 @@ class Instance
}
}
+ //
+ // Clear cached input streams.
+ //
+ _seeds.clear();
+ _keystoreStream = null;
+ _truststoreStream = null;
+
_initialized = true;
}
@@ -463,7 +537,7 @@ class Instance
if(_initialized)
{
Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
- ex.reason = "IceSSL: plugin is already initialized";
+ ex.reason = "IceSSL: plug-in is already initialized";
throw ex;
}
@@ -500,6 +574,38 @@ class Instance
return _passwordCallback;
}
+ void
+ setKeystoreStream(java.io.InputStream stream)
+ {
+ if(_initialized)
+ {
+ Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
+ ex.reason = "IceSSL: plugin is already initialized";
+ throw ex;
+ }
+
+ _keystoreStream = stream;
+ }
+
+ void
+ setTruststoreStream(java.io.InputStream stream)
+ {
+ if(_initialized)
+ {
+ Ice.PluginInitializationException ex = new Ice.PluginInitializationException();
+ ex.reason = "IceSSL: plugin is already initialized";
+ throw ex;
+ }
+
+ _truststoreStream = stream;
+ }
+
+ void
+ addSeedStream(java.io.InputStream stream)
+ {
+ _seeds.add(stream);
+ }
+
Ice.Communicator
communicator()
{
@@ -713,7 +819,6 @@ class Instance
return _protocols;
}
- // TODO: Remove
void
traceConnection(java.nio.channels.SocketChannel fd, javax.net.ssl.SSLEngine engine, boolean incoming)
{
@@ -861,12 +966,12 @@ class Instance
{
String msg = (incoming ? "incoming" : "outgoing") + " connection rejected by certificate verifier\n" +
IceInternal.Network.fdToString(fd);
-
+
if(_securityTraceLevel > 0)
{
_logger.trace(_securityTraceCategory, msg);
}
-
+
Ice.SecurityException ex = new Ice.SecurityException();
ex.reason = msg;
throw ex;
@@ -1004,4 +1109,8 @@ class Instance
private CertificateVerifier _verifier;
private PasswordCallback _passwordCallback;
private TrustManager _trustManager;
+
+ private InputStream _keystoreStream;
+ private InputStream _truststoreStream;
+ private List<InputStream> _seeds = new ArrayList<InputStream>();
}
diff --git a/java/src/IceSSL/PasswordCallback.java b/java/src/IceSSL/PasswordCallback.java
index 5010c55c09e..be1e9dff4cd 100644
--- a/java/src/IceSSL/PasswordCallback.java
+++ b/java/src/IceSSL/PasswordCallback.java
@@ -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.
@@ -10,7 +10,7 @@
package IceSSL;
//
-// A password callback is an alternate way of supplying the plugin with
+// A password callback is an alternate way of supplying the plug-in with
// passwords that avoids using plaintext configuration properties.
//
public interface PasswordCallback
diff --git a/java/src/IceSSL/Plugin.java b/java/src/IceSSL/Plugin.java
index ecb1475bc1d..7e7aabf5651 100644
--- a/java/src/IceSSL/Plugin.java
+++ b/java/src/IceSSL/Plugin.java
@@ -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,13 +13,13 @@ public interface Plugin extends Ice.Plugin
{
//
// Establish the SSL context. This must be done before the
- // plugin is initialized, therefore the application must define
+ // plug-in is initialized, therefore the application must define
// the property Ice.InitPlugins=0, set the context, and finally
// invoke initializePlugins on the PluginManager.
//
// When the application supplies its own SSL context, the
- // plugin skips its normal property-based configuration.
- //
+ // plug-in skips its normal property-based configuration.
+ //
void setContext(javax.net.ssl.SSLContext context);
//
@@ -28,7 +28,7 @@ public interface Plugin extends Ice.Plugin
//
javax.net.ssl.SSLContext getContext();
- //
+ //
// Establish the certificate verifier object. This should be
// done before any connections are established.
//
@@ -42,7 +42,7 @@ public interface Plugin extends Ice.Plugin
//
// Establish the password callback object. This should be
- // done before the plugin is initialized.
+ // done before the plug-in is initialized.
//
void setPasswordCallback(PasswordCallback callback);
@@ -51,4 +51,24 @@ public interface Plugin extends Ice.Plugin
// callback is set.
//
PasswordCallback getPasswordCallback();
+
+ //
+ // Supplies an input stream for the keystore. Calling this method
+ // causes IceSSL to ignore the IceSSL.Keystore property.
+ //
+ void setKeystoreStream(java.io.InputStream stream);
+
+ //
+ // Supplies an input stream for the truststore. Calling this method
+ // causes IceSSL to ignore the IceSSL.Truststore property. It is
+ // legal to supply the same input stream as setKeystoreStream, in
+ // which case IceSSL uses the certificates contained in the keystore.
+ //
+ void setTruststoreStream(java.io.InputStream stream);
+
+ //
+ // Add an input stream for the random number seed. You may call
+ // this method multiple times if necessary.
+ //
+ void addSeedStream(java.io.InputStream stream);
}
diff --git a/java/src/IceSSL/PluginFactory.java b/java/src/IceSSL/PluginFactory.java
index d4b2ab0d15b..fab146a9e6a 100644
--- a/java/src/IceSSL/PluginFactory.java
+++ b/java/src/IceSSL/PluginFactory.java
@@ -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/java/src/IceSSL/PluginI.java b/java/src/IceSSL/PluginI.java
index d8977c5479f..cb5cc915bc6 100644
--- a/java/src/IceSSL/PluginI.java
+++ b/java/src/IceSSL/PluginI.java
@@ -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.
@@ -64,5 +64,23 @@ class PluginI implements Plugin
return _instance.getPasswordCallback();
}
+ public void
+ setKeystoreStream(java.io.InputStream stream)
+ {
+ _instance.setKeystoreStream(stream);
+ }
+
+ public void
+ setTruststoreStream(java.io.InputStream stream)
+ {
+ _instance.setTruststoreStream(stream);
+ }
+
+ public void
+ addSeedStream(java.io.InputStream stream)
+ {
+ _instance.addSeedStream(stream);
+ }
+
private Instance _instance;
}
diff --git a/java/src/IceSSL/RFC2253.java b/java/src/IceSSL/RFC2253.java
index f7659f11b17..add105ca5e4 100644
--- a/java/src/IceSSL/RFC2253.java
+++ b/java/src/IceSSL/RFC2253.java
@@ -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/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java
index 3ef8a5c63d7..4a90b8c05df 100644
--- a/java/src/IceSSL/TransceiverI.java
+++ b/java/src/IceSSL/TransceiverI.java
@@ -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/java/src/IceSSL/TrustManager.java b/java/src/IceSSL/TrustManager.java
index 443e3bc6b66..8ab71502a6a 100644
--- a/java/src/IceSSL/TrustManager.java
+++ b/java/src/IceSSL/TrustManager.java
@@ -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/java/src/IceSSL/Util.java b/java/src/IceSSL/Util.java
index cec37e2c8d4..ae3e5ced65f 100644
--- a/java/src/IceSSL/Util.java
+++ b/java/src/IceSSL/Util.java
@@ -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/java/src/IceSSL/X509KeyManagerI.java b/java/src/IceSSL/X509KeyManagerI.java
index 252bc4842fb..82ef9056f18 100644
--- a/java/src/IceSSL/X509KeyManagerI.java
+++ b/java/src/IceSSL/X509KeyManagerI.java
@@ -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/java/src/IceSSL/X509TrustManagerI.java b/java/src/IceSSL/X509TrustManagerI.java
index c4f85a44525..7e03b06142b 100644
--- a/java/src/IceSSL/X509TrustManagerI.java
+++ b/java/src/IceSSL/X509TrustManagerI.java
@@ -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/java/src/IceUtil/Cache.java b/java/src/IceUtil/Cache.java
index f832645c00a..00e98e27051 100644
--- a/java/src/IceUtil/Cache.java
+++ b/java/src/IceUtil/Cache.java
@@ -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/java/src/IceUtil/Store.java b/java/src/IceUtil/Store.java
index 37c242e58d7..bbd30d4c7e5 100644
--- a/java/src/IceUtil/Store.java
+++ b/java/src/IceUtil/Store.java
@@ -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/java/src/IceUtil/Version.java b/java/src/IceUtil/Version.java
index 7a52646b0f6..cb153ac230c 100644
--- a/java/src/IceUtil/Version.java
+++ b/java/src/IceUtil/Version.java
@@ -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,6 +18,6 @@ public final class Version
//
// The Ice version.
//
- public final static String ICE_STRING_VERSION = "3.3.0"; // "A.B.C", with A=major, B=minor, C=patch
- public final static int ICE_INT_VERSION = 30300; // AABBCC, with AA=major, BB=minor, CC=patch
+ public final static String ICE_STRING_VERSION = "3.3.1"; // "A.B.C", with A=major, B=minor, C=patch
+ public final static int ICE_INT_VERSION = 30301; // AABBCC, with AA=major, BB=minor, CC=patch
}
diff --git a/java/src/IceUtilInternal/Assert.java b/java/src/IceUtilInternal/Assert.java
index 314f20d8200..eb781c52c3f 100644
--- a/java/src/IceUtilInternal/Assert.java
+++ b/java/src/IceUtilInternal/Assert.java
@@ -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/java/src/IceUtilInternal/Base64.java b/java/src/IceUtilInternal/Base64.java
index d44f1540f8d..8a06de57f76 100644
--- a/java/src/IceUtilInternal/Base64.java
+++ b/java/src/IceUtilInternal/Base64.java
@@ -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/java/src/IceUtilInternal/Options.java b/java/src/IceUtilInternal/Options.java
index cc9058fa046..7751443e594 100644
--- a/java/src/IceUtilInternal/Options.java
+++ b/java/src/IceUtilInternal/Options.java
@@ -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/java/src/IceUtilInternal/OutputBase.java b/java/src/IceUtilInternal/OutputBase.java
index 895f231f620..768cc46f9d1 100644
--- a/java/src/IceUtilInternal/OutputBase.java
+++ b/java/src/IceUtilInternal/OutputBase.java
@@ -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/java/src/IceUtilInternal/StringUtil.java b/java/src/IceUtilInternal/StringUtil.java
index 5e814bcd600..236e3c64b0a 100644
--- a/java/src/IceUtilInternal/StringUtil.java
+++ b/java/src/IceUtilInternal/StringUtil.java
@@ -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/java/src/IceUtilInternal/XMLOutput.java b/java/src/IceUtilInternal/XMLOutput.java
index dec906ae4a7..538a9200808 100644
--- a/java/src/IceUtilInternal/XMLOutput.java
+++ b/java/src/IceUtilInternal/XMLOutput.java
@@ -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/java/src/ant/Slice2FreezeJTask.java b/java/src/ant/Slice2FreezeJTask.java
index 92509e79814..139230ff3ae 100644
--- a/java/src/ant/Slice2FreezeJTask.java
+++ b/java/src/ant/Slice2FreezeJTask.java
@@ -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/java/src/ant/Slice2JavaTask.java b/java/src/ant/Slice2JavaTask.java
index 8b6ddcc00fc..a55b2ddf6aa 100644
--- a/java/src/ant/Slice2JavaTask.java
+++ b/java/src/ant/Slice2JavaTask.java
@@ -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/java/src/ant/SliceDefine.java b/java/src/ant/SliceDefine.java
index e9e423da46a..5a17a687271 100644
--- a/java/src/ant/SliceDefine.java
+++ b/java/src/ant/SliceDefine.java
@@ -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/java/src/ant/SliceMeta.java b/java/src/ant/SliceMeta.java
index 878dad75218..e34888954f8 100644
--- a/java/src/ant/SliceMeta.java
+++ b/java/src/ant/SliceMeta.java
@@ -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/java/src/ant/SliceTask.java b/java/src/ant/SliceTask.java
index 97e1693467f..9edc75b9f84 100644
--- a/java/src/ant/SliceTask.java
+++ b/java/src/ant/SliceTask.java
@@ -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/java/test/Freeze/build.xml b/java/test/Freeze/build.xml
index d14567fa734..465c645d89b 100644
--- a/java/test/Freeze/build.xml
+++ b/java/test/Freeze/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Freeze/complex/Client.java b/java/test/Freeze/complex/Client.java
index c571877c359..e6dc2d363bd 100644
--- a/java/test/Freeze/complex/Client.java
+++ b/java/test/Freeze/complex/Client.java
@@ -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/java/test/Freeze/complex/Complex.ice b/java/test/Freeze/complex/Complex.ice
index 3e811305647..9e2592d8d4d 100644
--- a/java/test/Freeze/complex/Complex.ice
+++ b/java/test/Freeze/complex/Complex.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/java/test/Freeze/complex/Complex/AddNodeI.java b/java/test/Freeze/complex/Complex/AddNodeI.java
index 095a4a781e1..c46e8e09d51 100644
--- a/java/test/Freeze/complex/Complex/AddNodeI.java
+++ b/java/test/Freeze/complex/Complex/AddNodeI.java
@@ -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/java/test/Freeze/complex/Complex/MultiplyNodeI.java b/java/test/Freeze/complex/Complex/MultiplyNodeI.java
index 0614b5cb9ea..4092cbc61ee 100644
--- a/java/test/Freeze/complex/Complex/MultiplyNodeI.java
+++ b/java/test/Freeze/complex/Complex/MultiplyNodeI.java
@@ -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/java/test/Freeze/complex/Complex/NumberNodeI.java b/java/test/Freeze/complex/Complex/NumberNodeI.java
index 3b4943773c5..32066758795 100644
--- a/java/test/Freeze/complex/Complex/NumberNodeI.java
+++ b/java/test/Freeze/complex/Complex/NumberNodeI.java
@@ -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/java/test/Freeze/complex/Complex/ObjectFactoryI.java b/java/test/Freeze/complex/Complex/ObjectFactoryI.java
index 769fe66517d..549d758f644 100644
--- a/java/test/Freeze/complex/Complex/ObjectFactoryI.java
+++ b/java/test/Freeze/complex/Complex/ObjectFactoryI.java
@@ -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/java/test/Freeze/complex/ParseError.java b/java/test/Freeze/complex/ParseError.java
index 77b3cb2a4b9..c0778e429d4 100644
--- a/java/test/Freeze/complex/ParseError.java
+++ b/java/test/Freeze/complex/ParseError.java
@@ -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/java/test/Freeze/complex/Parser.java b/java/test/Freeze/complex/Parser.java
index f88ae646847..c654fa371e6 100644
--- a/java/test/Freeze/complex/Parser.java
+++ b/java/test/Freeze/complex/Parser.java
@@ -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/java/test/Freeze/complex/build.xml b/java/test/Freeze/complex/build.xml
index 30134d17c4d..08f23a97390 100644
--- a/java/test/Freeze/complex/build.xml
+++ b/java/test/Freeze/complex/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -51,6 +51,7 @@
<delete>
<fileset dir="db" includes="log.*"/>
<fileset dir="db" includes="test"/>
+ <fileset dir="db" includes="__catalog*"/>
</delete>
</target>
diff --git a/java/test/Freeze/complex/run.py b/java/test/Freeze/complex/run.py
index bcb9ba442dd..f293046a8fb 100755
--- a/java/test/Freeze/complex/run.py
+++ b/java/test/Freeze/complex/run.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.
@@ -10,49 +10,32 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Freeze", "complex")
-testdir = os.path.join(toplevel, "test", name)
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
#
# Clean the contents of the database directory.
#
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-
print "starting populate...",
-populatePipe = TestUtil.startClient("Client", " --dbdir " + testdir + " populate" + " 2>&1")
+populateProc = TestUtil.startClient("Client", " --dbdir %s populate" % os.getcwd())
print "ok"
-TestUtil.printOutputFromPipe(populatePipe)
-
-populateStatus = TestUtil.closePipe(populatePipe)
-
-if populateStatus:
- sys.exit(1)
+populateProc.waitTestSuccess()
print "starting verification client...",
-clientPipe = TestUtil.startClient("Client", " --dbdir " + testdir + " validate" + " 2>&1")
-print "ok"
+clientProc = TestUtil.startClient("Client", " --dbdir %s validate" % os.getcwd())
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+print "ok"
+clientProc.waitTestSuccess()
diff --git a/java/test/Freeze/dbmap/Client.java b/java/test/Freeze/dbmap/Client.java
index 35d67fd7a91..203e14cf2a8 100644
--- a/java/test/Freeze/dbmap/Client.java
+++ b/java/test/Freeze/dbmap/Client.java
@@ -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/java/test/Freeze/dbmap/build.xml b/java/test/Freeze/dbmap/build.xml
index 1f74e17f5d8..70870f6f315 100644
--- a/java/test/Freeze/dbmap/build.xml
+++ b/java/test/Freeze/dbmap/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -72,7 +72,8 @@
<delete dir="${generated.dir}"/>
<delete>
<fileset dir="db" includes="log.*"/>
- <fileset dir="db" includes="__catalog"/>
+ <fileset dir="db" includes="__catalog*"/>
+ <fileset dir="db" includes="sortedMap,sortedMap.category"/>
<fileset dir="db" includes="binary,binary.index"/>
<fileset dir="db" includes="intIdentity,intIdentity.category"/>
</delete>
diff --git a/java/test/Freeze/dbmap/run.py b/java/test/Freeze/dbmap/run.py
index a304c10eac4..9b242c82d04 100755
--- a/java/test/Freeze/dbmap/run.py
+++ b/java/test/Freeze/dbmap/run.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.
@@ -10,34 +10,22 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
-name = os.path.join("Freeze", "dbmap")
-testdir = os.path.join(toplevel, "test", name)
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
print "starting client...",
-clientPipe = TestUtil.startClient("Client", testdir + " 2>&1")
+clientProc = TestUtil.startClient("Client", os.getcwd())
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/java/test/Freeze/evictor/AccountI.java b/java/test/Freeze/evictor/AccountI.java
index 8df7057eeaa..7ec38f04d4a 100644
--- a/java/test/Freeze/evictor/AccountI.java
+++ b/java/test/Freeze/evictor/AccountI.java
@@ -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.
@@ -81,7 +81,6 @@ public class AccountI extends Test.Account
notify();
}
-
public synchronized void run()
{
if(_response == false && _exception == null)
@@ -129,8 +128,7 @@ public class AccountI extends Test.Account
ResponseThread thread = new ResponseThread();
thread.setDaemon(true);
- thread.start();
-
+
test(_evictor.getCurrentTransaction() != null);
try
@@ -140,6 +138,9 @@ public class AccountI extends Test.Account
}
catch(Ice.UserException e)
{
+ thread.start();
+ Thread.yield();
+
//
// Need to rollback here -- "rollback on user exception" does not work
// when the dispatch commits before it gets any response!
@@ -150,6 +151,8 @@ public class AccountI extends Test.Account
return;
}
+ thread.start();
+ Thread.yield();
thread.response();
}
diff --git a/java/test/Freeze/evictor/Client.java b/java/test/Freeze/evictor/Client.java
index 81099d6ac79..462da193412 100644
--- a/java/test/Freeze/evictor/Client.java
+++ b/java/test/Freeze/evictor/Client.java
@@ -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/java/test/Freeze/evictor/FacetI.java b/java/test/Freeze/evictor/FacetI.java
index 68de5663351..dbc87262a28 100644
--- a/java/test/Freeze/evictor/FacetI.java
+++ b/java/test/Freeze/evictor/FacetI.java
@@ -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/java/test/Freeze/evictor/RemoteEvictorFactoryI.java b/java/test/Freeze/evictor/RemoteEvictorFactoryI.java
index 5b4fef846fc..c9008bad700 100644
--- a/java/test/Freeze/evictor/RemoteEvictorFactoryI.java
+++ b/java/test/Freeze/evictor/RemoteEvictorFactoryI.java
@@ -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/java/test/Freeze/evictor/RemoteEvictorI.java b/java/test/Freeze/evictor/RemoteEvictorI.java
index 008bc2725bb..e5278012c16 100644
--- a/java/test/Freeze/evictor/RemoteEvictorI.java
+++ b/java/test/Freeze/evictor/RemoteEvictorI.java
@@ -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/java/test/Freeze/evictor/ServantI.java b/java/test/Freeze/evictor/ServantI.java
index 9bdd8d11be0..b21afb4038d 100644
--- a/java/test/Freeze/evictor/ServantI.java
+++ b/java/test/Freeze/evictor/ServantI.java
@@ -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/java/test/Freeze/evictor/Server.java b/java/test/Freeze/evictor/Server.java
index 601f9a13d9c..4c020875b27 100644
--- a/java/test/Freeze/evictor/Server.java
+++ b/java/test/Freeze/evictor/Server.java
@@ -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/java/test/Freeze/evictor/Test.ice b/java/test/Freeze/evictor/Test.ice
index cf9dacd443f..2b72a5b70c9 100644
--- a/java/test/Freeze/evictor/Test.ice
+++ b/java/test/Freeze/evictor/Test.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/java/test/Freeze/evictor/build.xml b/java/test/Freeze/evictor/build.xml
index b6d41b0cc24..10713da3f3b 100644
--- a/java/test/Freeze/evictor/build.xml
+++ b/java/test/Freeze/evictor/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -48,6 +48,7 @@
<delete dir="${class.dir}"/>
<delete>
<fileset dir="db" includes="log.*"/>
+ <fileset dir="db" includes="__catalog*"/>
<fileset dir="db" includes="Test,__catalog"/>
</delete>
</target>
diff --git a/java/test/Freeze/evictor/run.py b/java/test/Freeze/evictor/run.py
index ad872902b86..eb2ec82742a 100755
--- a/java/test/Freeze/evictor/run.py
+++ b/java/test/Freeze/evictor/run.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.
@@ -10,25 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Freeze", "evictor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-testOptions = " --Freeze.Warn.Deadlocks=0 --Freeze.DbEnv.db.DbHome=" + testdir + "/db" + " --Ice.Config=" + testdir + "/config ";
+testOptions = " --Freeze.Warn.Deadlocks=0 --Freeze.DbEnv.db.DbHome=%s/db --Ice.Config=%s/config " % (os.getcwd(), os.getcwd())
-TestUtil.clientServerTestWithOptions(testdir, testOptions, testOptions)
-sys.exit(0)
+TestUtil.clientServerTest(testOptions, testOptions)
diff --git a/java/test/Freeze/oldevictor/Client.java b/java/test/Freeze/oldevictor/Client.java
index c52145d07c3..2b083967c2d 100644
--- a/java/test/Freeze/oldevictor/Client.java
+++ b/java/test/Freeze/oldevictor/Client.java
@@ -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/java/test/Freeze/oldevictor/FacetI.java b/java/test/Freeze/oldevictor/FacetI.java
index 8d4b4faa155..b2acd7214fd 100644
--- a/java/test/Freeze/oldevictor/FacetI.java
+++ b/java/test/Freeze/oldevictor/FacetI.java
@@ -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/java/test/Freeze/oldevictor/RemoteEvictorFactoryI.java b/java/test/Freeze/oldevictor/RemoteEvictorFactoryI.java
index 5932103b2bb..75481d2bebb 100644
--- a/java/test/Freeze/oldevictor/RemoteEvictorFactoryI.java
+++ b/java/test/Freeze/oldevictor/RemoteEvictorFactoryI.java
@@ -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/java/test/Freeze/oldevictor/RemoteEvictorI.java b/java/test/Freeze/oldevictor/RemoteEvictorI.java
index 4c71bd6c5f8..075e3bdb08c 100644
--- a/java/test/Freeze/oldevictor/RemoteEvictorI.java
+++ b/java/test/Freeze/oldevictor/RemoteEvictorI.java
@@ -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/java/test/Freeze/oldevictor/ServantI.java b/java/test/Freeze/oldevictor/ServantI.java
index 2a1dc270597..feeead8dcac 100644
--- a/java/test/Freeze/oldevictor/ServantI.java
+++ b/java/test/Freeze/oldevictor/ServantI.java
@@ -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/java/test/Freeze/oldevictor/Server.java b/java/test/Freeze/oldevictor/Server.java
index 5b01e64ef7a..02b52afb564 100644
--- a/java/test/Freeze/oldevictor/Server.java
+++ b/java/test/Freeze/oldevictor/Server.java
@@ -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/java/test/Freeze/oldevictor/Test.ice b/java/test/Freeze/oldevictor/Test.ice
index d43b8d3fb0e..0c667d9b678 100644
--- a/java/test/Freeze/oldevictor/Test.ice
+++ b/java/test/Freeze/oldevictor/Test.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/java/test/Freeze/oldevictor/build.xml b/java/test/Freeze/oldevictor/build.xml
index c5cb5bbe55f..38aae918d72 100644
--- a/java/test/Freeze/oldevictor/build.xml
+++ b/java/test/Freeze/oldevictor/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -45,6 +45,7 @@
<delete dir="${class.dir}"/>
<delete>
<fileset dir="db" includes="log.*"/>
+ <fileset dir="db" includes="__catalog*"/>
<fileset dir="db" includes="Test"/>
</delete>
</target>
diff --git a/java/test/Freeze/oldevictor/run.py b/java/test/Freeze/oldevictor/run.py
index daa73970fd6..b17366f6069 100755
--- a/java/test/Freeze/oldevictor/run.py
+++ b/java/test/Freeze/oldevictor/run.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.
@@ -10,25 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Freeze", "oldevictor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-dbdir = os.path.join(testdir, "db")
+dbdir = os.path.join(os.getcwd(), "db")
TestUtil.cleanDbDir(dbdir)
-testOptions = " --Freeze.DbEnv.db.DbHome=" + testdir + "/db" + " --Ice.Config=" + testdir + "/config ";
+testOptions = " --Freeze.DbEnv.db.DbHome=%s --Ice.Config=%s" % (dbdir, os.path.join(os.getcwd(), "config"))
-TestUtil.clientServerTestWithOptions(testdir, testOptions, testOptions)
-sys.exit(0)
+TestUtil.clientServerTest(testOptions, testOptions)
diff --git a/java/test/Glacier2/attack/AttackClient.java b/java/test/Glacier2/attack/AttackClient.java
deleted file mode 100644
index 1a93f058ae4..00000000000
--- a/java/test/Glacier2/attack/AttackClient.java
+++ /dev/null
@@ -1,138 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. 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 Test.*;
-
-class AttackClient extends Ice.Application
-{
- public int
- run(String[] args)
- {
- System.out.print("getting router... ");
- System.out.flush();
- Ice.ObjectPrx routerBase = communicator().stringToProxy("Glacier2/router:default -p 12347 -t 10000");
- Glacier2.RouterPrx router = Glacier2.RouterPrxHelper.checkedCast(routerBase);
- test(router != null);
- System.out.println("ok");
-
- System.out.print("creating session... ");
- System.out.flush();
- try
- {
- Glacier2.SessionPrx session = router.createSession("userid", "abc123");
- }
- catch(Glacier2.PermissionDeniedException ex)
- {
- assert(false);
- }
- catch(Glacier2.CannotCreateSessionException ex)
- {
- assert(false);
- }
- communicator().setDefaultRouter(router);
- System.out.println("ok");
-
- System.out.print("making thousands of invocations on proxies... ");
- System.out.flush();
- Ice.ObjectPrx backendBase = communicator().stringToProxy("dummy:tcp -p 12010 -t 10000");
- BackendPrx backend = BackendPrxHelper.uncheckedCast(backendBase);
- backend.ice_ping();
-
- java.util.Map<BackendPrx, BackendPrx> backends = new java.util.HashMap<BackendPrx, BackendPrx>();
- java.util.Random rand = new java.util.Random();
-
- String msg = "";
- for(int i = 1; i <= 10000; ++i)
- {
- if(i % 100 == 0)
- {
- for(int j = 0; j < msg.length(); ++j)
- {
- System.out.print('\b');
- }
-
- msg = "" + i;
- System.out.print(i);
- System.out.flush();
- }
-
- Ice.Identity ident = new Ice.Identity();
-
- StringBuffer name = new StringBuffer();
- name.append((char)('A' + rand.nextInt(26)));
- ident.name = name.toString();
-
- StringBuffer category = new StringBuffer();
- int len = rand.nextInt(2);
- for(int j = 0; j < len; ++j)
- {
- category.append((char)('a' + rand.nextInt(26)));
- }
- ident.category = category.toString();
-
- BackendPrx newBackend = BackendPrxHelper.uncheckedCast(backendBase.ice_identity(ident));
-
- if(!backends.containsKey(newBackend))
- {
- backends.put(newBackend, newBackend);
- backend = newBackend;
- }
- else
- {
- backend = backends.get(newBackend);
- }
-
- backend.ice_ping();
- }
-
- for(int j = 0; j < msg.length(); ++j)
- {
- System.out.print('\b');
- }
- for(int j = 0; j < msg.length(); ++j)
- {
- System.out.print(' ');
- }
- for(int j = 0; j < msg.length(); ++j)
- {
- System.out.print('\b');
- }
- System.out.println("ok");
-
- System.out.print("testing server and router shutdown... ");
- System.out.flush();
- backend.shutdown();
- communicator().setDefaultRouter(null);
- Ice.ObjectPrx processBase =
- communicator().stringToProxy("Glacier2/admin -f Process:tcp -h 127.0.0.1 -p 12348 -t 10000");
- Ice.ProcessPrx process = Ice.ProcessPrxHelper.checkedCast(processBase);
- test(process != null);
- process.shutdown();
- try
- {
- process.ice_ping();
- test(false);
- }
- catch(Ice.LocalException ex)
- {
- System.out.println("ok");
- }
-
- return 0;
- }
-
- private static void
- test(boolean b)
- {
- if(!b)
- {
- throw new RuntimeException();
- }
- }
-}
diff --git a/java/test/Glacier2/attack/BackendI.java b/java/test/Glacier2/attack/BackendI.java
deleted file mode 100644
index d0830936069..00000000000
--- a/java/test/Glacier2/attack/BackendI.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. 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 Test.*;
-
-final class BackendI extends _BackendDisp
-{
- BackendI()
- {
- }
-
- public void
- shutdown(Ice.Current current)
- {
- current.adapter.getCommunicator().shutdown();
- }
-}
diff --git a/java/test/Glacier2/attack/BackendServer.java b/java/test/Glacier2/attack/BackendServer.java
deleted file mode 100644
index 8e839bcdec6..00000000000
--- a/java/test/Glacier2/attack/BackendServer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. 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 Test.*;
-
-class BackendServer extends Ice.Application
-{
- public int
- run(String[] args)
- {
- communicator().getProperties().setProperty("BackendAdapter.Endpoints", "tcp -p 12010 -t 10000");
- Ice.ObjectAdapter adapter = communicator().createObjectAdapter("BackendAdapter");
- adapter.addServantLocator(new ServantLocatorI(), "");
- adapter.activate();
- communicator().waitForShutdown();
- return 0;
- }
-}
diff --git a/java/test/Glacier2/attack/Client.java b/java/test/Glacier2/attack/Client.java
deleted file mode 100644
index bc876194eb3..00000000000
--- a/java/test/Glacier2/attack/Client.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-public class Client
-{
- public static void
- main(String[] args)
- {
- //
- // We want to check whether the client retries for evicted
- // proxies, even with regular retries disabled.
- //
- Ice.StringSeqHolder argsH = new Ice.StringSeqHolder(args);
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties(argsH);
- initData.properties.setProperty("Ice.RetryIntervals", "-1");
-
- AttackClient app = new AttackClient();
- int status = app.main("Client", argsH.value, initData);
- System.gc();
- System.exit(status);
- }
-}
diff --git a/java/test/Glacier2/attack/ServantLocatorI.java b/java/test/Glacier2/attack/ServantLocatorI.java
deleted file mode 100644
index 5661f24428f..00000000000
--- a/java/test/Glacier2/attack/ServantLocatorI.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. 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 Test.*;
-
-public final class ServantLocatorI implements Ice.ServantLocator
-{
- ServantLocatorI()
- {
- _backend = new BackendI();
- }
-
- public Ice.Object locate(Ice.Current curr, Ice.LocalObjectHolder cookie)
- {
- return _backend;
- }
-
- public void finished(Ice.Current curr, Ice.Object servant, java.lang.Object cookie)
- {
- }
-
- public void deactivate(String category)
- {
- }
-
- private Backend _backend;
-}
diff --git a/java/test/Glacier2/attack/Server.java b/java/test/Glacier2/attack/Server.java
deleted file mode 100644
index a6ccfd7c61c..00000000000
--- a/java/test/Glacier2/attack/Server.java
+++ /dev/null
@@ -1,20 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-public class Server
-{
- public static void
- main(String[] args)
- {
- BackendServer app = new BackendServer();
- int status = app.main("Server", args);
- System.gc();
- System.exit(status);
- }
-}
diff --git a/java/test/Glacier2/attack/passwords b/java/test/Glacier2/attack/passwords
deleted file mode 100644
index a1527dec2b9..00000000000
--- a/java/test/Glacier2/attack/passwords
+++ /dev/null
@@ -1 +0,0 @@
-userid xxMqsnnDcK8tw \ No newline at end of file
diff --git a/java/test/Glacier2/attack/run.py b/java/test/Glacier2/attack/run.py
deleted file mode 100755
index c12be9e5baf..00000000000
--- a/java/test/Glacier2/attack/run.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2003-2008 ZeroC, Inc. 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 os, sys
-
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-
-args = r' --Ice.PrintProcessId' \
- r' --Glacier2.RoutingTable.MaxSize=10' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + os.path.join(testdir, "passwords") + '"'
-
-print "starting router...",
-routerConfig = TestUtil.DriverConfig("server")
-routerConfig.lang = "cpp"
-starterPipe = TestUtil.startServer(router, args + " 2>&1", routerConfig)
-TestUtil.getServerPid(starterPipe)
-TestUtil.getAdapterReady(starterPipe, True, 2)
-print "ok"
-
-name = os.path.join("Glacier2", "attack")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-
-if TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
diff --git a/java/test/Glacier2/build.xml b/java/test/Glacier2/build.xml
index b670c262eff..907462c8d33 100644
--- a/java/test/Glacier2/build.xml
+++ b/java/test/Glacier2/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -12,12 +12,10 @@
<project name="test_Glacier2" default="all" basedir=".">
<target name="all">
- <ant dir="attack"/>
<ant dir="router"/>
</target>
<target name="clean">
- <ant dir="attack" target="clean"/>
<ant dir="router" target="clean"/>
</target>
diff --git a/java/test/Glacier2/router/Callback.ice b/java/test/Glacier2/router/Callback.ice
index c35b67ec95d..8df703ebedc 100644
--- a/java/test/Glacier2/router/Callback.ice
+++ b/java/test/Glacier2/router/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/java/test/Glacier2/router/CallbackClient.java b/java/test/Glacier2/router/CallbackClient.java
index 723eabd0c10..7f53891d986 100644
--- a/java/test/Glacier2/router/CallbackClient.java
+++ b/java/test/Glacier2/router/CallbackClient.java
@@ -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/java/test/Glacier2/router/CallbackI.java b/java/test/Glacier2/router/CallbackI.java
index 1bad0ee3e64..71709335553 100644
--- a/java/test/Glacier2/router/CallbackI.java
+++ b/java/test/Glacier2/router/CallbackI.java
@@ -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/java/test/Glacier2/router/CallbackReceiverI.java b/java/test/Glacier2/router/CallbackReceiverI.java
index d1a2c337b1d..2948675d024 100644
--- a/java/test/Glacier2/router/CallbackReceiverI.java
+++ b/java/test/Glacier2/router/CallbackReceiverI.java
@@ -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/java/test/Glacier2/router/CallbackServer.java b/java/test/Glacier2/router/CallbackServer.java
index bd03d787e71..01a077589e6 100644
--- a/java/test/Glacier2/router/CallbackServer.java
+++ b/java/test/Glacier2/router/CallbackServer.java
@@ -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/java/test/Glacier2/router/Client.java b/java/test/Glacier2/router/Client.java
index fac5f6529f1..f936057ffcd 100644
--- a/java/test/Glacier2/router/Client.java
+++ b/java/test/Glacier2/router/Client.java
@@ -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/java/test/Glacier2/router/Server.java b/java/test/Glacier2/router/Server.java
index dffca206e19..67ac0e8ab32 100644
--- a/java/test/Glacier2/router/Server.java
+++ b/java/test/Glacier2/router/Server.java
@@ -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/java/test/Glacier2/router/build.xml b/java/test/Glacier2/router/build.xml
index 2cdebe07b0e..f343d4034dc 100644
--- a/java/test/Glacier2/router/build.xml
+++ b/java/test/Glacier2/router/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Glacier2/router/run.py b/java/test/Glacier2/router/run.py
index 7da23613f11..976a222bee1 100755
--- a/java/test/Glacier2/router/run.py
+++ b/java/test/Glacier2/router/run.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.
@@ -10,62 +10,37 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
+sys.path.append(os.path.join(path[0]))
+from scripts import *
router = os.path.join(TestUtil.getCppBinDir(), "glacier2router")
-args = r' --Ice.Warn.Dispatch=0' + \
- r' --Ice.Warn.Connections=0' + \
- r' --Glacier2.Filter.Category.Accept="c1 c2"' + \
- r' --Glacier2.Filter.Category.AcceptUser="2"' + \
- r' --Glacier2.SessionTimeout="30"' + \
- r' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
- r' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
- r' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
- r' --Ice.Admin.InstanceName=Glacier2' + \
- r' --Glacier2.CryptPasswords="' + os.path.join(testdir, "passwords") + '"'
+args = ' --Ice.Warn.Dispatch=0' + \
+ ' --Ice.Warn.Connections=0' + \
+ ' --Glacier2.Filter.Category.Accept="c1 c2"' + \
+ ' --Glacier2.Filter.Category.AcceptUser="2"' + \
+ ' --Glacier2.SessionTimeout="30"' + \
+ ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \
+ ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \
+ ' --Ice.Admin.Endpoints="tcp -h 127.0.0.1 -p 12348 -t 10000"' + \
+ ' --Ice.Admin.InstanceName=Glacier2' + \
+ ' --Glacier2.CryptPasswords="' + os.path.join(os.getcwd(), "passwords") + '"'
print "starting router...",
routerConfig = TestUtil.DriverConfig("server")
routerConfig.lang = "cpp"
-starterPipe = TestUtil.startServer(router, args + " 2>&1", routerConfig)
-TestUtil.getServerPid(starterPipe)
-#
-# For this test we don't want to add the router to the server threads
-# since we want the the router to run over two calls to
-# mixedClientServerTest
-#
-TestUtil.getAdapterReady(starterPipe, False, 2)
+starterProc = TestUtil.startServer(router, args, count=2, config=routerConfig)
print "ok"
-starterThread = TestUtil.ReaderThread(starterPipe);
-starterThread.start()
-
-name = os.path.join("Glacier2", "router")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.mixedClientServerTest(name)
-
-#
-# We run the test again, to check whether the glacier router can
-# handle multiple clients. Also, when we run for the second time, we
-# want the client to shutdown the router after running the tests.
-#
-TestUtil.mixedClientServerTestWithOptions(name, "", " --shutdown")
+TestUtil.clientServerTest()
-starterThread.join()
-if starterThread.getStatus():
- sys.exit(1)
+TestUtil.clientServerTest(additionalClientOptions=" --shutdown")
-sys.exit(0)
+starterProc.waitTestSuccess()
diff --git a/java/test/Ice/adapterDeactivation/AllTests.java b/java/test/Ice/adapterDeactivation/AllTests.java
index cd219e9fbdc..ae26e279b06 100644
--- a/java/test/Ice/adapterDeactivation/AllTests.java
+++ b/java/test/Ice/adapterDeactivation/AllTests.java
@@ -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/java/test/Ice/adapterDeactivation/Client.java b/java/test/Ice/adapterDeactivation/Client.java
index 288bdd5b22f..6c24edce08c 100644
--- a/java/test/Ice/adapterDeactivation/Client.java
+++ b/java/test/Ice/adapterDeactivation/Client.java
@@ -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/java/test/Ice/adapterDeactivation/Collocated.java b/java/test/Ice/adapterDeactivation/Collocated.java
index 0c7cc5adc1e..fd621ee2f54 100644
--- a/java/test/Ice/adapterDeactivation/Collocated.java
+++ b/java/test/Ice/adapterDeactivation/Collocated.java
@@ -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/java/test/Ice/adapterDeactivation/CookieI.java b/java/test/Ice/adapterDeactivation/CookieI.java
index 8e051f40033..46b4fac6e28 100644
--- a/java/test/Ice/adapterDeactivation/CookieI.java
+++ b/java/test/Ice/adapterDeactivation/CookieI.java
@@ -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/java/test/Ice/adapterDeactivation/ServantLocatorI.java b/java/test/Ice/adapterDeactivation/ServantLocatorI.java
index e6b04cd9226..3cf53e6440c 100644
--- a/java/test/Ice/adapterDeactivation/ServantLocatorI.java
+++ b/java/test/Ice/adapterDeactivation/ServantLocatorI.java
@@ -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/java/test/Ice/adapterDeactivation/Server.java b/java/test/Ice/adapterDeactivation/Server.java
index 0b3e3dbf284..95b06996897 100644
--- a/java/test/Ice/adapterDeactivation/Server.java
+++ b/java/test/Ice/adapterDeactivation/Server.java
@@ -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/java/test/Ice/adapterDeactivation/Test.ice b/java/test/Ice/adapterDeactivation/Test.ice
index f2d31eb2a9f..d8ad4c7f1f2 100644
--- a/java/test/Ice/adapterDeactivation/Test.ice
+++ b/java/test/Ice/adapterDeactivation/Test.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/java/test/Ice/adapterDeactivation/TestI.java b/java/test/Ice/adapterDeactivation/TestI.java
index b3dc4bb9582..cb373ea5b44 100644
--- a/java/test/Ice/adapterDeactivation/TestI.java
+++ b/java/test/Ice/adapterDeactivation/TestI.java
@@ -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/java/test/Ice/adapterDeactivation/build.xml b/java/test/Ice/adapterDeactivation/build.xml
index ce2183f7f69..0fe79983631 100644
--- a/java/test/Ice/adapterDeactivation/build.xml
+++ b/java/test/Ice/adapterDeactivation/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/adapterDeactivation/run.py b/java/test/Ice/adapterDeactivation/run.py
index 2846cef184e..545214a74c7 100755
--- a/java/test/Ice/adapterDeactivation/run.py
+++ b/java/test/Ice/adapterDeactivation/run.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.
@@ -10,26 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "adapterDeactivation")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-#
-# We need to use mixedClientServerTest so that, when using SSL, the
-# server-side SSL configuration properties are defined. This is
-# necessary because the client creates object adapters.
-#
-TestUtil.mixedClientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/background/Acceptor.java b/java/test/Ice/background/Acceptor.java
index a4034b872a6..df6ddddd8e6 100644
--- a/java/test/Ice/background/Acceptor.java
+++ b/java/test/Ice/background/Acceptor.java
@@ -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/java/test/Ice/background/AllTests.java b/java/test/Ice/background/AllTests.java
index 9d24b2e64e2..737f792c8d0 100644
--- a/java/test/Ice/background/AllTests.java
+++ b/java/test/Ice/background/AllTests.java
@@ -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/java/test/Ice/background/BackgroundControllerI.java b/java/test/Ice/background/BackgroundControllerI.java
index 828ef9cf47e..1444b2e9849 100644
--- a/java/test/Ice/background/BackgroundControllerI.java
+++ b/java/test/Ice/background/BackgroundControllerI.java
@@ -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/java/test/Ice/background/BackgroundI.java b/java/test/Ice/background/BackgroundI.java
index 0b59a974f11..6a4d4553b28 100644
--- a/java/test/Ice/background/BackgroundI.java
+++ b/java/test/Ice/background/BackgroundI.java
@@ -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/java/test/Ice/background/Client.java b/java/test/Ice/background/Client.java
index ee7c89ca2b1..91a4be7dbe8 100644
--- a/java/test/Ice/background/Client.java
+++ b/java/test/Ice/background/Client.java
@@ -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.
@@ -40,7 +40,7 @@ public class Client
initData.properties.setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
initData.properties.setProperty("Ice.Plugin.Test", "PluginFactory");
String defaultProtocol = initData.properties.getPropertyWithDefault("Ice.Default.Protocol", "tcp");
diff --git a/java/test/Ice/background/Configuration.java b/java/test/Ice/background/Configuration.java
index f7162861b72..97aeefa60c4 100644
--- a/java/test/Ice/background/Configuration.java
+++ b/java/test/Ice/background/Configuration.java
@@ -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/java/test/Ice/background/Connector.java b/java/test/Ice/background/Connector.java
index bbca28dcb1c..242d45ea7e4 100644
--- a/java/test/Ice/background/Connector.java
+++ b/java/test/Ice/background/Connector.java
@@ -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/java/test/Ice/background/EndpointFactory.java b/java/test/Ice/background/EndpointFactory.java
index 647aae06e9f..54ecd46023d 100644
--- a/java/test/Ice/background/EndpointFactory.java
+++ b/java/test/Ice/background/EndpointFactory.java
@@ -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/java/test/Ice/background/EndpointI.java b/java/test/Ice/background/EndpointI.java
index 4286c0d9365..35147578498 100644
--- a/java/test/Ice/background/EndpointI.java
+++ b/java/test/Ice/background/EndpointI.java
@@ -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/java/test/Ice/background/PluginFactory.java b/java/test/Ice/background/PluginFactory.java
index 71748f4efe3..67e954d5de5 100644
--- a/java/test/Ice/background/PluginFactory.java
+++ b/java/test/Ice/background/PluginFactory.java
@@ -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/java/test/Ice/background/Server.java b/java/test/Ice/background/Server.java
index 37cb617d4ac..7e5cdb7d513 100644
--- a/java/test/Ice/background/Server.java
+++ b/java/test/Ice/background/Server.java
@@ -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.
@@ -133,7 +133,7 @@ public class Server
initData.properties.setProperty("Ice.Warn.Connections", "0");
//
- // Setup the test transport plugin.
+ // Setup the test transport plug-in.
//
initData.properties.setProperty("Ice.Plugin.Test", "PluginFactory");
String defaultProtocol = initData.properties.getPropertyWithDefault("Ice.Default.Protocol", "tcp");
diff --git a/java/test/Ice/background/Test.ice b/java/test/Ice/background/Test.ice
index 11ef1c5a63a..e4707ef2706 100644
--- a/java/test/Ice/background/Test.ice
+++ b/java/test/Ice/background/Test.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/java/test/Ice/background/Transceiver.java b/java/test/Ice/background/Transceiver.java
index 8459d64db52..c1b869e3e8a 100644
--- a/java/test/Ice/background/Transceiver.java
+++ b/java/test/Ice/background/Transceiver.java
@@ -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/java/test/Ice/background/build.xml b/java/test/Ice/background/build.xml
index 07ef3bae04b..0655e6ae7a6 100644
--- a/java/test/Ice/background/build.xml
+++ b/java/test/Ice/background/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/background/run.py b/java/test/Ice/background/run.py
index bc7d8cec1a6..bb34e7d35b7 100755
--- a/java/test/Ice/background/run.py
+++ b/java/test/Ice/background/run.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.
@@ -10,21 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "background")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/binding/AllTests.java b/java/test/Ice/binding/AllTests.java
index 9ff8feb7644..242c25093f4 100644
--- a/java/test/Ice/binding/AllTests.java
+++ b/java/test/Ice/binding/AllTests.java
@@ -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/java/test/Ice/binding/Client.java b/java/test/Ice/binding/Client.java
index c79f7dc4991..da27b62dccd 100644
--- a/java/test/Ice/binding/Client.java
+++ b/java/test/Ice/binding/Client.java
@@ -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/java/test/Ice/binding/RemoteCommunicatorI.java b/java/test/Ice/binding/RemoteCommunicatorI.java
index 9d7531d6263..8b0bf22617f 100644
--- a/java/test/Ice/binding/RemoteCommunicatorI.java
+++ b/java/test/Ice/binding/RemoteCommunicatorI.java
@@ -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/java/test/Ice/binding/RemoteObjectAdapterI.java b/java/test/Ice/binding/RemoteObjectAdapterI.java
index bc03622d3b1..7828efba913 100644
--- a/java/test/Ice/binding/RemoteObjectAdapterI.java
+++ b/java/test/Ice/binding/RemoteObjectAdapterI.java
@@ -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/java/test/Ice/binding/Server.java b/java/test/Ice/binding/Server.java
index 81729a18e6c..ab5228fe620 100644
--- a/java/test/Ice/binding/Server.java
+++ b/java/test/Ice/binding/Server.java
@@ -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/java/test/Ice/binding/Test.ice b/java/test/Ice/binding/Test.ice
index 5baef2fb7d4..40783e4535c 100644
--- a/java/test/Ice/binding/Test.ice
+++ b/java/test/Ice/binding/Test.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/java/test/Ice/binding/TestI.java b/java/test/Ice/binding/TestI.java
index 5c36897de3f..a403d501067 100644
--- a/java/test/Ice/binding/TestI.java
+++ b/java/test/Ice/binding/TestI.java
@@ -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/java/test/Ice/binding/build.xml b/java/test/Ice/binding/build.xml
index a03f235d310..7038b5516c0 100644
--- a/java/test/Ice/binding/build.xml
+++ b/java/test/Ice/binding/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/binding/run.py b/java/test/Ice/binding/run.py
index a6692f5fb4f..bb34e7d35b7 100755
--- a/java/test/Ice/binding/run.py
+++ b/java/test/Ice/binding/run.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.
@@ -10,20 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/build.xml b/java/test/Ice/build.xml
index 7b9fc1f7585..af5f5fb57bb 100644
--- a/java/test/Ice/build.xml
+++ b/java/test/Ice/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -38,6 +38,7 @@
<ant dir="servantLocator"/>
<ant dir="servantLocatorAMD"/>
<ant dir="interceptor"/>
+ <ant dir="udp"/>
</target>
<target name="clean">
@@ -67,6 +68,7 @@
<ant dir="servantLocator" target="clean"/>
<ant dir="servantLocatorAMD" target="clean"/>
<ant dir="interceptor" target="clean"/>
+ <ant dir="udp" target="clean"/>
</target>
</project>
diff --git a/java/test/Ice/checksum/client/AllTests.java b/java/test/Ice/checksum/AllTests.java
index a3eba83c210..7d2497f26a4 100644
--- a/java/test/Ice/checksum/client/AllTests.java
+++ b/java/test/Ice/checksum/AllTests.java
@@ -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/java/test/Ice/checksum/client/Client.java b/java/test/Ice/checksum/Client.java
index b3a0bf1d99d..b0bc9e0032f 100644
--- a/java/test/Ice/checksum/client/Client.java
+++ b/java/test/Ice/checksum/Client.java
@@ -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/cs/test/Ice/checksum/client/Test.ice b/java/test/Ice/checksum/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/cs/test/Ice/checksum/client/Test.ice
+++ b/java/test/Ice/checksum/Test.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/java/test/Ice/checksum/client/Types.ice b/java/test/Ice/checksum/Types.ice
index ea5e644a755..f9f05a43e4c 100644
--- a/java/test/Ice/checksum/client/Types.ice
+++ b/java/test/Ice/checksum/Types.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/java/test/Ice/checksum/build.xml b/java/test/Ice/checksum/build.xml
index ea17875ab09..119d8879e5a 100644
--- a/java/test/Ice/checksum/build.xml
+++ b/java/test/Ice/checksum/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -11,14 +11,44 @@
<project name="test_Ice_checksum" default="all" basedir=".">
- <target name="all">
- <ant dir="client"/>
- <ant dir="server"/>
+ <!-- set global properties for this build -->
+ <property name="top.dir" value="../../.."/>
+
+ <!-- import common definitions -->
+ <import file="${top.dir}/config/common.xml"/>
+
+ <target name="generate" depends="init">
+ <!-- Create the output directory for generated code -->
+ <mkdir dir="${generated.dir}"/>
+ <slice2java outputdir="${generated.dir}" checksum="SliceChecksums">
+ <meta value="${java2metadata}"/>
+ <fileset dir="." includes="Test.ice Types.ice"/>
+ <includepath>
+ <pathelement path="${slice.dir}" />
+ </includepath>
+ </slice2java>
+ </target>
+
+ <target name="compile" depends="generate">
+ <mkdir dir="${class.dir}"/>
+ <javac srcdir="${generated.dir}" destdir="${class.dir}" classpathref="ice.classpath"
+ debug="${debug}">
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ <javac srcdir="." destdir="${class.dir}" classpathref="ice.classpath" excludes="generated/**,server/**"
+ debug="${debug}">
+ <compilerarg value="${javac.lint}"/>
+ </javac>
+ </target>
+
+ <target name="all" depends="compile">
+ <ant dir="server" inheritAll="false"/>
</target>
<target name="clean">
- <ant dir="client" target="clean"/>
- <ant dir="server" target="clean"/>
+ <delete dir="${generated.dir}"/>
+ <delete dir="${class.dir}"/>
+ <ant dir="server" target="clean" inheritAll="false"/>
</target>
</project>
diff --git a/java/test/Ice/checksum/run.py b/java/test/Ice/checksum/run.py
index b3506b44cfa..6435164948b 100755
--- a/java/test/Ice/checksum/run.py
+++ b/java/test/Ice/checksum/run.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.
@@ -10,22 +10,18 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+import copy
+serverenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "server", "classes"), serverenv)
-name = os.path.join("Ice", "checksum")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-TestUtil.clientServerTestWithClasspath(name,
- os.path.join(testdir, "server", "classes"),
- os.path.join(testdir, "client", "classes"))
-
-sys.exit(0)
+TestUtil.clientServerTest(serverenv = serverenv)
diff --git a/java/test/Ice/checksum/server/ChecksumI.java b/java/test/Ice/checksum/server/ChecksumI.java
index 4197a225702..61aa3f68036 100644
--- a/java/test/Ice/checksum/server/ChecksumI.java
+++ b/java/test/Ice/checksum/server/ChecksumI.java
@@ -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/java/test/Ice/checksum/server/Server.java b/java/test/Ice/checksum/server/Server.java
index 5cc748487fe..d59b05be36a 100644
--- a/java/test/Ice/checksum/server/Server.java
+++ b/java/test/Ice/checksum/server/Server.java
@@ -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/java/test/Ice/checksum/server/Test.ice b/java/test/Ice/checksum/server/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/java/test/Ice/checksum/server/Test.ice
+++ b/java/test/Ice/checksum/server/Test.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/java/test/Ice/checksum/server/Types.ice b/java/test/Ice/checksum/server/Types.ice
index e85192aef7e..27bac1ecdd4 100644
--- a/java/test/Ice/checksum/server/Types.ice
+++ b/java/test/Ice/checksum/server/Types.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/java/test/Ice/checksum/server/build.xml b/java/test/Ice/checksum/server/build.xml
index f8417764116..65ac57ff9d4 100644
--- a/java/test/Ice/checksum/server/build.xml
+++ b/java/test/Ice/checksum/server/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/custom/Client.java b/java/test/Ice/custom/Client.java
index 880689040f4..6a42a5e43cb 100644
--- a/java/test/Ice/custom/Client.java
+++ b/java/test/Ice/custom/Client.java
@@ -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/java/test/Ice/custom/Collocated.java b/java/test/Ice/custom/Collocated.java
index 947128d4b95..96d3ab4a245 100644
--- a/java/test/Ice/custom/Collocated.java
+++ b/java/test/Ice/custom/Collocated.java
@@ -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/java/test/Ice/custom/Server.java b/java/test/Ice/custom/Server.java
index 22686f0dbc3..7a19cfb1324 100644
--- a/java/test/Ice/custom/Server.java
+++ b/java/test/Ice/custom/Server.java
@@ -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/java/test/Ice/custom/build.xml b/java/test/Ice/custom/build.xml
index 81861d95c47..31513f17d6c 100644
--- a/java/test/Ice/custom/build.xml
+++ b/java/test/Ice/custom/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/custom/jdk1.4/AllTests.java b/java/test/Ice/custom/jdk1.4/AllTests.java
index 2200879129e..7fdd7d88235 100644
--- a/java/test/Ice/custom/jdk1.4/AllTests.java
+++ b/java/test/Ice/custom/jdk1.4/AllTests.java
@@ -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/java/test/Ice/custom/jdk1.4/Test.ice b/java/test/Ice/custom/jdk1.4/Test.ice
index e966746acde..749aa594ae3 100644
--- a/java/test/Ice/custom/jdk1.4/Test.ice
+++ b/java/test/Ice/custom/jdk1.4/Test.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/java/test/Ice/custom/jdk1.4/TestI.java b/java/test/Ice/custom/jdk1.4/TestI.java
index 42cc1a93411..09c28f2acfc 100644
--- a/java/test/Ice/custom/jdk1.4/TestI.java
+++ b/java/test/Ice/custom/jdk1.4/TestI.java
@@ -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/java/test/Ice/custom/jdk1.5/AllTests.java b/java/test/Ice/custom/jdk1.5/AllTests.java
index 9f3d495fd95..9bf5d3bc79d 100644
--- a/java/test/Ice/custom/jdk1.5/AllTests.java
+++ b/java/test/Ice/custom/jdk1.5/AllTests.java
@@ -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/java/test/Ice/custom/jdk1.5/Test.ice b/java/test/Ice/custom/jdk1.5/Test.ice
index 7dad6213b77..5f442a55200 100644
--- a/java/test/Ice/custom/jdk1.5/Test.ice
+++ b/java/test/Ice/custom/jdk1.5/Test.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/java/test/Ice/custom/jdk1.5/TestI.java b/java/test/Ice/custom/jdk1.5/TestI.java
index bbc3e787978..32920feee7b 100644
--- a/java/test/Ice/custom/jdk1.5/TestI.java
+++ b/java/test/Ice/custom/jdk1.5/TestI.java
@@ -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/java/test/Ice/custom/run.py b/java/test/Ice/custom/run.py
index 6f12a4ff810..545214a74c7 100755
--- a/java/test/Ice/custom/run.py
+++ b/java/test/Ice/custom/run.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.
@@ -10,21 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "custom")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/exceptions/AllTests.java b/java/test/Ice/exceptions/AllTests.java
index e609f9a3c09..bcce84b603f 100644
--- a/java/test/Ice/exceptions/AllTests.java
+++ b/java/test/Ice/exceptions/AllTests.java
@@ -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/java/test/Ice/exceptions/Client.java b/java/test/Ice/exceptions/Client.java
index 6ebffe3b8a7..1959d49711a 100644
--- a/java/test/Ice/exceptions/Client.java
+++ b/java/test/Ice/exceptions/Client.java
@@ -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/java/test/Ice/exceptions/Collocated.java b/java/test/Ice/exceptions/Collocated.java
index 6fefaa852a6..cf4295f44b2 100644
--- a/java/test/Ice/exceptions/Collocated.java
+++ b/java/test/Ice/exceptions/Collocated.java
@@ -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/java/test/Ice/exceptions/DummyLogger.java b/java/test/Ice/exceptions/DummyLogger.java
index 36aadd1eb22..520e304c0bd 100644
--- a/java/test/Ice/exceptions/DummyLogger.java
+++ b/java/test/Ice/exceptions/DummyLogger.java
@@ -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/java/test/Ice/exceptions/EmptyI.java b/java/test/Ice/exceptions/EmptyI.java
index 5e808104d78..9b218e6e3a6 100644
--- a/java/test/Ice/exceptions/EmptyI.java
+++ b/java/test/Ice/exceptions/EmptyI.java
@@ -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/java/test/Ice/exceptions/ObjectFactoryI.java b/java/test/Ice/exceptions/ObjectFactoryI.java
index c44aaedfc83..6fc0b0b3737 100644
--- a/java/test/Ice/exceptions/ObjectFactoryI.java
+++ b/java/test/Ice/exceptions/ObjectFactoryI.java
@@ -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/java/test/Ice/exceptions/ServantLocatorI.java b/java/test/Ice/exceptions/ServantLocatorI.java
index c46e637599b..42721e4b39b 100644
--- a/java/test/Ice/exceptions/ServantLocatorI.java
+++ b/java/test/Ice/exceptions/ServantLocatorI.java
@@ -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/java/test/Ice/exceptions/Server.java b/java/test/Ice/exceptions/Server.java
index 26eba295622..2f2d93e9561 100644
--- a/java/test/Ice/exceptions/Server.java
+++ b/java/test/Ice/exceptions/Server.java
@@ -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/java/test/Ice/exceptions/Test.ice b/java/test/Ice/exceptions/Test.ice
index 10f98f7b5f4..6009b2e6759 100644
--- a/java/test/Ice/exceptions/Test.ice
+++ b/java/test/Ice/exceptions/Test.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/java/test/Ice/exceptions/ThrowerI.java b/java/test/Ice/exceptions/ThrowerI.java
index 7c42ff8b10c..96c8b4dfb97 100644
--- a/java/test/Ice/exceptions/ThrowerI.java
+++ b/java/test/Ice/exceptions/ThrowerI.java
@@ -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/java/test/Ice/exceptions/build.xml b/java/test/Ice/exceptions/build.xml
index 2079b368eb5..a3395e33a0a 100644
--- a/java/test/Ice/exceptions/build.xml
+++ b/java/test/Ice/exceptions/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/exceptions/run.py b/java/test/Ice/exceptions/run.py
index e346442d91f..a4f6803f183 100755
--- a/java/test/Ice/exceptions/run.py
+++ b/java/test/Ice/exceptions/run.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.
@@ -10,32 +10,24 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
-testdir = os.path.dirname(os.path.abspath(__file__))
-nameAMD = os.path.join("Ice", "exceptionsAMD")
-testdirAMD = testdir + "AMD"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name,\
- os.path.join(testdirAMD, "classes") + os.pathsep + classpath, \
- os.path.join(testdir, "classes") + os.pathsep + classpath)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "exceptionsAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/exceptionsAMD/DummyLogger.java b/java/test/Ice/exceptionsAMD/DummyLogger.java
index 36aadd1eb22..520e304c0bd 100644
--- a/java/test/Ice/exceptionsAMD/DummyLogger.java
+++ b/java/test/Ice/exceptionsAMD/DummyLogger.java
@@ -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/java/test/Ice/exceptionsAMD/Server.java b/java/test/Ice/exceptionsAMD/Server.java
index 26eba295622..2f2d93e9561 100644
--- a/java/test/Ice/exceptionsAMD/Server.java
+++ b/java/test/Ice/exceptionsAMD/Server.java
@@ -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/java/test/Ice/exceptionsAMD/TestAMD.ice b/java/test/Ice/exceptionsAMD/TestAMD.ice
index 80343d6a8a0..4e09cd9702a 100644
--- a/java/test/Ice/exceptionsAMD/TestAMD.ice
+++ b/java/test/Ice/exceptionsAMD/TestAMD.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/java/test/Ice/exceptionsAMD/ThrowerI.java b/java/test/Ice/exceptionsAMD/ThrowerI.java
index f4f2f9a1f95..1d301cb6fa7 100644
--- a/java/test/Ice/exceptionsAMD/ThrowerI.java
+++ b/java/test/Ice/exceptionsAMD/ThrowerI.java
@@ -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/java/test/Ice/exceptionsAMD/build.xml b/java/test/Ice/exceptionsAMD/build.xml
index eae0975c4c7..0ef6ec18d95 100644
--- a/java/test/Ice/exceptionsAMD/build.xml
+++ b/java/test/Ice/exceptionsAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/facets/AI.java b/java/test/Ice/facets/AI.java
index 892ed08de5c..b2257b1f157 100644
--- a/java/test/Ice/facets/AI.java
+++ b/java/test/Ice/facets/AI.java
@@ -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/java/test/Ice/facets/AllTests.java b/java/test/Ice/facets/AllTests.java
index 8f7ac1ae49e..8cbde31275c 100644
--- a/java/test/Ice/facets/AllTests.java
+++ b/java/test/Ice/facets/AllTests.java
@@ -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/java/test/Ice/facets/BI.java b/java/test/Ice/facets/BI.java
index 3e5c3a903c7..8856d27b8a5 100644
--- a/java/test/Ice/facets/BI.java
+++ b/java/test/Ice/facets/BI.java
@@ -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/java/test/Ice/facets/CI.java b/java/test/Ice/facets/CI.java
index 861c8d02470..c3adef35457 100644
--- a/java/test/Ice/facets/CI.java
+++ b/java/test/Ice/facets/CI.java
@@ -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/java/test/Ice/facets/Client.java b/java/test/Ice/facets/Client.java
index b687781fc16..9d3aa8b0dbe 100644
--- a/java/test/Ice/facets/Client.java
+++ b/java/test/Ice/facets/Client.java
@@ -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/java/test/Ice/facets/Collocated.java b/java/test/Ice/facets/Collocated.java
index db1d30d8eec..e8c67da936b 100644
--- a/java/test/Ice/facets/Collocated.java
+++ b/java/test/Ice/facets/Collocated.java
@@ -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/java/test/Ice/facets/DI.java b/java/test/Ice/facets/DI.java
index c99b04d236f..023c5381e17 100644
--- a/java/test/Ice/facets/DI.java
+++ b/java/test/Ice/facets/DI.java
@@ -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/java/test/Ice/facets/EI.java b/java/test/Ice/facets/EI.java
index acdebf738d5..781f7e17e70 100644
--- a/java/test/Ice/facets/EI.java
+++ b/java/test/Ice/facets/EI.java
@@ -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/java/test/Ice/facets/EmptyI.java b/java/test/Ice/facets/EmptyI.java
index 5e808104d78..9b218e6e3a6 100644
--- a/java/test/Ice/facets/EmptyI.java
+++ b/java/test/Ice/facets/EmptyI.java
@@ -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/java/test/Ice/facets/FI.java b/java/test/Ice/facets/FI.java
index 5c4bad11ee4..75e76b62d32 100644
--- a/java/test/Ice/facets/FI.java
+++ b/java/test/Ice/facets/FI.java
@@ -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/java/test/Ice/facets/GI.java b/java/test/Ice/facets/GI.java
index 803df94b004..182a141e4f6 100644
--- a/java/test/Ice/facets/GI.java
+++ b/java/test/Ice/facets/GI.java
@@ -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/java/test/Ice/facets/HI.java b/java/test/Ice/facets/HI.java
index 0eb923293c5..9aac3f47f98 100644
--- a/java/test/Ice/facets/HI.java
+++ b/java/test/Ice/facets/HI.java
@@ -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/java/test/Ice/facets/Server.java b/java/test/Ice/facets/Server.java
index 19f771f3642..f4921b1ee5e 100644
--- a/java/test/Ice/facets/Server.java
+++ b/java/test/Ice/facets/Server.java
@@ -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/java/test/Ice/facets/Test.ice b/java/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/java/test/Ice/facets/Test.ice
+++ b/java/test/Ice/facets/Test.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/java/test/Ice/facets/build.xml b/java/test/Ice/facets/build.xml
index 8a71c17e579..ae3dc75a67b 100644
--- a/java/test/Ice/facets/build.xml
+++ b/java/test/Ice/facets/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/facets/run.py b/java/test/Ice/facets/run.py
index 2e620209daf..545214a74c7 100755
--- a/java/test/Ice/facets/run.py
+++ b/java/test/Ice/facets/run.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.
@@ -10,21 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/faultTolerance/AllTests.java b/java/test/Ice/faultTolerance/AllTests.java
index a59dc510b2f..164291eaa38 100644
--- a/java/test/Ice/faultTolerance/AllTests.java
+++ b/java/test/Ice/faultTolerance/AllTests.java
@@ -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/java/test/Ice/faultTolerance/Client.java b/java/test/Ice/faultTolerance/Client.java
index 5c92ce9ee93..1f23a773477 100644
--- a/java/test/Ice/faultTolerance/Client.java
+++ b/java/test/Ice/faultTolerance/Client.java
@@ -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/java/test/Ice/faultTolerance/Server.java b/java/test/Ice/faultTolerance/Server.java
index 3adb4439fe7..9c02303346c 100644
--- a/java/test/Ice/faultTolerance/Server.java
+++ b/java/test/Ice/faultTolerance/Server.java
@@ -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/java/test/Ice/faultTolerance/Test.ice b/java/test/Ice/faultTolerance/Test.ice
index 2b22a369bb5..fc1881aaf43 100644
--- a/java/test/Ice/faultTolerance/Test.ice
+++ b/java/test/Ice/faultTolerance/Test.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/java/test/Ice/faultTolerance/TestI.java b/java/test/Ice/faultTolerance/TestI.java
index b1eeb493b6b..3c705235c49 100644
--- a/java/test/Ice/faultTolerance/TestI.java
+++ b/java/test/Ice/faultTolerance/TestI.java
@@ -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/java/test/Ice/faultTolerance/build.xml b/java/test/Ice/faultTolerance/build.xml
index db33c14c070..5c538d60212 100644
--- a/java/test/Ice/faultTolerance/build.xml
+++ b/java/test/Ice/faultTolerance/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/faultTolerance/run.py b/java/test/Ice/faultTolerance/run.py
index dc00f62f71e..19eae076894 100755
--- a/java/test/Ice/faultTolerance/run.py
+++ b/java/test/Ice/faultTolerance/run.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.
@@ -10,42 +10,34 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "faultTolerance")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
num = 12
base = 12340
+serverProc = []
for i in range(0, num):
print "starting server #%d..." % (i + 1),
- serverPipe = TestUtil.startServer("Server", " %d" % (base + i) + " 2>&1")
- TestUtil.getAdapterReady(serverPipe)
+ serverProc.append(TestUtil.startServer("Server", " %d" % (base + i)))
print "ok"
ports = ""
for i in range(0, num):
ports = "%s %d" % (ports, base + i)
print "starting client...",
-clientPipe = TestUtil.startClient("Client", ports + " 2>&1")
+clientProc = TestUtil.startClient("Client", ports)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/java/test/Ice/hold/AllTests.java b/java/test/Ice/hold/AllTests.java
index 6688d9a37b9..cf13c6d2899 100644
--- a/java/test/Ice/hold/AllTests.java
+++ b/java/test/Ice/hold/AllTests.java
@@ -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/java/test/Ice/hold/Client.java b/java/test/Ice/hold/Client.java
index 9d3ce43b832..d3d83f8fe8c 100644
--- a/java/test/Ice/hold/Client.java
+++ b/java/test/Ice/hold/Client.java
@@ -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/java/test/Ice/hold/HoldI.java b/java/test/Ice/hold/HoldI.java
index d4fd14c3a6a..2e60e309c5c 100644
--- a/java/test/Ice/hold/HoldI.java
+++ b/java/test/Ice/hold/HoldI.java
@@ -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/java/test/Ice/hold/Server.java b/java/test/Ice/hold/Server.java
index 8f5e88cdd6c..650321b68ae 100644
--- a/java/test/Ice/hold/Server.java
+++ b/java/test/Ice/hold/Server.java
@@ -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/java/test/Ice/hold/Test.ice b/java/test/Ice/hold/Test.ice
index f5f84f390e8..153c5c6d0e8 100644
--- a/java/test/Ice/hold/Test.ice
+++ b/java/test/Ice/hold/Test.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/java/test/Ice/hold/build.xml b/java/test/Ice/hold/build.xml
index e4fe3405e55..44d27afd443 100644
--- a/java/test/Ice/hold/build.xml
+++ b/java/test/Ice/hold/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/hold/run.py b/java/test/Ice/hold/run.py
index 3aad16bf8fe..bb34e7d35b7 100755
--- a/java/test/Ice/hold/run.py
+++ b/java/test/Ice/hold/run.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.
@@ -10,20 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "hold")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/inheritance/AllTests.java b/java/test/Ice/inheritance/AllTests.java
index b917995b153..fac185f4919 100644
--- a/java/test/Ice/inheritance/AllTests.java
+++ b/java/test/Ice/inheritance/AllTests.java
@@ -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/java/test/Ice/inheritance/CAI.java b/java/test/Ice/inheritance/CAI.java
index ab8031c4b8a..0015cceb632 100644
--- a/java/test/Ice/inheritance/CAI.java
+++ b/java/test/Ice/inheritance/CAI.java
@@ -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/java/test/Ice/inheritance/CBI.java b/java/test/Ice/inheritance/CBI.java
index 6ba5119a056..aad89291609 100644
--- a/java/test/Ice/inheritance/CBI.java
+++ b/java/test/Ice/inheritance/CBI.java
@@ -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/java/test/Ice/inheritance/CCI.java b/java/test/Ice/inheritance/CCI.java
index 769fbf229d5..6845f844095 100644
--- a/java/test/Ice/inheritance/CCI.java
+++ b/java/test/Ice/inheritance/CCI.java
@@ -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/java/test/Ice/inheritance/CDI.java b/java/test/Ice/inheritance/CDI.java
index 7f1e5412328..e3280bc6676 100644
--- a/java/test/Ice/inheritance/CDI.java
+++ b/java/test/Ice/inheritance/CDI.java
@@ -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/java/test/Ice/inheritance/Client.java b/java/test/Ice/inheritance/Client.java
index b3eb0bb1e5f..533d9bf673d 100644
--- a/java/test/Ice/inheritance/Client.java
+++ b/java/test/Ice/inheritance/Client.java
@@ -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/java/test/Ice/inheritance/Collocated.java b/java/test/Ice/inheritance/Collocated.java
index f11dfb03ff5..83dffe112d3 100644
--- a/java/test/Ice/inheritance/Collocated.java
+++ b/java/test/Ice/inheritance/Collocated.java
@@ -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/java/test/Ice/inheritance/IAI.java b/java/test/Ice/inheritance/IAI.java
index f0e28266d57..328b0340a60 100644
--- a/java/test/Ice/inheritance/IAI.java
+++ b/java/test/Ice/inheritance/IAI.java
@@ -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/java/test/Ice/inheritance/IB1I.java b/java/test/Ice/inheritance/IB1I.java
index 419d79fbc57..40c5bbe1074 100644
--- a/java/test/Ice/inheritance/IB1I.java
+++ b/java/test/Ice/inheritance/IB1I.java
@@ -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/java/test/Ice/inheritance/IB2I.java b/java/test/Ice/inheritance/IB2I.java
index 0245376c58b..88b0aa89291 100644
--- a/java/test/Ice/inheritance/IB2I.java
+++ b/java/test/Ice/inheritance/IB2I.java
@@ -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/java/test/Ice/inheritance/ICI.java b/java/test/Ice/inheritance/ICI.java
index ce08108ec51..b940ee6719b 100644
--- a/java/test/Ice/inheritance/ICI.java
+++ b/java/test/Ice/inheritance/ICI.java
@@ -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/java/test/Ice/inheritance/InitialI.java b/java/test/Ice/inheritance/InitialI.java
index 86453613e28..5a64df870af 100644
--- a/java/test/Ice/inheritance/InitialI.java
+++ b/java/test/Ice/inheritance/InitialI.java
@@ -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/java/test/Ice/inheritance/Server.java b/java/test/Ice/inheritance/Server.java
index 5a4a8629a4b..dddf46b6296 100644
--- a/java/test/Ice/inheritance/Server.java
+++ b/java/test/Ice/inheritance/Server.java
@@ -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/java/test/Ice/inheritance/Test.ice b/java/test/Ice/inheritance/Test.ice
index e4dc78a89f5..a93a2bfb330 100644
--- a/java/test/Ice/inheritance/Test.ice
+++ b/java/test/Ice/inheritance/Test.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/java/test/Ice/inheritance/build.xml b/java/test/Ice/inheritance/build.xml
index 4d6ff79cdcc..a21fb17af29 100644
--- a/java/test/Ice/inheritance/build.xml
+++ b/java/test/Ice/inheritance/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/inheritance/run.py b/java/test/Ice/inheritance/run.py
index 9ec103a4045..545214a74c7 100755
--- a/java/test/Ice/inheritance/run.py
+++ b/java/test/Ice/inheritance/run.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.
@@ -10,21 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/interceptor/AMDInterceptorI.java b/java/test/Ice/interceptor/AMDInterceptorI.java
index 42575602b7b..1a084088a0e 100644
--- a/java/test/Ice/interceptor/AMDInterceptorI.java
+++ b/java/test/Ice/interceptor/AMDInterceptorI.java
@@ -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/java/test/Ice/interceptor/Client.java b/java/test/Ice/interceptor/Client.java
index c2544d51fcc..c8147e586f5 100644
--- a/java/test/Ice/interceptor/Client.java
+++ b/java/test/Ice/interceptor/Client.java
@@ -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/java/test/Ice/interceptor/InterceptorI.java b/java/test/Ice/interceptor/InterceptorI.java
index 29829c0d4cc..4485c176f41 100644
--- a/java/test/Ice/interceptor/InterceptorI.java
+++ b/java/test/Ice/interceptor/InterceptorI.java
@@ -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/java/test/Ice/interceptor/MyObjectI.java b/java/test/Ice/interceptor/MyObjectI.java
index a4d59b0d5a6..5423e0837fd 100644
--- a/java/test/Ice/interceptor/MyObjectI.java
+++ b/java/test/Ice/interceptor/MyObjectI.java
@@ -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/java/test/Ice/interceptor/Test.ice b/java/test/Ice/interceptor/Test.ice
index 129779d5470..6d6873a9df4 100644
--- a/java/test/Ice/interceptor/Test.ice
+++ b/java/test/Ice/interceptor/Test.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/java/test/Ice/interceptor/build.xml b/java/test/Ice/interceptor/build.xml
index b3a17492919..a59357586d0 100644
--- a/java/test/Ice/interceptor/build.xml
+++ b/java/test/Ice/interceptor/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/interceptor/run.py b/java/test/Ice/interceptor/run.py
index 432b50875e2..bd197e05b8f 100755
--- a/java/test/Ice/interceptor/run.py
+++ b/java/test/Ice/interceptor/run.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.
@@ -10,30 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "interceptor")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
print "starting client...",
-clientPipe = TestUtil.startClient("Client", "--Ice.Warn.Dispatch=0")
+clientProc = TestUtil.startClient("Client", "--Ice.Warn.Dispatch=0")
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/java/test/Ice/location/AllTests.java b/java/test/Ice/location/AllTests.java
index a6c6f5e948c..89541829ab9 100644
--- a/java/test/Ice/location/AllTests.java
+++ b/java/test/Ice/location/AllTests.java
@@ -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.
@@ -26,9 +26,13 @@ public class AllTests
ServerManagerPrx manager = ServerManagerPrxHelper.checkedCast(
communicator.stringToProxy("ServerManager :default -t 10000 -p 12010"));
test(manager != null);
+
TestLocatorPrx locator = TestLocatorPrxHelper.uncheckedCast(communicator.getDefaultLocator());
test(locator != null);
+ TestLocatorRegistryPrx registry = TestLocatorRegistryPrxHelper.checkedCast(locator.getRegistry());
+ test(registry != null);
+
System.out.print("testing stringToProxy... ");
System.out.flush();
Ice.ObjectPrx base = communicator.stringToProxy("test @ TestAdapter");
@@ -285,6 +289,7 @@ public class AllTests
System.out.print("testing proxy from server... ");
System.out.flush();
+ obj = TestIntfPrxHelper.checkedCast(communicator.stringToProxy("test@TestAdapter"));
HelloPrx hello = obj.getHello();
test(hello.ice_getAdapterId().equals("TestAdapter"));
hello = obj.getReplicatedHello();
@@ -292,8 +297,342 @@ public class AllTests
hello.sayHello();
System.out.println("ok");
+ System.out.print("testing locator request queuing... ");
+ System.out.flush();
+ hello = (HelloPrx)obj.getReplicatedHello().ice_locatorCacheTimeout(0).ice_connectionCached(false);
+ count = locator.getRequestCount();
+ hello.ice_ping();
+ test(++count == locator.getRequestCount());
+ for(int i = 0; i < 1000; i++)
+ {
+ class AMICallback extends Test.AMI_Hello_sayHello
+ {
+ public void
+ ice_exception(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ public void
+ ice_response()
+ {
+ }
+ };
+ hello.sayHello_async(new AMICallback());
+ }
+ test(locator.getRequestCount() > count && locator.getRequestCount() < count + 500);
+ count = locator.getRequestCount();
+ hello = (HelloPrx)hello.ice_adapterId("unknown");
+ for(int i = 0; i < 1000; i++)
+ {
+ class AMICallback extends Test.AMI_Hello_sayHello
+ {
+ public void
+ ice_exception(Ice.LocalException ex)
+ {
+ test(ex instanceof Ice.NotRegisteredException);
+ }
+
+ public void
+ ice_response()
+ {
+ test(false);
+ }
+ };
+ hello.sayHello_async(new AMICallback());
+ }
+ test(locator.getRequestCount() > count && locator.getRequestCount() < count + 500);
+ System.out.println("ok");
+
+ System.out.print("testing adapter locator cache... ");
+ System.out.flush();
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ test(false);
+ }
+ catch(Ice.NotRegisteredException ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id.equals("TestAdapter3"));
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ }
+ catch(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_locatorCacheTimeout(0).ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter3", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter3").ice_ping();
+ }
+ catch(Ice.LocalException ex)
+ {
+ test(false);
+ }
+ System.out.println("ok");
+
+ System.out.print("testing well-known object locator cache... ");
+ System.out.flush();
+ registry.addObject(communicator.stringToProxy("test3@TestUnknown"));
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.NotRegisteredException ex)
+ {
+ test(ex.kindOfObject == "object adapter");
+ test(ex.id.equals("TestUnknown"));
+ }
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter4")); // Update
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", locator.findAdapterById("TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter4", communicator.stringToProxy("dummy:tcp"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter4").ice_locatorCacheTimeout(0).ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test@TestAdapter4").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ test(false);
+ }
+ catch(Ice.LocalException ex)
+ {
+ }
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter"));
+ try
+ {
+ communicator.stringToProxy("test3").ice_ping();
+ }
+ catch(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ registry.addObject(communicator.stringToProxy("test4"));
+ try
+ {
+ communicator.stringToProxy("test4").ice_ping();
+ test(false);
+ }
+ catch(Ice.NoEndpointException ex)
+ {
+ }
+ System.out.println("ok");
+
+ System.out.print("testing locator cache background updates... ");
+ System.out.flush();
+ {
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties()._clone();
+ initData.properties.setProperty("Ice.BackgroundLocatorCacheUpdates", "1");
+ Ice.Communicator ic = Ice.Util.initialize(initData);
+
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter5", locator.findAdapterById("TestAdapter"));
+ registry.addObject(communicator.stringToProxy("test3@TestAdapter"));
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+
+ count = locator.getRequestCount();
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(0).ice_ping(); // No locator cache.
+ count += 3;
+ test(count == locator.getRequestCount());
+ try
+ {
+ registry.setAdapterDirectProxy("TestAdapter5", null);
+ }
+ catch(Ice.AdapterAlreadyActiveException ex)
+ {
+ }
+ catch(Ice.AdapterNotFoundException ex)
+ {
+ }
+ registry.addObject(communicator.stringToProxy("test3:tcp"));
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ test(count == locator.getRequestCount());
+ try
+ {
+ Thread.sleep(1200);
+ }
+ catch(InterruptedException ex)
+ {
+ }
+
+ // The following requets should trigger the background updates but still use the cached endpoints
+ // and therefore succeed.
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+
+ try
+ {
+ while(true)
+ {
+ ic.stringToProxy("test@TestAdapter5").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ try
+ {
+ Thread.sleep(10);
+ }
+ catch(InterruptedException ex)
+ {
+ }
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ try
+ {
+ while(true)
+ {
+ ic.stringToProxy("test3").ice_locatorCacheTimeout(1).ice_ping(); // 1s timeout.
+ try
+ {
+ Thread.sleep(10);
+ }
+ catch(InterruptedException ex)
+ {
+ }
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ // Expected to fail once they endpoints have been updated in the background.
+ }
+ ic.destroy();
+ }
+ System.out.println("ok");
+
System.out.print("testing proxy from server after shutdown... ");
System.out.flush();
+ hello = obj.getReplicatedHello();
obj.shutdown();
manager.startServer();
hello.sayHello();
@@ -328,8 +667,6 @@ public class AllTests
properties.setProperty("Ice.PrintAdapterReady", "0");
Ice.ObjectAdapter adapter = communicator.createObjectAdapterWithEndpoints("Hello", "default");
adapter.setLocator(locator);
- TestLocatorRegistryPrx registry = TestLocatorRegistryPrxHelper.checkedCast(locator.getRegistry());
- test(registry != null);
Ice.Identity id = new Ice.Identity();
id.name = Ice.Util.generateUUID();
diff --git a/java/test/Ice/location/Client.java b/java/test/Ice/location/Client.java
index 1f8a0ce8caa..48bfac8df5a 100644
--- a/java/test/Ice/location/Client.java
+++ b/java/test/Ice/location/Client.java
@@ -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/java/test/Ice/location/HelloI.java b/java/test/Ice/location/HelloI.java
index 6b6a5384c0d..e0609bee468 100644
--- a/java/test/Ice/location/HelloI.java
+++ b/java/test/Ice/location/HelloI.java
@@ -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/java/test/Ice/location/Server.java b/java/test/Ice/location/Server.java
index c4f6a30f3ac..125bb514487 100644
--- a/java/test/Ice/location/Server.java
+++ b/java/test/Ice/location/Server.java
@@ -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/java/test/Ice/location/ServerLocator.java b/java/test/Ice/location/ServerLocator.java
index ad339a135cd..644af6227dc 100644
--- a/java/test/Ice/location/ServerLocator.java
+++ b/java/test/Ice/location/ServerLocator.java
@@ -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/java/test/Ice/location/ServerLocatorRegistry.java b/java/test/Ice/location/ServerLocatorRegistry.java
index a8c99fd02a2..7430c319a76 100644
--- a/java/test/Ice/location/ServerLocatorRegistry.java
+++ b/java/test/Ice/location/ServerLocatorRegistry.java
@@ -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,14 @@ public class ServerLocatorRegistry extends Test._TestLocatorRegistryDisp
setAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setAdapterDirectProxy cb, String adapter,
Ice.ObjectPrx object, Ice.Current current)
{
- _adapters.put(adapter, object);
+ if(object != null)
+ {
+ _adapters.put(adapter, object);
+ }
+ else
+ {
+ _adapters.remove(adapter);
+ }
cb.ice_response();
}
@@ -21,8 +28,16 @@ public class ServerLocatorRegistry extends Test._TestLocatorRegistryDisp
setReplicatedAdapterDirectProxy_async(Ice.AMD_LocatorRegistry_setReplicatedAdapterDirectProxy cb, String adapter,
String replica, Ice.ObjectPrx object, Ice.Current current)
{
- _adapters.put(adapter, object);
- _adapters.put(replica, object);
+ if(object != null)
+ {
+ _adapters.put(adapter, object);
+ _adapters.put(replica, object);
+ }
+ else
+ {
+ _adapters.remove(adapter);
+ _adapters.remove(replica);
+ }
cb.ice_response();
}
diff --git a/java/test/Ice/location/ServerManagerI.java b/java/test/Ice/location/ServerManagerI.java
index d863de85876..197b8abbe42 100644
--- a/java/test/Ice/location/ServerManagerI.java
+++ b/java/test/Ice/location/ServerManagerI.java
@@ -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.
@@ -59,7 +59,8 @@ public class ServerManagerI extends _ServerManagerDisp
Ice.Object object = new TestI(adapter, adapter2, _registry);
_registry.addObject(adapter.add(object, serverCommunicator.stringToIdentity("test")));
_registry.addObject(adapter.add(object, serverCommunicator.stringToIdentity("test2")));
-
+ adapter.add(object, serverCommunicator.stringToIdentity("test3"));
+
adapter.activate();
adapter2.activate();
}
diff --git a/java/test/Ice/location/Test.ice b/java/test/Ice/location/Test.ice
index 7c5b19c9097..4291d0a7f81 100644
--- a/java/test/Ice/location/Test.ice
+++ b/java/test/Ice/location/Test.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.
@@ -39,7 +39,7 @@ interface ServerManager
interface Hello
{
- void sayHello();
+ ["ami"] void sayHello();
};
interface TestIntf
diff --git a/java/test/Ice/location/TestI.java b/java/test/Ice/location/TestI.java
index 423ab9517da..7b3580627d3 100644
--- a/java/test/Ice/location/TestI.java
+++ b/java/test/Ice/location/TestI.java
@@ -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/java/test/Ice/location/build.xml b/java/test/Ice/location/build.xml
index 8cf31c0fe39..c69bd3da1ec 100644
--- a/java/test/Ice/location/build.xml
+++ b/java/test/Ice/location/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/location/run.py b/java/test/Ice/location/run.py
index b2271b88770..bb34e7d35b7 100755
--- a/java/test/Ice/location/run.py
+++ b/java/test/Ice/location/run.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.
@@ -10,20 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "location")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.mixedClientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/objects/AllTests.java b/java/test/Ice/objects/AllTests.java
index b82ec2fccd7..57adfb6358a 100644
--- a/java/test/Ice/objects/AllTests.java
+++ b/java/test/Ice/objects/AllTests.java
@@ -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/java/test/Ice/objects/BI.java b/java/test/Ice/objects/BI.java
index 4506aeb2e40..b436cb27022 100644
--- a/java/test/Ice/objects/BI.java
+++ b/java/test/Ice/objects/BI.java
@@ -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/java/test/Ice/objects/CI.java b/java/test/Ice/objects/CI.java
index f033bc32e2d..f97aed7a5d6 100644
--- a/java/test/Ice/objects/CI.java
+++ b/java/test/Ice/objects/CI.java
@@ -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/java/test/Ice/objects/Client.java b/java/test/Ice/objects/Client.java
index 82d97f51d69..3c7bc1cd9f8 100644
--- a/java/test/Ice/objects/Client.java
+++ b/java/test/Ice/objects/Client.java
@@ -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/java/test/Ice/objects/Collocated.java b/java/test/Ice/objects/Collocated.java
index db6beba2f89..2a9180c20b8 100644
--- a/java/test/Ice/objects/Collocated.java
+++ b/java/test/Ice/objects/Collocated.java
@@ -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/java/test/Ice/objects/DI.java b/java/test/Ice/objects/DI.java
index 59fdb6becfb..0baa4a1cb41 100644
--- a/java/test/Ice/objects/DI.java
+++ b/java/test/Ice/objects/DI.java
@@ -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/java/test/Ice/objects/EI.java b/java/test/Ice/objects/EI.java
index f71f4036ff7..909db53275b 100644
--- a/java/test/Ice/objects/EI.java
+++ b/java/test/Ice/objects/EI.java
@@ -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/java/test/Ice/objects/FI.java b/java/test/Ice/objects/FI.java
index f2f183c1c3d..9e9a8cd8ecc 100644
--- a/java/test/Ice/objects/FI.java
+++ b/java/test/Ice/objects/FI.java
@@ -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/java/test/Ice/objects/HI.java b/java/test/Ice/objects/HI.java
index 4a3866fb067..489245ba105 100644
--- a/java/test/Ice/objects/HI.java
+++ b/java/test/Ice/objects/HI.java
@@ -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/java/test/Ice/objects/II.java b/java/test/Ice/objects/II.java
index 52c0aaac6c2..c1f51a857a7 100644
--- a/java/test/Ice/objects/II.java
+++ b/java/test/Ice/objects/II.java
@@ -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/java/test/Ice/objects/InitialI.java b/java/test/Ice/objects/InitialI.java
index 7a7a30ae30a..212eaa8ba12 100644
--- a/java/test/Ice/objects/InitialI.java
+++ b/java/test/Ice/objects/InitialI.java
@@ -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/java/test/Ice/objects/JI.java b/java/test/Ice/objects/JI.java
index f770ad4d57d..58226b30812 100644
--- a/java/test/Ice/objects/JI.java
+++ b/java/test/Ice/objects/JI.java
@@ -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/java/test/Ice/objects/Server.java b/java/test/Ice/objects/Server.java
index d2166ed456b..9cd53d0bf12 100644
--- a/java/test/Ice/objects/Server.java
+++ b/java/test/Ice/objects/Server.java
@@ -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/java/test/Ice/objects/Test.ice b/java/test/Ice/objects/Test.ice
index 93f3be79909..8c31358574c 100644
--- a/java/test/Ice/objects/Test.ice
+++ b/java/test/Ice/objects/Test.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/java/test/Ice/objects/UnexpectedObjectExceptionTestI.java b/java/test/Ice/objects/UnexpectedObjectExceptionTestI.java
index 08d8f59e7f0..bdb54b6867e 100644
--- a/java/test/Ice/objects/UnexpectedObjectExceptionTestI.java
+++ b/java/test/Ice/objects/UnexpectedObjectExceptionTestI.java
@@ -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/java/test/Ice/objects/build.xml b/java/test/Ice/objects/build.xml
index 8a2080c3b67..1e4d16935c6 100644
--- a/java/test/Ice/objects/build.xml
+++ b/java/test/Ice/objects/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/objects/run.py b/java/test/Ice/objects/run.py
index ec17ac79ecf..545214a74c7 100755
--- a/java/test/Ice/objects/run.py
+++ b/java/test/Ice/objects/run.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.
@@ -10,21 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/operations/AllTests.java b/java/test/Ice/operations/AllTests.java
index 4297a4b839b..8cc57b7f92b 100644
--- a/java/test/Ice/operations/AllTests.java
+++ b/java/test/Ice/operations/AllTests.java
@@ -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/java/test/Ice/operations/BatchOneways.java b/java/test/Ice/operations/BatchOneways.java
index 69d54b6942e..cd36c0df159 100644
--- a/java/test/Ice/operations/BatchOneways.java
+++ b/java/test/Ice/operations/BatchOneways.java
@@ -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/java/test/Ice/operations/Client.java b/java/test/Ice/operations/Client.java
index 4f8c26c2d55..8b57a5c4189 100644
--- a/java/test/Ice/operations/Client.java
+++ b/java/test/Ice/operations/Client.java
@@ -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/java/test/Ice/operations/Collocated.java b/java/test/Ice/operations/Collocated.java
index b10bff56681..66738685f25 100644
--- a/java/test/Ice/operations/Collocated.java
+++ b/java/test/Ice/operations/Collocated.java
@@ -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/java/test/Ice/operations/MyDerivedClassI.java b/java/test/Ice/operations/MyDerivedClassI.java
index f68c4c11ac0..13ea6a2c086 100644
--- a/java/test/Ice/operations/MyDerivedClassI.java
+++ b/java/test/Ice/operations/MyDerivedClassI.java
@@ -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/java/test/Ice/operations/Oneways.java b/java/test/Ice/operations/Oneways.java
index 4dee1d01354..47a6ecc37dc 100644
--- a/java/test/Ice/operations/Oneways.java
+++ b/java/test/Ice/operations/Oneways.java
@@ -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/java/test/Ice/operations/OnewaysAMI.java b/java/test/Ice/operations/OnewaysAMI.java
index 511daf65921..3cc3cc8f1e7 100644
--- a/java/test/Ice/operations/OnewaysAMI.java
+++ b/java/test/Ice/operations/OnewaysAMI.java
@@ -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/java/test/Ice/operations/Server.java b/java/test/Ice/operations/Server.java
index e1766d6a2bd..676ab7a47e4 100644
--- a/java/test/Ice/operations/Server.java
+++ b/java/test/Ice/operations/Server.java
@@ -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/java/test/Ice/operations/Test.ice b/java/test/Ice/operations/Test.ice
index 6ac0d17e461..447b3c8b17b 100644
--- a/java/test/Ice/operations/Test.ice
+++ b/java/test/Ice/operations/Test.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/java/test/Ice/operations/Twoways.java b/java/test/Ice/operations/Twoways.java
index 4e962bb950a..fe316198d93 100644
--- a/java/test/Ice/operations/Twoways.java
+++ b/java/test/Ice/operations/Twoways.java
@@ -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/java/test/Ice/operations/TwowaysAMI.java b/java/test/Ice/operations/TwowaysAMI.java
index 7480bf4d10c..2aa9ed11b7d 100644
--- a/java/test/Ice/operations/TwowaysAMI.java
+++ b/java/test/Ice/operations/TwowaysAMI.java
@@ -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/java/test/Ice/operations/build.xml b/java/test/Ice/operations/build.xml
index cb8f398fb67..48ad1c5562e 100644
--- a/java/test/Ice/operations/build.xml
+++ b/java/test/Ice/operations/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/operations/run.py b/java/test/Ice/operations/run.py
index 84cccf81362..6fee41d3e94 100755
--- a/java/test/Ice/operations/run.py
+++ b/java/test/Ice/operations/run.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.
@@ -10,33 +10,24 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
-testdir = os.path.dirname(os.path.abspath(__file__))
-nameAMD = os.path.join("Ice", "operationsAMD")
-testdirAMD = testdir + "AMD"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name, \
- os.path.join(testdirAMD, "classes") + os.pathsep + classpath,\
- os.path.join(testdir, "classes") + os.pathsep + classpath)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "operationsAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/operationsAMD/MyDerivedClassI.java b/java/test/Ice/operationsAMD/MyDerivedClassI.java
index 059c16875fe..8a56485e129 100644
--- a/java/test/Ice/operationsAMD/MyDerivedClassI.java
+++ b/java/test/Ice/operationsAMD/MyDerivedClassI.java
@@ -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/java/test/Ice/operationsAMD/Server.java b/java/test/Ice/operationsAMD/Server.java
index d7cbf2b9833..14189454f1d 100644
--- a/java/test/Ice/operationsAMD/Server.java
+++ b/java/test/Ice/operationsAMD/Server.java
@@ -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/java/test/Ice/operationsAMD/TestAMD.ice b/java/test/Ice/operationsAMD/TestAMD.ice
index 39d6bcfbed0..6ad25e0be3c 100644
--- a/java/test/Ice/operationsAMD/TestAMD.ice
+++ b/java/test/Ice/operationsAMD/TestAMD.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/java/test/Ice/operationsAMD/build.xml b/java/test/Ice/operationsAMD/build.xml
index fa25ed867ad..f85428c5854 100644
--- a/java/test/Ice/operationsAMD/build.xml
+++ b/java/test/Ice/operationsAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/package/AllTests.java b/java/test/Ice/package/AllTests.java
index 9ef0b69dafb..97352227889 100644
--- a/java/test/Ice/package/AllTests.java
+++ b/java/test/Ice/package/AllTests.java
@@ -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/java/test/Ice/package/Client.java b/java/test/Ice/package/Client.java
index 308cbb94dc5..d126c6f4fe5 100644
--- a/java/test/Ice/package/Client.java
+++ b/java/test/Ice/package/Client.java
@@ -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/java/test/Ice/package/InitialI.java b/java/test/Ice/package/InitialI.java
index 4fcbd7220ab..f7d51e629bb 100644
--- a/java/test/Ice/package/InitialI.java
+++ b/java/test/Ice/package/InitialI.java
@@ -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/java/test/Ice/package/NoPackage.ice b/java/test/Ice/package/NoPackage.ice
index 10ded9f277c..73e9ad175b6 100644
--- a/java/test/Ice/package/NoPackage.ice
+++ b/java/test/Ice/package/NoPackage.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/java/test/Ice/package/Package.ice b/java/test/Ice/package/Package.ice
index c24362f8096..bc9c0b83361 100644
--- a/java/test/Ice/package/Package.ice
+++ b/java/test/Ice/package/Package.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/java/test/Ice/package/Server.java b/java/test/Ice/package/Server.java
index e7a4f8446cc..8b14a4d713a 100644
--- a/java/test/Ice/package/Server.java
+++ b/java/test/Ice/package/Server.java
@@ -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/java/test/Ice/package/Test.ice b/java/test/Ice/package/Test.ice
index 6cdcd561f1b..8069b3083a2 100644
--- a/java/test/Ice/package/Test.ice
+++ b/java/test/Ice/package/Test.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/java/test/Ice/package/build.xml b/java/test/Ice/package/build.xml
index 23c1f34a293..e037ff089b8 100644
--- a/java/test/Ice/package/build.xml
+++ b/java/test/Ice/package/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/package/run.py b/java/test/Ice/package/run.py
index f72ab158050..bb34e7d35b7 100755
--- a/java/test/Ice/package/run.py
+++ b/java/test/Ice/package/run.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.
@@ -10,20 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "package")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/proxy/AllTests.java b/java/test/Ice/proxy/AllTests.java
index b3333ffbc88..2f261bf794a 100644
--- a/java/test/Ice/proxy/AllTests.java
+++ b/java/test/Ice/proxy/AllTests.java
@@ -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/java/test/Ice/proxy/Client.java b/java/test/Ice/proxy/Client.java
index 19f41f7f360..62e11df5601 100644
--- a/java/test/Ice/proxy/Client.java
+++ b/java/test/Ice/proxy/Client.java
@@ -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/java/test/Ice/proxy/Collocated.java b/java/test/Ice/proxy/Collocated.java
index dd865143812..11dc99c01e8 100644
--- a/java/test/Ice/proxy/Collocated.java
+++ b/java/test/Ice/proxy/Collocated.java
@@ -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/java/test/Ice/proxy/MyDerivedClassI.java b/java/test/Ice/proxy/MyDerivedClassI.java
index 9a1f0eac2dc..64fb542d69b 100644
--- a/java/test/Ice/proxy/MyDerivedClassI.java
+++ b/java/test/Ice/proxy/MyDerivedClassI.java
@@ -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/java/test/Ice/proxy/Server.java b/java/test/Ice/proxy/Server.java
index 85ef9230478..807bd7f6363 100644
--- a/java/test/Ice/proxy/Server.java
+++ b/java/test/Ice/proxy/Server.java
@@ -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/java/test/Ice/proxy/Test.ice b/java/test/Ice/proxy/Test.ice
index 61b6b6d06b7..90db7303858 100644
--- a/java/test/Ice/proxy/Test.ice
+++ b/java/test/Ice/proxy/Test.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/java/test/Ice/proxy/build.xml b/java/test/Ice/proxy/build.xml
index cb8f398fb67..48ad1c5562e 100644
--- a/java/test/Ice/proxy/build.xml
+++ b/java/test/Ice/proxy/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/proxy/run.py b/java/test/Ice/proxy/run.py
index 26c6aba7ca0..739d5ae9903 100755
--- a/java/test/Ice/proxy/run.py
+++ b/java/test/Ice/proxy/run.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.
@@ -10,33 +10,24 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
-testdir = os.path.dirname(os.path.abspath(__file__))
-nameAMD = os.path.join("Ice", "proxyAMD")
-testdirAMD = testdir + "AMD"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name,\
- os.path.join(testdirAMD, "classes") + os.pathsep + classpath,\
- os.path.join(testdir, "classes") + os.pathsep + classpath)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "proxyAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/proxyAMD/MyDerivedClassI.java b/java/test/Ice/proxyAMD/MyDerivedClassI.java
index 17b8568ff75..75ff8d685f4 100644
--- a/java/test/Ice/proxyAMD/MyDerivedClassI.java
+++ b/java/test/Ice/proxyAMD/MyDerivedClassI.java
@@ -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/java/test/Ice/proxyAMD/Server.java b/java/test/Ice/proxyAMD/Server.java
index d3615833c45..7564f506231 100644
--- a/java/test/Ice/proxyAMD/Server.java
+++ b/java/test/Ice/proxyAMD/Server.java
@@ -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/java/test/Ice/proxyAMD/TestAMD.ice b/java/test/Ice/proxyAMD/TestAMD.ice
index 659041c68e7..0b88c93de99 100644
--- a/java/test/Ice/proxyAMD/TestAMD.ice
+++ b/java/test/Ice/proxyAMD/TestAMD.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/java/test/Ice/proxyAMD/build.xml b/java/test/Ice/proxyAMD/build.xml
index fa25ed867ad..f85428c5854 100644
--- a/java/test/Ice/proxyAMD/build.xml
+++ b/java/test/Ice/proxyAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/retry/AllTests.java b/java/test/Ice/retry/AllTests.java
index bd4be5e91f6..c1c3532132c 100644
--- a/java/test/Ice/retry/AllTests.java
+++ b/java/test/Ice/retry/AllTests.java
@@ -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/java/test/Ice/retry/Client.java b/java/test/Ice/retry/Client.java
index 53d4a927ef6..0a2fad21024 100644
--- a/java/test/Ice/retry/Client.java
+++ b/java/test/Ice/retry/Client.java
@@ -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/java/test/Ice/retry/RetryI.java b/java/test/Ice/retry/RetryI.java
index 4126e9a97d7..1f5a2f92c99 100644
--- a/java/test/Ice/retry/RetryI.java
+++ b/java/test/Ice/retry/RetryI.java
@@ -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/java/test/Ice/retry/Server.java b/java/test/Ice/retry/Server.java
index 01492bef5b1..d7c66ff182a 100644
--- a/java/test/Ice/retry/Server.java
+++ b/java/test/Ice/retry/Server.java
@@ -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/java/test/Ice/retry/Test.ice b/java/test/Ice/retry/Test.ice
index c82abeb80eb..6a48fa388a3 100644
--- a/java/test/Ice/retry/Test.ice
+++ b/java/test/Ice/retry/Test.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/java/test/Ice/retry/build.xml b/java/test/Ice/retry/build.xml
index 207c7ab6e87..bba491f0941 100644
--- a/java/test/Ice/retry/build.xml
+++ b/java/test/Ice/retry/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/retry/run.py b/java/test/Ice/retry/run.py
index 245f4dd2f87..bb34e7d35b7 100755
--- a/java/test/Ice/retry/run.py
+++ b/java/test/Ice/retry/run.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.
@@ -10,21 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "retry")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/servantLocator/AllTests.java b/java/test/Ice/servantLocator/AllTests.java
index 7260ec9bcbe..5e56853980d 100644
--- a/java/test/Ice/servantLocator/AllTests.java
+++ b/java/test/Ice/servantLocator/AllTests.java
@@ -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/java/test/Ice/servantLocator/Client.java b/java/test/Ice/servantLocator/Client.java
index 33ae3e1eb00..963c404b88d 100644
--- a/java/test/Ice/servantLocator/Client.java
+++ b/java/test/Ice/servantLocator/Client.java
@@ -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/java/test/Ice/servantLocator/Collocated.java b/java/test/Ice/servantLocator/Collocated.java
index a7fe284343a..3a6f7815e6f 100644
--- a/java/test/Ice/servantLocator/Collocated.java
+++ b/java/test/Ice/servantLocator/Collocated.java
@@ -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/java/test/Ice/servantLocator/CookieI.java b/java/test/Ice/servantLocator/CookieI.java
index 8e051f40033..46b4fac6e28 100644
--- a/java/test/Ice/servantLocator/CookieI.java
+++ b/java/test/Ice/servantLocator/CookieI.java
@@ -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/java/test/Ice/servantLocator/ServantLocatorI.java b/java/test/Ice/servantLocator/ServantLocatorI.java
index 4119a40ddb2..aa24bcf5058 100644
--- a/java/test/Ice/servantLocator/ServantLocatorI.java
+++ b/java/test/Ice/servantLocator/ServantLocatorI.java
@@ -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/java/test/Ice/servantLocator/Server.java b/java/test/Ice/servantLocator/Server.java
index 20da5ef0ef1..14cddc3ef54 100644
--- a/java/test/Ice/servantLocator/Server.java
+++ b/java/test/Ice/servantLocator/Server.java
@@ -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/java/test/Ice/servantLocator/Test.ice b/java/test/Ice/servantLocator/Test.ice
index a4af79e1c11..5225d2c4331 100644
--- a/java/test/Ice/servantLocator/Test.ice
+++ b/java/test/Ice/servantLocator/Test.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/java/test/Ice/servantLocator/TestI.java b/java/test/Ice/servantLocator/TestI.java
index d8a487debc7..eacc1c2e61e 100644
--- a/java/test/Ice/servantLocator/TestI.java
+++ b/java/test/Ice/servantLocator/TestI.java
@@ -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/java/test/Ice/servantLocator/build.xml b/java/test/Ice/servantLocator/build.xml
index a0c1c47cc43..27ed596c9b5 100644
--- a/java/test/Ice/servantLocator/build.xml
+++ b/java/test/Ice/servantLocator/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/servantLocator/run.py b/java/test/Ice/servantLocator/run.py
index a337928b7e3..08229481f20 100755
--- a/java/test/Ice/servantLocator/run.py
+++ b/java/test/Ice/servantLocator/run.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.
@@ -10,38 +10,24 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "servantLocator")
-nameAMD = os.path.join("Ice", "servantLocatorAMD")
-testdir = os.path.dirname(os.path.abspath(__file__))
-testdirAMD = testdir + "AMD"
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-#
-# We need to use mixedClientServerTest so that, when using SSL, the
-# server-side SSL configuration properties are defined. This is
-# necessary because the client creates object adapters.
-#
print "tests with regular server."
-classpath = os.getenv("CLASSPATH", "")
-TestUtil.mixedClientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name, \
- os.path.join(testdirAMD, "classes") + os.pathsep + classpath,\
- os.path.join(testdir, "classes") + os.pathsep + classpath)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "servantLocatorAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/java/test/Ice/servantLocatorAMD/CookieI.java b/java/test/Ice/servantLocatorAMD/CookieI.java
index 8e051f40033..46b4fac6e28 100644
--- a/java/test/Ice/servantLocatorAMD/CookieI.java
+++ b/java/test/Ice/servantLocatorAMD/CookieI.java
@@ -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/java/test/Ice/servantLocatorAMD/ServantLocatorI.java b/java/test/Ice/servantLocatorAMD/ServantLocatorI.java
index 4119a40ddb2..aa24bcf5058 100644
--- a/java/test/Ice/servantLocatorAMD/ServantLocatorI.java
+++ b/java/test/Ice/servantLocatorAMD/ServantLocatorI.java
@@ -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/java/test/Ice/servantLocatorAMD/Server.java b/java/test/Ice/servantLocatorAMD/Server.java
index 20da5ef0ef1..14cddc3ef54 100644
--- a/java/test/Ice/servantLocatorAMD/Server.java
+++ b/java/test/Ice/servantLocatorAMD/Server.java
@@ -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/java/test/Ice/servantLocatorAMD/TestAMD.ice b/java/test/Ice/servantLocatorAMD/TestAMD.ice
index abcc006aa54..b9b23d1173d 100644
--- a/java/test/Ice/servantLocatorAMD/TestAMD.ice
+++ b/java/test/Ice/servantLocatorAMD/TestAMD.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/java/test/Ice/servantLocatorAMD/TestI.java b/java/test/Ice/servantLocatorAMD/TestI.java
index 39642231676..0441b9b3f68 100644
--- a/java/test/Ice/servantLocatorAMD/TestI.java
+++ b/java/test/Ice/servantLocatorAMD/TestI.java
@@ -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/java/test/Ice/servantLocatorAMD/build.xml b/java/test/Ice/servantLocatorAMD/build.xml
index 732ca966af4..787833f89e6 100644
--- a/java/test/Ice/servantLocatorAMD/build.xml
+++ b/java/test/Ice/servantLocatorAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/slicing/build.xml b/java/test/Ice/slicing/build.xml
index 5fec44826e2..3f0ee6e0ca0 100644
--- a/java/test/Ice/slicing/build.xml
+++ b/java/test/Ice/slicing/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/slicing/exceptions/Test.ice b/java/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/java/test/Ice/slicing/exceptions/Test.ice
+++ b/java/test/Ice/slicing/exceptions/Test.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/java/test/Ice/slicing/exceptions/build.xml b/java/test/Ice/slicing/exceptions/build.xml
index 94bcd591be3..f2fd285b42b 100644
--- a/java/test/Ice/slicing/exceptions/build.xml
+++ b/java/test/Ice/slicing/exceptions/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -17,9 +17,9 @@
<!-- import common definitions -->
<import file="${top.dir}/config/common.xml"/>
- <property name="cclass.dir" value="cclasses"/>
+ <property name="cclass.dir" value="classes"/>
<property name="sclass.dir" value="sclasses"/>
- <property name="cgen.dir" value="cgenerated"/>
+ <property name="cgen.dir" value="generated"/>
<property name="sgen.dir" value="sgenerated"/>
<property name="csrc.dir" value="csrc"/>
<property name="ssrc.dir" value="ssrc"/>
diff --git a/java/test/Ice/slicing/exceptions/csrc/AllTests.java b/java/test/Ice/slicing/exceptions/csrc/AllTests.java
index 773fbe9e7ca..97fc9a0c9e4 100644
--- a/java/test/Ice/slicing/exceptions/csrc/AllTests.java
+++ b/java/test/Ice/slicing/exceptions/csrc/AllTests.java
@@ -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/java/test/Ice/slicing/exceptions/csrc/Client.java b/java/test/Ice/slicing/exceptions/csrc/Client.java
index cd40d91f958..a6bd5eb1c17 100644
--- a/java/test/Ice/slicing/exceptions/csrc/Client.java
+++ b/java/test/Ice/slicing/exceptions/csrc/Client.java
@@ -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/java/test/Ice/slicing/exceptions/run.py b/java/test/Ice/slicing/exceptions/run.py
index 237610d7a45..392a127aa5d 100755
--- a/java/test/Ice/slicing/exceptions/run.py
+++ b/java/test/Ice/slicing/exceptions/run.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.
@@ -10,26 +10,24 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
-testdir = os.path.dirname(os.path.abspath(__file__))
-nameAMD = os.path.join("Ice", "slicing", "exceptionsAMD")
-testdirAMD = testdir + "AMD"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTestWithClasspath(name, os.path.join(testdir, "sclasses"), os.path.join(testdir, "cclasses"))
+import copy
+serverenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "sclasses"), serverenv)
+TestUtil.clientServerTest(serverenv = serverenv)
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name, os.path.join(testdirAMD, "classes"), os.path.join(testdir, "cclasses"))
-
-sys.exit(0)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "exceptionsAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
diff --git a/java/test/Ice/slicing/exceptions/ssrc/Server.java b/java/test/Ice/slicing/exceptions/ssrc/Server.java
index e75b5a97fa1..6b7c1b84ffa 100644
--- a/java/test/Ice/slicing/exceptions/ssrc/Server.java
+++ b/java/test/Ice/slicing/exceptions/ssrc/Server.java
@@ -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/java/test/Ice/slicing/exceptions/ssrc/ServerPrivate.ice b/java/test/Ice/slicing/exceptions/ssrc/ServerPrivate.ice
index 489a184d3e5..e2ae8cb3696 100644
--- a/java/test/Ice/slicing/exceptions/ssrc/ServerPrivate.ice
+++ b/java/test/Ice/slicing/exceptions/ssrc/ServerPrivate.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/java/test/Ice/slicing/exceptions/ssrc/TestI.java b/java/test/Ice/slicing/exceptions/ssrc/TestI.java
index 1b21a84347f..01647a1708b 100644
--- a/java/test/Ice/slicing/exceptions/ssrc/TestI.java
+++ b/java/test/Ice/slicing/exceptions/ssrc/TestI.java
@@ -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/java/test/Ice/slicing/exceptionsAMD/Server.java b/java/test/Ice/slicing/exceptionsAMD/Server.java
index 93fcfcbf9c4..028930fc8c1 100644
--- a/java/test/Ice/slicing/exceptionsAMD/Server.java
+++ b/java/test/Ice/slicing/exceptionsAMD/Server.java
@@ -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/java/test/Ice/slicing/exceptionsAMD/ServerPrivateAMD.ice b/java/test/Ice/slicing/exceptionsAMD/ServerPrivateAMD.ice
index 0ec29a0ea91..76f139c79c2 100644
--- a/java/test/Ice/slicing/exceptionsAMD/ServerPrivateAMD.ice
+++ b/java/test/Ice/slicing/exceptionsAMD/ServerPrivateAMD.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/java/test/Ice/slicing/exceptionsAMD/TestAMD.ice b/java/test/Ice/slicing/exceptionsAMD/TestAMD.ice
index c241f17a01d..f878338c995 100644
--- a/java/test/Ice/slicing/exceptionsAMD/TestAMD.ice
+++ b/java/test/Ice/slicing/exceptionsAMD/TestAMD.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/java/test/Ice/slicing/exceptionsAMD/TestI.java b/java/test/Ice/slicing/exceptionsAMD/TestI.java
index 815ccc43880..b6ef7eb5c6f 100644
--- a/java/test/Ice/slicing/exceptionsAMD/TestI.java
+++ b/java/test/Ice/slicing/exceptionsAMD/TestI.java
@@ -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/java/test/Ice/slicing/exceptionsAMD/build.xml b/java/test/Ice/slicing/exceptionsAMD/build.xml
index 76988d22f8a..26bb8d5e6bb 100644
--- a/java/test/Ice/slicing/exceptionsAMD/build.xml
+++ b/java/test/Ice/slicing/exceptionsAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/slicing/objects/Forward.ice b/java/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/java/test/Ice/slicing/objects/Forward.ice
+++ b/java/test/Ice/slicing/objects/Forward.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/java/test/Ice/slicing/objects/Test.ice b/java/test/Ice/slicing/objects/Test.ice
index 0ce49886fc9..2fa79937f53 100644
--- a/java/test/Ice/slicing/objects/Test.ice
+++ b/java/test/Ice/slicing/objects/Test.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/java/test/Ice/slicing/objects/build.xml b/java/test/Ice/slicing/objects/build.xml
index 4a0ae963e61..2dc899785f0 100644
--- a/java/test/Ice/slicing/objects/build.xml
+++ b/java/test/Ice/slicing/objects/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -17,9 +17,9 @@
<!-- import common definitions -->
<import file="${top.dir}/config/common.xml"/>
- <property name="cclass.dir" value="cclasses"/>
+ <property name="cclass.dir" value="classes"/>
<property name="sclass.dir" value="sclasses"/>
- <property name="cgen.dir" value="cgenerated"/>
+ <property name="cgen.dir" value="generated"/>
<property name="sgen.dir" value="sgenerated"/>
<property name="csrc.dir" value="csrc"/>
<property name="ssrc.dir" value="ssrc"/>
diff --git a/java/test/Ice/slicing/objects/csrc/AllTests.java b/java/test/Ice/slicing/objects/csrc/AllTests.java
index aae82d50ccf..ab0c45dc5d2 100644
--- a/java/test/Ice/slicing/objects/csrc/AllTests.java
+++ b/java/test/Ice/slicing/objects/csrc/AllTests.java
@@ -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.
@@ -1471,8 +1471,8 @@ public class AllTests
System.out.print("return value identity for input params known first... ");
System.out.flush();
{
- try
- {
+ //try
+ //{
D1 d1 = new D1();
d1.sb = "D1.sb";
d1.sd1 = "D1.sd1";
@@ -1512,11 +1512,11 @@ public class AllTests
test(b1 != d3);
test(b2 != d1);
test(b2 != d3);
- }
- catch(Exception ex)
- {
- test(false);
- }
+ //}
+ //catch(Exception ex)
+ //{
+ //test(false);
+ //}
}
System.out.println("ok");
diff --git a/java/test/Ice/slicing/objects/csrc/Client.java b/java/test/Ice/slicing/objects/csrc/Client.java
index cd40d91f958..a6bd5eb1c17 100644
--- a/java/test/Ice/slicing/objects/csrc/Client.java
+++ b/java/test/Ice/slicing/objects/csrc/Client.java
@@ -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/java/test/Ice/slicing/objects/csrc/ClientPrivate.ice b/java/test/Ice/slicing/objects/csrc/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/java/test/Ice/slicing/objects/csrc/ClientPrivate.ice
+++ b/java/test/Ice/slicing/objects/csrc/ClientPrivate.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/java/test/Ice/slicing/objects/run.py b/java/test/Ice/slicing/objects/run.py
index 5b834e189ff..5d357e042ef 100755
--- a/java/test/Ice/slicing/objects/run.py
+++ b/java/test/Ice/slicing/objects/run.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.
@@ -10,26 +10,27 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
-testdir = os.path.dirname(os.path.abspath(__file__))
-nameAMD = os.path.join("Ice", "slicing", "objectsAMD")
-testdirAMD = testdir + "AMD"
+testdir = os.getcwd()
+testdirAMD = os.path.join(testdir, "..", "objectsAMD", "classes")
print "tests with regular server."
-TestUtil.clientServerTestWithClasspath(name, os.path.join(testdir, "sclasses"), os.path.join(testdir, "cclasses"))
+import copy
+serverenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "sclasses"), serverenv)
+TestUtil.clientServerTest(serverenv = serverenv)
print "tests with AMD server."
-TestUtil.clientServerTestWithClasspath(name, os.path.join(testdirAMD, "classes"), os.path.join(testdir, "cclasses"))
-
-sys.exit(0)
+import copy
+amdenv = copy.deepcopy(os.environ)
+TestUtil.addClasspath(os.path.join(os.getcwd(), "..", "objectsAMD", "classes"), amdenv)
+TestUtil.clientServerTest(serverenv = amdenv)
diff --git a/java/test/Ice/slicing/objects/ssrc/Server.java b/java/test/Ice/slicing/objects/ssrc/Server.java
index e75b5a97fa1..6b7c1b84ffa 100644
--- a/java/test/Ice/slicing/objects/ssrc/Server.java
+++ b/java/test/Ice/slicing/objects/ssrc/Server.java
@@ -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/java/test/Ice/slicing/objects/ssrc/ServerPrivate.ice b/java/test/Ice/slicing/objects/ssrc/ServerPrivate.ice
index 95ceaa7f750..2f4189919c4 100644
--- a/java/test/Ice/slicing/objects/ssrc/ServerPrivate.ice
+++ b/java/test/Ice/slicing/objects/ssrc/ServerPrivate.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/java/test/Ice/slicing/objects/ssrc/TestI.java b/java/test/Ice/slicing/objects/ssrc/TestI.java
index b9e324c0aec..94b313cdcac 100644
--- a/java/test/Ice/slicing/objects/ssrc/TestI.java
+++ b/java/test/Ice/slicing/objects/ssrc/TestI.java
@@ -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/java/test/Ice/slicing/objectsAMD/Forward.ice b/java/test/Ice/slicing/objectsAMD/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/java/test/Ice/slicing/objectsAMD/Forward.ice
+++ b/java/test/Ice/slicing/objectsAMD/Forward.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/java/test/Ice/slicing/objectsAMD/Server.java b/java/test/Ice/slicing/objectsAMD/Server.java
index 93fcfcbf9c4..028930fc8c1 100644
--- a/java/test/Ice/slicing/objectsAMD/Server.java
+++ b/java/test/Ice/slicing/objectsAMD/Server.java
@@ -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/java/test/Ice/slicing/objectsAMD/ServerPrivateAMD.ice b/java/test/Ice/slicing/objectsAMD/ServerPrivateAMD.ice
index 3112495277f..18265cf711c 100644
--- a/java/test/Ice/slicing/objectsAMD/ServerPrivateAMD.ice
+++ b/java/test/Ice/slicing/objectsAMD/ServerPrivateAMD.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/java/test/Ice/slicing/objectsAMD/TestAMD.ice b/java/test/Ice/slicing/objectsAMD/TestAMD.ice
index 96fa308cc7f..f9d187d345b 100644
--- a/java/test/Ice/slicing/objectsAMD/TestAMD.ice
+++ b/java/test/Ice/slicing/objectsAMD/TestAMD.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/java/test/Ice/slicing/objectsAMD/TestI.java b/java/test/Ice/slicing/objectsAMD/TestI.java
index 79a0eafb1ad..429126886cc 100644
--- a/java/test/Ice/slicing/objectsAMD/TestI.java
+++ b/java/test/Ice/slicing/objectsAMD/TestI.java
@@ -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/java/test/Ice/slicing/objectsAMD/build.xml b/java/test/Ice/slicing/objectsAMD/build.xml
index 1dde26a0af6..aaaacfe8ec9 100644
--- a/java/test/Ice/slicing/objectsAMD/build.xml
+++ b/java/test/Ice/slicing/objectsAMD/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/stream/Client.java b/java/test/Ice/stream/Client.java
index 437eb3e6559..8c1993fc612 100644
--- a/java/test/Ice/stream/Client.java
+++ b/java/test/Ice/stream/Client.java
@@ -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/java/test/Ice/stream/Test.ice b/java/test/Ice/stream/Test.ice
index 880c83444ee..dafd2f02d41 100644
--- a/java/test/Ice/stream/Test.ice
+++ b/java/test/Ice/stream/Test.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/java/test/Ice/stream/build.xml b/java/test/Ice/stream/build.xml
index c98bcaa505b..f3283a483ba 100644
--- a/java/test/Ice/stream/build.xml
+++ b/java/test/Ice/stream/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/stream/run.py b/java/test/Ice/stream/run.py
index 09be18dd69f..2ba8e124049 100755
--- a/java/test/Ice/stream/run.py
+++ b/java/test/Ice/stream/run.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.
@@ -10,31 +10,20 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "stream")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
print "starting test...",
-clientPipe = TestUtil.startClient("Client"," 2>&1")
+clientProc = TestUtil.startClient("Client")
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- TestUtil.killServers()
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/java/test/Ice/timeout/AllTests.java b/java/test/Ice/timeout/AllTests.java
index 8661fa1634c..73cf9dffb5c 100644
--- a/java/test/Ice/timeout/AllTests.java
+++ b/java/test/Ice/timeout/AllTests.java
@@ -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/java/test/Ice/timeout/Client.java b/java/test/Ice/timeout/Client.java
index 231e5ec929d..ef685123ac0 100644
--- a/java/test/Ice/timeout/Client.java
+++ b/java/test/Ice/timeout/Client.java
@@ -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/java/test/Ice/timeout/Server.java b/java/test/Ice/timeout/Server.java
index b73538ff5cd..503094829f8 100644
--- a/java/test/Ice/timeout/Server.java
+++ b/java/test/Ice/timeout/Server.java
@@ -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/java/test/Ice/timeout/Test.ice b/java/test/Ice/timeout/Test.ice
index 82531c5901e..4ba0c07ab71 100644
--- a/java/test/Ice/timeout/Test.ice
+++ b/java/test/Ice/timeout/Test.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/java/test/Ice/timeout/TimeoutI.java b/java/test/Ice/timeout/TimeoutI.java
index 870955fb74f..90ce2283c81 100644
--- a/java/test/Ice/timeout/TimeoutI.java
+++ b/java/test/Ice/timeout/TimeoutI.java
@@ -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/java/test/Ice/timeout/build.xml b/java/test/Ice/timeout/build.xml
index 78ca69759fe..56880b609e8 100644
--- a/java/test/Ice/timeout/build.xml
+++ b/java/test/Ice/timeout/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/timeout/run.py b/java/test/Ice/timeout/run.py
index 57729b5145a..bb34e7d35b7 100755
--- a/java/test/Ice/timeout/run.py
+++ b/java/test/Ice/timeout/run.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.
@@ -10,21 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "timeout")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/java/test/Ice/translator/DoubleModuleNoPackage.ice b/java/test/Ice/translator/DoubleModuleNoPackage.ice
index ac2f2ac8de1..55fdca2afe8 100644
--- a/java/test/Ice/translator/DoubleModuleNoPackage.ice
+++ b/java/test/Ice/translator/DoubleModuleNoPackage.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/java/test/Ice/translator/DoubleModuleWithPackage.ice b/java/test/Ice/translator/DoubleModuleWithPackage.ice
index d50dc96f465..46e5bd725b8 100644
--- a/java/test/Ice/translator/DoubleModuleWithPackage.ice
+++ b/java/test/Ice/translator/DoubleModuleWithPackage.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/java/test/Ice/translator/SingleModuleNoPackage.ice b/java/test/Ice/translator/SingleModuleNoPackage.ice
index c8e5c6dda78..22bca04ec60 100644
--- a/java/test/Ice/translator/SingleModuleNoPackage.ice
+++ b/java/test/Ice/translator/SingleModuleNoPackage.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/java/test/Ice/translator/SingleModuleWithPackage.ice b/java/test/Ice/translator/SingleModuleWithPackage.ice
index d0d528c7eb7..06baf978125 100644
--- a/java/test/Ice/translator/SingleModuleWithPackage.ice
+++ b/java/test/Ice/translator/SingleModuleWithPackage.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/java/test/Ice/translator/TestDoubleModuleNoPackage4.ice b/java/test/Ice/translator/TestDoubleModuleNoPackage4.ice
index f115bbabbef..9e6dac7596b 100644
--- a/java/test/Ice/translator/TestDoubleModuleNoPackage4.ice
+++ b/java/test/Ice/translator/TestDoubleModuleNoPackage4.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/java/test/Ice/translator/TestDoubleModuleNoPackage5.ice b/java/test/Ice/translator/TestDoubleModuleNoPackage5.ice
index 85b433d381d..27a004c8b0f 100644
--- a/java/test/Ice/translator/TestDoubleModuleNoPackage5.ice
+++ b/java/test/Ice/translator/TestDoubleModuleNoPackage5.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/java/test/Ice/translator/TestDoubleModuleNoPackage6.ice b/java/test/Ice/translator/TestDoubleModuleNoPackage6.ice
index 551331bc361..d6a7115af4d 100644
--- a/java/test/Ice/translator/TestDoubleModuleNoPackage6.ice
+++ b/java/test/Ice/translator/TestDoubleModuleNoPackage6.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/java/test/Ice/translator/TestDoubleModuleNoPackage7.ice b/java/test/Ice/translator/TestDoubleModuleNoPackage7.ice
index d2fe243f9d7..2b336599876 100644
--- a/java/test/Ice/translator/TestDoubleModuleNoPackage7.ice
+++ b/java/test/Ice/translator/TestDoubleModuleNoPackage7.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/java/test/Ice/translator/TestDoubleModuleWithPackage10.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage10.ice
index 733ec796aac..cb257c0908d 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage10.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage10.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/java/test/Ice/translator/TestDoubleModuleWithPackage11.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage11.ice
index 2b838d65bc8..250070fb926 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage11.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage11.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/java/test/Ice/translator/TestDoubleModuleWithPackage4.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage4.ice
index d3cbc3264a1..5614f66cd10 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage4.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage4.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/java/test/Ice/translator/TestDoubleModuleWithPackage5.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage5.ice
index 630086f7f02..06427d2c1f4 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage5.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage5.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/java/test/Ice/translator/TestDoubleModuleWithPackage6.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage6.ice
index 0cbc23b1ec6..1fa6f5f6592 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage6.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage6.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/java/test/Ice/translator/TestDoubleModuleWithPackage7.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage7.ice
index ff99e9330cb..dd2b0d53903 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage7.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage7.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/java/test/Ice/translator/TestDoubleModuleWithPackage8.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage8.ice
index bca710fe32c..0a4e20ecd37 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage8.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage8.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/java/test/Ice/translator/TestDoubleModuleWithPackage9.ice b/java/test/Ice/translator/TestDoubleModuleWithPackage9.ice
index abcff7d5685..9b62faa0a27 100644
--- a/java/test/Ice/translator/TestDoubleModuleWithPackage9.ice
+++ b/java/test/Ice/translator/TestDoubleModuleWithPackage9.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/java/test/Ice/translator/TestSingleModuleNoPackage4.ice b/java/test/Ice/translator/TestSingleModuleNoPackage4.ice
index abc59228c37..7c2dab8e2fd 100644
--- a/java/test/Ice/translator/TestSingleModuleNoPackage4.ice
+++ b/java/test/Ice/translator/TestSingleModuleNoPackage4.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/java/test/Ice/translator/TestSingleModuleNoPackage6.ice b/java/test/Ice/translator/TestSingleModuleNoPackage6.ice
index f81bc011b09..d1adac45e7d 100644
--- a/java/test/Ice/translator/TestSingleModuleNoPackage6.ice
+++ b/java/test/Ice/translator/TestSingleModuleNoPackage6.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/java/test/Ice/translator/TestSingleModuleNoPackage7.ice b/java/test/Ice/translator/TestSingleModuleNoPackage7.ice
index b8db1822b93..3a1d58242c0 100644
--- a/java/test/Ice/translator/TestSingleModuleNoPackage7.ice
+++ b/java/test/Ice/translator/TestSingleModuleNoPackage7.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/java/test/Ice/translator/TestSingleModuleWithPackage10.ice b/java/test/Ice/translator/TestSingleModuleWithPackage10.ice
index 8c3f9c83201..4000da21a68 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage10.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage10.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/java/test/Ice/translator/TestSingleModuleWithPackage11.ice b/java/test/Ice/translator/TestSingleModuleWithPackage11.ice
index 284b97e468e..dd8113a21c2 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage11.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage11.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/java/test/Ice/translator/TestSingleModuleWithPackage12.ice b/java/test/Ice/translator/TestSingleModuleWithPackage12.ice
index a10981a9ef7..49bd3551749 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage12.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage12.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/java/test/Ice/translator/TestSingleModuleWithPackage13.ice b/java/test/Ice/translator/TestSingleModuleWithPackage13.ice
index 401582f9e12..c220dd65f93 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage13.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage13.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/java/test/Ice/translator/TestSingleModuleWithPackage4.ice b/java/test/Ice/translator/TestSingleModuleWithPackage4.ice
index 3900d8fe565..fea0ff6d4f4 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage4.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage4.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/java/test/Ice/translator/TestSingleModuleWithPackage5.ice b/java/test/Ice/translator/TestSingleModuleWithPackage5.ice
index 09389feafbd..620a2db20e1 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage5.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage5.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/java/test/Ice/translator/TestSingleModuleWithPackage6.ice b/java/test/Ice/translator/TestSingleModuleWithPackage6.ice
index 25e06e0c3be..2d039eebf04 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage6.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage6.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/java/test/Ice/translator/TestSingleModuleWithPackage7.ice b/java/test/Ice/translator/TestSingleModuleWithPackage7.ice
index 6daab774c3e..a304459ea98 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage7.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage7.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/java/test/Ice/translator/TestSingleModuleWithPackage9.ice b/java/test/Ice/translator/TestSingleModuleWithPackage9.ice
index e3443f33b6d..027ecc12b2e 100644
--- a/java/test/Ice/translator/TestSingleModuleWithPackage9.ice
+++ b/java/test/Ice/translator/TestSingleModuleWithPackage9.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/java/test/Ice/translator/build.xml b/java/test/Ice/translator/build.xml
index 2719cfbfefc..d95d3936d22 100644
--- a/java/test/Ice/translator/build.xml
+++ b/java/test/Ice/translator/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Ice/udp/AllTests.java b/java/test/Ice/udp/AllTests.java
new file mode 100644
index 00000000000..d7b44820367
--- /dev/null
+++ b/java/test/Ice/udp/AllTests.java
@@ -0,0 +1,154 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+public class AllTests
+{
+ private static void
+ test(boolean b)
+ {
+ if(!b)
+ {
+ throw new RuntimeException();
+ }
+ }
+
+ public static class PingReplyI extends Test._PingReplyDisp
+ {
+ public synchronized void
+ reply(Ice.Current current)
+ {
+ ++_replies;
+ notify();
+ }
+
+ public synchronized void
+ reset()
+ {
+ _replies = 0;
+ }
+
+ public synchronized boolean
+ waitReply(int expectedReplies, long timeout)
+ {
+ long end = System.currentTimeMillis() + timeout;
+ while(_replies < expectedReplies)
+ {
+ long delay = end - System.currentTimeMillis();
+ if(delay > 0)
+ {
+ try
+ {
+ wait(delay);
+ }
+ catch(java.lang.InterruptedException ex)
+ {
+ }
+ }
+ else
+ {
+ break;
+ }
+ }
+ return _replies == expectedReplies;
+ }
+
+ private int _replies;
+ }
+
+ public static Test.TestIntfPrx
+ allTests(Ice.Communicator communicator)
+ {
+ communicator.getProperties().setProperty("ReplyAdapter.Endpoints", "udp -p 12030");
+ Ice.ObjectAdapter adapter = communicator.createObjectAdapter("ReplyAdapter");
+ PingReplyI replyI = new PingReplyI();
+ Test.PingReplyPrx reply =
+ (Test.PingReplyPrx)Test.PingReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI)).ice_datagram();
+ adapter.activate();
+
+ System.out.print("testing udp... ");
+ System.out.flush();
+ Ice.ObjectPrx base = communicator.stringToProxy("test:udp -p 12010").ice_datagram();
+ Test.TestIntfPrx obj = Test.TestIntfPrxHelper.uncheckedCast(base);
+
+ replyI.reset();
+ obj.ping(reply);
+ obj.ping(reply);
+ obj.ping(reply);
+ boolean ret = replyI.waitReply(3, 2000);
+ test(ret == true);
+
+ byte[] seq = null;
+ try
+ {
+ seq = new byte[1024];
+ while(true)
+ {
+ seq = new byte[seq.length * 2 + 10];
+ replyI.reset();
+ obj.sendByteSeq(seq, reply);
+ replyI.waitReply(1, 10000);
+ }
+ }
+ catch(Ice.DatagramLimitException ex)
+ {
+ test(seq.length > 16384);
+ }
+
+ communicator.getProperties().setProperty("Ice.UDP.SndSize", "64000");
+ seq = new byte[50000];
+ try
+ {
+ replyI.reset();
+ obj.sendByteSeq(seq, reply);
+ test(!replyI.waitReply(1, 500));
+ }
+ catch(Ice.LocalException ex)
+ {
+ System.err.println(ex);
+ test(false);
+ }
+
+ System.out.println("ok");
+
+ System.out.print("testing udp multicast... ");
+ System.out.flush();
+ String host;
+ if(communicator.getProperties().getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ base = communicator.stringToProxy("test:udp -h " + host + " -p 12020").ice_datagram();
+ obj = Test.TestIntfPrxHelper.uncheckedCast(base);
+
+ replyI.reset();
+ obj.ping(reply);
+ if(!replyI.waitReply(5, 2000))
+ {
+ System.out.println("failed (is a firewall enabled?)");
+ return obj;
+ }
+
+ replyI.reset();
+ obj.ping(reply);
+ ret = replyI.waitReply(5, 2000);
+ if(!replyI.waitReply(5, 2000))
+ {
+ System.out.println("failed (is a firewall enabled?)");
+ return obj;
+ }
+
+ System.out.println("ok");
+
+ return obj;
+ }
+}
diff --git a/java/test/Ice/udp/Client.java b/java/test/Ice/udp/Client.java
new file mode 100644
index 00000000000..321f89d3ecf
--- /dev/null
+++ b/java/test/Ice/udp/Client.java
@@ -0,0 +1,62 @@
+// **********************************************************************
+//
+// 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 Test.*;
+
+public class Client
+{
+ private static int
+ run(String[] args, Ice.Communicator communicator)
+ {
+ TestIntfPrx obj = AllTests.allTests(communicator);
+ obj.shutdown();
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ try
+ {
+ Ice.StringSeqHolder argHolder = new Ice.StringSeqHolder(args);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(argHolder);
+
+ initData.properties.setProperty("Ice.Warn.Connections", "0");
+ initData.properties.setProperty("Ice.UDP.SndSize", "16384");
+
+ communicator = Ice.Util.initialize(argHolder, initData);
+ status = run(args, communicator);
+ }
+ catch(Exception ex)
+ {
+ ex.printStackTrace();
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ status = 1;
+ }
+ }
+
+ System.gc();
+ System.exit(status);
+ }
+}
diff --git a/java/test/Ice/udp/Server.java b/java/test/Ice/udp/Server.java
new file mode 100644
index 00000000000..bedd63218bb
--- /dev/null
+++ b/java/test/Ice/udp/Server.java
@@ -0,0 +1,82 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+public class Server
+{
+ private static int
+ run(String[] args, Ice.Communicator communicator)
+ {
+ Ice.Properties properties = communicator.getProperties();
+ if(args.length == 1 && args[0].equals("1"))
+ {
+ properties.setProperty("TestAdapter.Endpoints", "udp -p 12010");
+ Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
+ adapter.add(new TestIntfI(), communicator.stringToIdentity("test"));
+ adapter.activate();
+ }
+
+ String host;
+ if(properties.getProperty("Ice.IPv6") == "1")
+ {
+ host = "\"ff01::1:1\"";
+ }
+ else
+ {
+ host = "239.255.1.1";
+ }
+ properties.setProperty("McastTestAdapter.Endpoints", "udp -h " + host + " -p 12020");
+ Ice.ObjectAdapter mcastAdapter = communicator.createObjectAdapter("McastTestAdapter");
+ mcastAdapter.add(new TestIntfI(), communicator.stringToIdentity("test"));
+ mcastAdapter.activate();
+
+ communicator.waitForShutdown();
+ return 0;
+ }
+
+ public static void
+ main(String[] args)
+ {
+ int status = 0;
+ Ice.Communicator communicator = null;
+
+ try
+ {
+ Ice.StringSeqHolder argHolder = new Ice.StringSeqHolder(args);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(argHolder);
+
+ initData.properties.setProperty("Ice.Warn.Connections", "0");
+ initData.properties.setProperty("Ice.UDP.RcvSize", "16384");
+
+ communicator = Ice.Util.initialize(argHolder, initData);
+ status = run(argHolder.value, communicator);
+ }
+ catch(Exception ex)
+ {
+ ex.printStackTrace();
+ status = 1;
+ }
+
+ if(communicator != null)
+ {
+ try
+ {
+ communicator.destroy();
+ }
+ catch(Ice.LocalException ex)
+ {
+ ex.printStackTrace();
+ status = 1;
+ }
+ }
+
+ System.gc();
+ System.exit(status);
+ }
+}
diff --git a/java/test/Ice/udp/Test.ice b/java/test/Ice/udp/Test.ice
new file mode 100644
index 00000000000..0d4af4d441a
--- /dev/null
+++ b/java/test/Ice/udp/Test.ice
@@ -0,0 +1,32 @@
+// **********************************************************************
+//
+// 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 TEST_ICE
+#define TEST_ICE
+
+module Test
+{
+
+interface PingReply
+{
+ void reply();
+};
+
+sequence<byte> ByteSeq;
+
+interface TestIntf
+{
+ void ping(PingReply* reply);
+ void sendByteSeq(ByteSeq seq, PingReply* reply);
+ void shutdown();
+};
+
+};
+
+#endif
diff --git a/java/test/Ice/udp/TestIntfI.java b/java/test/Ice/udp/TestIntfI.java
new file mode 100644
index 00000000000..585d00be077
--- /dev/null
+++ b/java/test/Ice/udp/TestIntfI.java
@@ -0,0 +1,40 @@
+// **********************************************************************
+//
+// 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.
+//
+// **********************************************************************
+
+public final class TestIntfI extends Test._TestIntfDisp
+{
+ public void ping(Test.PingReplyPrx reply, Ice.Current current)
+ {
+ try
+ {
+ reply.reply();
+ }
+ catch(Ice.LocalException ex)
+ {
+ assert(false);
+ }
+ }
+
+ public void sendByteSeq(byte[] seq, Test.PingReplyPrx reply, Ice.Current current)
+ {
+ try
+ {
+ reply.reply();
+ }
+ catch(Ice.LocalException ex)
+ {
+ assert(false);
+ }
+ }
+
+ public void shutdown(Ice.Current current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ }
+}
diff --git a/java/test/Glacier2/attack/build.xml b/java/test/Ice/udp/build.xml
index 24877fb4192..daebad93de6 100644
--- a/java/test/Glacier2/attack/build.xml
+++ b/java/test/Ice/udp/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -9,7 +9,7 @@
**********************************************************************
-->
-<project name="test_Glacier2_attack" default="all" basedir=".">
+<project name="test_Ice_udp" default="all" basedir=".">
<!-- set global properties for this build -->
<property name="top.dir" value="../../.."/>
@@ -22,7 +22,7 @@
<mkdir dir="${generated.dir}"/>
<slice2java outputdir="${generated.dir}">
<meta value="${java2metadata}"/>
- <fileset dir="." includes="Backend.ice"/>
+ <fileset dir="." includes="Test.ice"/>
</slice2java>
</target>
diff --git a/java/test/Ice/udp/run.py b/java/test/Ice/udp/run.py
new file mode 100755
index 00000000000..1ba78b079a2
--- /dev/null
+++ b/java/test/Ice/udp/run.py
@@ -0,0 +1,39 @@
+#!/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 os, sys
+
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
+
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
+
+num = 5
+
+serverProc = []
+for i in range(0, num):
+ print "starting server #%d..." % (i + 1),
+ serverProc.append(TestUtil.startServer("Server", "%d" % (i + 1) , adapter="McastTestAdapter"))
+ print "ok"
+
+print "starting client...",
+clientProc = TestUtil.startClient("Client")
+print "ok"
+
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/java/test/IceBox/build.xml b/java/test/IceBox/build.xml
index ef641529333..9f98487e325 100644
--- a/java/test/IceBox/build.xml
+++ b/java/test/IceBox/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceBox/configuration/AllTests.java b/java/test/IceBox/configuration/AllTests.java
index e8989971176..488fe4f7c7f 100644
--- a/java/test/IceBox/configuration/AllTests.java
+++ b/java/test/IceBox/configuration/AllTests.java
@@ -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/java/test/IceBox/configuration/Client.java b/java/test/IceBox/configuration/Client.java
index 428da598c10..dfb55d630db 100644
--- a/java/test/IceBox/configuration/Client.java
+++ b/java/test/IceBox/configuration/Client.java
@@ -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/java/test/IceBox/configuration/Test.ice b/java/test/IceBox/configuration/Test.ice
index 9e70b77cfc8..5300aa44bb0 100644
--- a/java/test/IceBox/configuration/Test.ice
+++ b/java/test/IceBox/configuration/Test.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/java/test/IceBox/configuration/TestI.java b/java/test/IceBox/configuration/TestI.java
index dc28e39fddc..f508705abe4 100644
--- a/java/test/IceBox/configuration/TestI.java
+++ b/java/test/IceBox/configuration/TestI.java
@@ -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/java/test/IceBox/configuration/TestServiceI.java b/java/test/IceBox/configuration/TestServiceI.java
index 5f08ac9122b..485d8435c89 100644
--- a/java/test/IceBox/configuration/TestServiceI.java
+++ b/java/test/IceBox/configuration/TestServiceI.java
@@ -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/java/test/IceBox/configuration/build.xml b/java/test/IceBox/configuration/build.xml
index 644edb518b7..e874d67da56 100644
--- a/java/test/IceBox/configuration/build.xml
+++ b/java/test/IceBox/configuration/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceBox/configuration/run.py b/java/test/IceBox/configuration/run.py
index 5b921e2ba2b..67461502cce 100755
--- a/java/test/IceBox/configuration/run.py
+++ b/java/test/IceBox/configuration/run.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.
@@ -10,30 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-name = os.path.join("IceBox", "configuration")
-testdir = os.path.dirname(os.path.abspath(__file__))
-icebox = TestUtil.getIceBox(testdir);
-
-cwd = os.getcwd()
-os.chdir(testdir)
-
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
-
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox", "", icebox, "Client")
-TestUtil.clientServerTestWithOptionsAndNames(name, "--Ice.Config=config.icebox2", "", icebox, "Client")
-
-os.chdir(cwd)
-
-sys.exit(0)
+TestUtil.clientServerTest(additionalServerOptions="--Ice.Config=%s" % os.path.join(os.getcwd(), "config.icebox"),
+ server=TestUtil.getIceBox())
+TestUtil.clientServerTest(additionalServerOptions="--Ice.Config=%s" % os.path.join(os.getcwd(), "config.icebox2"),
+ server=TestUtil.getIceBox())
diff --git a/java/test/IceGrid/build.xml b/java/test/IceGrid/build.xml
index 853d3edd4e1..0e5964d7f95 100644
--- a/java/test/IceGrid/build.xml
+++ b/java/test/IceGrid/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceGrid/simple/AllTests.java b/java/test/IceGrid/simple/AllTests.java
index a6dda92300b..7df041ec955 100644
--- a/java/test/IceGrid/simple/AllTests.java
+++ b/java/test/IceGrid/simple/AllTests.java
@@ -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.
@@ -78,6 +78,11 @@ public class AllTests
test(base != null);
System.out.println("ok");
+ System.out.print("testing IceGrid.Locator is present... ");
+ IceGrid.LocatorPrx locator = IceGrid.LocatorPrxHelper.uncheckedCast(base);
+ test(locator != null);
+ System.out.println("ok");
+
System.out.print("testing checked cast... ");
System.out.flush();
TestIntfPrx obj = TestIntfPrxHelper.checkedCast(base);
diff --git a/java/test/IceGrid/simple/Client.java b/java/test/IceGrid/simple/Client.java
index 867f1555d3c..9920cce434d 100644
--- a/java/test/IceGrid/simple/Client.java
+++ b/java/test/IceGrid/simple/Client.java
@@ -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/java/test/IceGrid/simple/Server.java b/java/test/IceGrid/simple/Server.java
index 83f77ad2911..7a5e11f8cba 100644
--- a/java/test/IceGrid/simple/Server.java
+++ b/java/test/IceGrid/simple/Server.java
@@ -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/java/test/IceGrid/simple/Test.ice b/java/test/IceGrid/simple/Test.ice
index 900a3c992bc..4e0f2a6a2b9 100644
--- a/java/test/IceGrid/simple/Test.ice
+++ b/java/test/IceGrid/simple/Test.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/java/test/IceGrid/simple/TestI.java b/java/test/IceGrid/simple/TestI.java
index d125e82e88c..f8954675591 100644
--- a/java/test/IceGrid/simple/TestI.java
+++ b/java/test/IceGrid/simple/TestI.java
@@ -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/java/test/IceGrid/simple/build.xml b/java/test/IceGrid/simple/build.xml
index b1931936f20..04f0df0f7cd 100644
--- a/java/test/IceGrid/simple/build.xml
+++ b/java/test/IceGrid/simple/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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.
@@ -46,6 +46,7 @@
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="db/node"/>
<fileset dir="db/registry"/>
+ <fileset dir="db/replica-1"/>
</delete>
</target>
diff --git a/java/test/IceGrid/simple/run.py b/java/test/IceGrid/simple/run.py
index 38b267460bc..4455f5e40e0 100755
--- a/java/test/IceGrid/simple/run.py
+++ b/java/test/IceGrid/simple/run.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.
@@ -10,31 +10,22 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-import IceGridAdmin
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-name = os.path.join("IceGrid", "simple")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
#
# Test client/server without on demand activation.
#
-IceGridAdmin.iceGridClientServerTest(testdir, name, "", "--TestAdapter.Endpoints=default" + \
- " --TestAdapter.AdapterId=TestAdapter")
+IceGridAdmin.iceGridClientServerTest("", "--TestAdapter.Endpoints=default --TestAdapter.AdapterId=TestAdapter")
#
# Test client/server with on demand activation.
#
-IceGridAdmin.iceGridTest(testdir, name, "simple_server.xml", "--with-deploy")
-sys.exit(0)
+IceGridAdmin.iceGridTest("simple_server.xml", "--with-deploy")
diff --git a/java/test/IceSSL/build.xml b/java/test/IceSSL/build.xml
index e343b565c25..6e41173e279 100644
--- a/java/test/IceSSL/build.xml
+++ b/java/test/IceSSL/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceSSL/certs/makecerts.py b/java/test/IceSSL/certs/makecerts.py
index d1c474ca07f..5e6fbb7300f 100755
--- a/java/test/IceSSL/certs/makecerts.py
+++ b/java/test/IceSSL/certs/makecerts.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.
@@ -18,7 +18,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
#
# Show usage information.
diff --git a/java/test/IceSSL/configuration/AllTests.java b/java/test/IceSSL/configuration/AllTests.java
index a974c18ce90..d6470f9e85c 100644
--- a/java/test/IceSSL/configuration/AllTests.java
+++ b/java/test/IceSSL/configuration/AllTests.java
@@ -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/java/test/IceSSL/configuration/CertificateVerifierI.java b/java/test/IceSSL/configuration/CertificateVerifierI.java
index f1c0c440d13..547acc4c4f9 100644
--- a/java/test/IceSSL/configuration/CertificateVerifierI.java
+++ b/java/test/IceSSL/configuration/CertificateVerifierI.java
@@ -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/java/test/IceSSL/configuration/Client.java b/java/test/IceSSL/configuration/Client.java
index d24d99dc759..18a942f22df 100644
--- a/java/test/IceSSL/configuration/Client.java
+++ b/java/test/IceSSL/configuration/Client.java
@@ -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/java/test/IceSSL/configuration/PasswordCallbackI.java b/java/test/IceSSL/configuration/PasswordCallbackI.java
index 764e8477142..786170671a0 100644
--- a/java/test/IceSSL/configuration/PasswordCallbackI.java
+++ b/java/test/IceSSL/configuration/PasswordCallbackI.java
@@ -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/java/test/IceSSL/configuration/Server.java b/java/test/IceSSL/configuration/Server.java
index 02fe64c5110..c1b7b5e9976 100644
--- a/java/test/IceSSL/configuration/Server.java
+++ b/java/test/IceSSL/configuration/Server.java
@@ -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/java/test/IceSSL/configuration/ServerFactoryI.java b/java/test/IceSSL/configuration/ServerFactoryI.java
index d406a91d8fd..6fc001550d9 100644
--- a/java/test/IceSSL/configuration/ServerFactoryI.java
+++ b/java/test/IceSSL/configuration/ServerFactoryI.java
@@ -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/java/test/IceSSL/configuration/ServerI.java b/java/test/IceSSL/configuration/ServerI.java
index cd8ecb442aa..15d446a7480 100644
--- a/java/test/IceSSL/configuration/ServerI.java
+++ b/java/test/IceSSL/configuration/ServerI.java
@@ -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/java/test/IceSSL/configuration/Test.ice b/java/test/IceSSL/configuration/Test.ice
index c0149cd962f..335a7cbe344 100644
--- a/java/test/IceSSL/configuration/Test.ice
+++ b/java/test/IceSSL/configuration/Test.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/java/test/IceSSL/configuration/build.xml b/java/test/IceSSL/configuration/build.xml
index 9a50b720f2c..1d007a9254c 100644
--- a/java/test/IceSSL/configuration/build.xml
+++ b/java/test/IceSSL/configuration/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceSSL/configuration/run.py b/java/test/IceSSL/configuration/run.py
index 0c45d6d34d8..154cffc869d 100755
--- a/java/test/IceSSL/configuration/run.py
+++ b/java/test/IceSSL/configuration/run.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.
@@ -10,21 +10,16 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
+testdir = os.getcwd()
-name = os.path.join("IceSSL", "configuration")
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-classpath = os.getenv("CLASSPATH", "")
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + classpath
-TestUtil.clientServerTestWithOptions(name, "", " " + testdir)
-sys.exit(0)
+TestUtil.clientServerTest(additionalClientOptions=testdir)
diff --git a/java/test/IceUtil/build.xml b/java/test/IceUtil/build.xml
index 19a61257a5b..7d81da3433a 100644
--- a/java/test/IceUtil/build.xml
+++ b/java/test/IceUtil/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceUtil/inputUtil/Client.java b/java/test/IceUtil/inputUtil/Client.java
index 0958339c066..63ebd67811d 100644
--- a/java/test/IceUtil/inputUtil/Client.java
+++ b/java/test/IceUtil/inputUtil/Client.java
@@ -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/java/test/IceUtil/inputUtil/build.xml b/java/test/IceUtil/inputUtil/build.xml
index cb8f398fb67..48ad1c5562e 100644
--- a/java/test/IceUtil/inputUtil/build.xml
+++ b/java/test/IceUtil/inputUtil/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/IceUtil/inputUtil/run.py b/java/test/IceUtil/inputUtil/run.py
index 6e33ce61269..cae7681d14d 100755
--- a/java/test/IceUtil/inputUtil/run.py
+++ b/java/test/IceUtil/inputUtil/run.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.
@@ -10,30 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("IceUtil", "inputUtil")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
print "starting client...",
-clientPipe = TestUtil.startClient("Client", " 2>&1")
+clientProc = TestUtil.startClient("Client")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/java/test/Slice/build.xml b/java/test/Slice/build.xml
index acb0c57c026..6ebfc0e8344 100644
--- a/java/test/Slice/build.xml
+++ b/java/test/Slice/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Slice/keyword/Client.java b/java/test/Slice/keyword/Client.java
index f3c8368205b..afb93aa1bda 100644
--- a/java/test/Slice/keyword/Client.java
+++ b/java/test/Slice/keyword/Client.java
@@ -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/java/test/Slice/keyword/Key.ice b/java/test/Slice/keyword/Key.ice
index b1889510276..f1ce1a558a9 100644
--- a/java/test/Slice/keyword/Key.ice
+++ b/java/test/Slice/keyword/Key.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/java/test/Slice/keyword/build.xml b/java/test/Slice/keyword/build.xml
index f403b76ae59..232871cd181 100644
--- a/java/test/Slice/keyword/build.xml
+++ b/java/test/Slice/keyword/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/java/test/Slice/keyword/run.py b/java/test/Slice/keyword/run.py
index 95c29eed3c1..cae7681d14d 100755
--- a/java/test/Slice/keyword/run.py
+++ b/java/test/Slice/keyword/run.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.
@@ -10,30 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Slice", "keyword")
-testdir = os.path.dirname(os.path.abspath(__file__))
-os.environ["CLASSPATH"] = os.path.join(testdir, "classes") + os.pathsep + os.getenv("CLASSPATH", "")
+TestUtil.addClasspath(os.path.join(os.getcwd(), "classes"))
print "starting client...",
-clientPipe = os.popen("java -ea Client 2>&1")
+clientProc = TestUtil.startClient("Client")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/java/test/build.xml b/java/test/build.xml
index e8b5f63a642..b8534e5a76c 100644
--- a/java/test/build.xml
+++ b/java/test/build.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/makedist.py b/makedist.py
index 4f86db0c5ba..0282df8496b 100755
--- a/makedist.py
+++ b/makedist.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.
@@ -25,6 +25,7 @@ includeSubDirs = [ \
"vb", \
"rb", \
"config", \
+ "scripts", \
"certs", \
"slice", \
"distribution", \
@@ -225,6 +226,7 @@ for d in ["", "cpp", "java", "cs"]:
copy(os.path.join(distFilesDir, "src", "common", "Make.rules"), os.path.join(demoDir, "config"), False)
copy(os.path.join(distFilesDir, "src", "common", "Make.rules.cs"), os.path.join(demoDir, "config"), False)
copy(os.path.join(distFilesDir, "src", "common", "build.properties"), os.path.join(demoDir, "config"), False)
+copy(os.path.join(srcDir, "scripts"), os.path.join(demoscriptDir, "scripts"))
# Consolidate demoscript and demo distribution with files from each language mapping
for d in os.listdir('.'):
diff --git a/perf/printIcePerf.py b/perf/printIcePerf.py
index 3f19c8f725b..5fdbb47b983 100755
--- a/perf/printIcePerf.py
+++ b/perf/printIcePerf.py
@@ -18,7 +18,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
def usage():
print "usage: " + sys.argv[0] + " [-h|--help] [-n|-hostname HOSTNAME] FILENAME ..."
diff --git a/perf/printIceStormPerf.py b/perf/printIceStormPerf.py
index a3971c5de46..9293d6119c5 100755
--- a/perf/printIceStormPerf.py
+++ b/perf/printIceStormPerf.py
@@ -18,7 +18,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
def usage():
print "usage: " + sys.argv[0] + " [-h|--help] [-n|-hostname HOSTNAME] FILENAME ..."
diff --git a/perf/runIcePerf.py b/perf/runIcePerf.py
index abdb3d1b4f9..57489ed7bea 100755
--- a/perf/runIcePerf.py
+++ b/perf/runIcePerf.py
@@ -25,7 +25,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
def usage():
print "usage: " + sys.argv[0] + " [-h|--help] [-i|--iter N] [-n|--hostname HOSTNAME] [-o|--output FILENAME]"
diff --git a/perf/runIceStormPerf.py b/perf/runIceStormPerf.py
index 658f126a656..5ee84991ea3 100755
--- a/perf/runIceStormPerf.py
+++ b/perf/runIceStormPerf.py
@@ -24,7 +24,7 @@ else:
raise "can't find toplevel directory!"
sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+from scripts import *
latencyRepetitions = 10000
throughputRepetitions = 30000
diff --git a/php/Makefile b/php/Makefile
index 1625f8b2c71..dd86d998f1a 100644
--- a/php/Makefile
+++ b/php/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/php/Makefile.mak b/php/Makefile.mak
index 4a08e8bdc5e..152ad0dc3d6 100644
--- a/php/Makefile.mak
+++ b/php/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/php/allTests.py b/php/allTests.py
index 19221ac2976..8267c7a7a10 100755
--- a/php/allTests.py
+++ b/php/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
diff --git a/php/config/Make.rules b/php/config/Make.rules
index 02aa5525a39..89715f202d6 100644
--- a/php/config/Make.rules
+++ b/php/config/Make.rules
@@ -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/php/config/Make.rules.mak b/php/config/Make.rules.mak
index 96333375301..515f5a9b8ec 100644
--- a/php/config/Make.rules.mak
+++ b/php/config/Make.rules.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.
@@ -40,16 +40,20 @@ PHP_HOME = C:\php-5.2.6
# Set PHP_BIN_HOME to your PHP binary installation directory.
#
!if "$(PHP_BIN_HOME)" == ""
-PHP_BIN_HOME = C:\php-5.2.6-Win32
+PHP_BIN_HOME = C:\Program Files\PHP
!endif
#
# STLPort is required if using MSVC++ 6.0. Change if STLPort
# is located in a different location.
#
-!if "$(CPP_COMPILER)" == "VC60"
+!if "$(CPP_COMPILER)" == "VC60" && "$(STLPORT_HOME)" == ""
+!if "$(THIRDPARTY_HOME)" != ""
+STLPORT_HOME = $(THIRDPARTY_HOME)
+!else
STLPORT_HOME = C:\Ice-$(VERSION)-ThirdParty-VC60
!endif
+!endif
# ----------------------------------------------------------------------
@@ -73,14 +77,23 @@ bindir = $(top_srcdir)\bin
libdir = $(top_srcdir)\lib
install_bindir = $(prefix)\bin
-THIRDPARTY_HOME = $(STLPORT_HOME)
-
!if "$(CPP_COMPILER)" != "VC60"
!error Invalid setting for CPP_COMPILER: $(CPP_COMPILER)
!endif
!include $(top_srcdir)\..\cpp\config\Make.rules.msvc
+!if "$(ice_src_dist)" != ""
+!if "$(STLPORT_HOME)" != ""
+CPPFLAGS = -I"$(STLPORT_HOME)\include\stlport" $(CPPFLAGS)
+LDFLAGS = /LIBPATH:"$(STLPORT_HOME)\lib" $(LDFLAGS)
+!endif
+!else
+!if "$(CPP_COMPILER)" == "VC60"
+CPPFLAGS = -I"$(ice_dir)\include\stlport" $(CPPFLAGS)
+!endif
+!endif
+
!if "$(OPTIMIZE)" != "yes"
LIBSUFFIX = $(LIBSUFFIX)d
!endif
@@ -89,14 +102,10 @@ ICE_LIBS = ice$(LIBSUFFIX).lib iceutil$(LIBSUFFIX).lib slice$(LIBSUFFIX).lib
!if "$(ice_src_dist)" != ""
ICE_CPPFLAGS = -I"$(ice_cpp_dir)\include"
-!if "$(ice_cpp_dir)" == "$(ice_dir)\cpp"
ICE_LDFLAGS = /LIBPATH:"$(ice_cpp_dir)\lib"
!else
-ICE_LDFLAGS = /LIBPATH:"$(ice_cpp_dir)\lib$(x64suffix)"
-!endif
-!else
ICE_CPPFLAGS = -I"$(ice_dir)\include"
-ICE_LDFLAGS = /LIBPATH:"$(ice_dir)\lib$(x64suffix)"
+ICE_LDFLAGS = /LIBPATH:"$(ice_dir)\lib"
!endif
slicedir = $(ice_dir)\slice
diff --git a/php/demo/Ice/hello/Hello.ice b/php/demo/Ice/hello/Hello.ice
index 715515abb1c..bcaed6ad877 100644
--- a/php/demo/Ice/hello/Hello.ice
+++ b/php/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.
diff --git a/php/demo/Ice/hello/hello.php b/php/demo/Ice/hello/hello.php
index 857a01a9014..80d0ea77585 100644
--- a/php/demo/Ice/hello/hello.php
+++ b/php/demo/Ice/hello/hello.php
@@ -9,7 +9,7 @@
<?php
// **********************************************************************
//
-// 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/php/demo/Ice/value/Client.php b/php/demo/Ice/value/Client.php
index e204b3d4797..961de48151c 100644
--- a/php/demo/Ice/value/Client.php
+++ b/php/demo/Ice/value/Client.php
@@ -1,7 +1,7 @@
<?php
// **********************************************************************
//
-// 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/php/demo/Ice/value/Value.ice b/php/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/php/demo/Ice/value/Value.ice
+++ b/php/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/php/src/IcePHP/Communicator.cpp b/php/src/IcePHP/Communicator.cpp
index 0f9e3d6e72d..40a315a3f84 100644
--- a/php/src/IcePHP/Communicator.cpp
+++ b/php/src/IcePHP/Communicator.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/php/src/IcePHP/Communicator.h b/php/src/IcePHP/Communicator.h
index f834182a816..25483ffd644 100644
--- a/php/src/IcePHP/Communicator.h
+++ b/php/src/IcePHP/Communicator.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/php/src/IcePHP/Config.h b/php/src/IcePHP/Config.h
index 95f439fee6b..304d31dd625 100644
--- a/php/src/IcePHP/Config.h
+++ b/php/src/IcePHP/Config.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/php/src/IcePHP/Init.cpp b/php/src/IcePHP/Init.cpp
index f4488ba2b8b..338a2276fb2 100644
--- a/php/src/IcePHP/Init.cpp
+++ b/php/src/IcePHP/Init.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/php/src/IcePHP/Makefile b/php/src/IcePHP/Makefile
index 0d7e5c79241..6d56a5f21cf 100644
--- a/php/src/IcePHP/Makefile
+++ b/php/src/IcePHP/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/php/src/IcePHP/Makefile.mak b/php/src/IcePHP/Makefile.mak
index 2f7d8b7c59c..61de9aecb85 100644
--- a/php/src/IcePHP/Makefile.mak
+++ b/php/src/IcePHP/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/php/src/IcePHP/Marshal.cpp b/php/src/IcePHP/Marshal.cpp
index 2a489f073bb..fe802f345d1 100644
--- a/php/src/IcePHP/Marshal.cpp
+++ b/php/src/IcePHP/Marshal.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.
@@ -2121,20 +2121,21 @@ IcePHP::ObjectMarshaler::marshal(zval* zv, const Ice::OutputStreamPtr& os, Objec
Profile* profile = static_cast<Profile*>(ICE_G(profile));
assert(profile);
zend_class_entry* cls = ce;
- Profile::ClassMap::iterator p = profile->classes.find(cls->name);
- while(p == profile->classes.end())
+ const Profile::ClassMap& classes = profile->classes();
+ Profile::ClassMap::const_iterator p = classes.find(cls->name);
+ while(p == classes.end())
{
if(cls->parent)
{
- p = profile->classes.find(cls->parent->name);
+ p = classes.find(cls->parent->name);
}
- for(zend_uint i = 0; i < cls->num_interfaces && p == profile->classes.end(); ++i)
+ for(zend_uint i = 0; i < cls->num_interfaces && p == classes.end(); ++i)
{
- p = profile->classes.find(cls->interfaces[i]->name);
+ p = classes.find(cls->interfaces[i]->name);
}
cls = cls->parent;
}
- assert(p != profile->classes.end());
+ assert(p != classes.end());
writer = new ObjectWriter(zv, p->second, m TSRMLS_CC);
m.insert(pair<unsigned int, Ice::ObjectPtr>(Z_OBJ_HANDLE_P(zv), writer));
@@ -2196,9 +2197,10 @@ IcePHP::PHPObjectFactory::create(const string& scoped)
//
// We can only unmarshal an object if we have the definition of its Slice type.
//
- Profile::ClassMap::iterator p = profile->classes.find(flatten(scoped));
+ const Profile::ClassMap& classes = profile->classes();
+ Profile::ClassMap::const_iterator p = classes.find(flatten(scoped));
Slice::ClassDefPtr def;
- if(p != profile->classes.end())
+ if(p != classes.end())
{
def = p->second;
}
diff --git a/php/src/IcePHP/Marshal.h b/php/src/IcePHP/Marshal.h
index cb874faf4fc..620c33c7ddf 100644
--- a/php/src/IcePHP/Marshal.h
+++ b/php/src/IcePHP/Marshal.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/php/src/IcePHP/Profile.cpp b/php/src/IcePHP/Profile.cpp
index d0a4d039075..e0ffef78661 100644
--- a/php/src/IcePHP/Profile.cpp
+++ b/php/src/IcePHP/Profile.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.
@@ -316,7 +316,7 @@ static const char* _coreTypes =
// Parse the Slice files that define the types and operations available to a PHP script.
//
static bool
-parseSlice(const string& argStr, Slice::UnitPtr& unit, bool& suppressWarnings TSRMLS_DC)
+parseSlice(const string& argStr, vector<Slice::UnitPtr>& units, bool& suppressWarnings TSRMLS_DC)
{
vector<string> args;
try
@@ -397,36 +397,34 @@ parseSlice(const string& argStr, Slice::UnitPtr& unit, bool& suppressWarnings TS
bool ignoreRedefs = false;
bool all = true;
- unit = Slice::Unit::createUnit(ignoreRedefs, all, ice, caseSensitive);
- bool status = true;
for(vector<string>::iterator p = files.begin(); p != files.end(); ++p)
{
+ Slice::UnitPtr unit = Slice::Unit::createUnit(ignoreRedefs, all, ice, caseSensitive);
Slice::Preprocessor icecpp("icecpp", *p, cppArgs);
FILE* cppHandle = icecpp.preprocess(false);
if(cppHandle == 0)
{
- status = false;
- break;
+ return false;
}
int parseStatus = unit->parse(*p, cppHandle, debug);
if(!icecpp.close())
{
- status = false;
- break;
+ return false;
}
if(parseStatus == EXIT_FAILURE)
{
- status = false;
- break;
+ return false;
}
+
+ units.push_back(unit);
}
- return status;
+ return true;
}
static bool
@@ -476,98 +474,100 @@ createProfile(const string& name, const string& config, const string& options, c
properties->parseCommandLineOptions("", args);
}
- Slice::UnitPtr unit;
- bool suppressWarnings = false;
- if(!slice.empty())
- {
- if(!parseSlice(slice, unit, suppressWarnings TSRMLS_CC))
- {
- return false;
- }
- }
- else
- {
- //
- // We must be allowed to obtain builtin types, as well as create Ice::Identity if necessary.
- //
- unit = Slice::Unit::createUnit(false, false, true, false);
- }
+ //
+ // We create a Unit for each Slice file.
+ //
+ vector<Slice::UnitPtr> units;
//
- // Create the Slice definition for Ice::Identity if it doesn't exist. The PHP class will
- // be created automatically by CodeVisitor.
+ // Even if the profile specifies no Slice files, we still need to obtain builtin
+ // types as well as create types such as Ice::Identity.
//
- string scoped = "::Ice::Identity";
- Slice::TypeList l = unit->lookupTypeNoBuiltin(scoped, false);
- if(l.empty())
{
- Slice::ContainedList c = unit->lookupContained("Ice", false);
- Slice::ModulePtr module;
- if(c.empty())
- {
- module = unit->createModule("Ice");
- }
- else
+ Slice::UnitPtr unit = Slice::Unit::createUnit(false, false, true, false);
+
+ //
+ // Create the Slice definition for Ice::Identity if it doesn't exist. The PHP class will
+ // be created automatically by CodeVisitor.
+ //
+ string scoped = "::Ice::Identity";
+ Slice::TypeList l = unit->lookupTypeNoBuiltin(scoped, false);
+ if(l.empty())
{
- module = Slice::ModulePtr::dynamicCast(c.front());
- if(!module)
+ Slice::ContainedList c = unit->lookupContained("Ice", false);
+ Slice::ModulePtr module;
+ if(c.empty())
+ {
+ module = unit->createModule("Ice");
+ }
+ else
{
- php_error_docref(0 TSRMLS_CC, E_ERROR, "the symbol `::Ice' is defined in Slice but is not a module");
- return false;
+ module = Slice::ModulePtr::dynamicCast(c.front());
+ if(!module)
+ {
+ php_error_docref(0 TSRMLS_CC, E_ERROR,
+ "the symbol `::Ice' is defined in Slice but is not a module");
+ return false;
+ }
}
+ Slice::StructPtr identity = module->createStruct("Identity", false);
+ Slice::TypePtr str = unit->builtin(Slice::Builtin::KindString);
+ identity->createDataMember("category", str);
+ identity->createDataMember("name", str);
}
- Slice::StructPtr identity = module->createStruct("Identity", false);
- Slice::TypePtr str = unit->builtin(Slice::Builtin::KindString);
- identity->createDataMember("category", str);
- identity->createDataMember("name", str);
- }
- //
- // Create the Slice definition for Ice::EndpointSelectionType if it doesn't exist. The PHP class will
- // be created automatically by CodeVisitor.
- //
- scoped = "::Ice::EndpointSelectionType";
- l = unit->lookupTypeNoBuiltin(scoped, false);
- if(l.empty())
- {
- Slice::ContainedList c = unit->lookupContained("Ice", false);
- Slice::ModulePtr module;
- if(c.empty())
- {
- module = unit->createModule("Ice");
- }
- else
+ //
+ // Create the Slice definition for Ice::EndpointSelectionType if it doesn't exist. The PHP class will
+ // be created automatically by CodeVisitor.
+ //
+ scoped = "::Ice::EndpointSelectionType";
+ l = unit->lookupTypeNoBuiltin(scoped, false);
+ if(l.empty())
{
- module = Slice::ModulePtr::dynamicCast(c.front());
- if(!module)
+ Slice::ContainedList c = unit->lookupContained("Ice", false);
+ Slice::ModulePtr module;
+ if(c.empty())
{
- php_error_docref(0 TSRMLS_CC, E_ERROR, "the symbol `::Ice' is defined in Slice but is not a module");
- return false;
+ module = unit->createModule("Ice");
}
+ else
+ {
+ module = Slice::ModulePtr::dynamicCast(c.front());
+ if(!module)
+ {
+ php_error_docref(0 TSRMLS_CC, E_ERROR,
+ "the symbol `::Ice' is defined in Slice but is not a module");
+ return false;
+ }
+ }
+ Slice::EnumPtr en = module->createEnum("EndpointSelectionType", false);
+ Slice::EnumeratorList el;
+ el.push_back(module->createEnumerator("Random"));
+ el.push_back(module->createEnumerator("Ordered"));
+ en->setEnumerators(el);
}
- Slice::EnumPtr en = module->createEnum("EndpointSelectionType", false);
- Slice::EnumeratorList el;
- el.push_back(module->createEnumerator("Random"));
- el.push_back(module->createEnumerator("Ordered"));
- en->setEnumerators(el);
+
+ units.push_back(unit);
+ }
+
+ bool suppressWarnings = false;
+ if(!slice.empty() && !parseSlice(slice, units, suppressWarnings TSRMLS_CC))
+ {
+ return false;
}
//
- // Descend the parse tree to create PHP code.
+ // Descend the parse trees to generate PHP code.
//
ostringstream out;
Profile::ClassMap classes;
- CodeVisitor visitor(out, classes, suppressWarnings TSRMLS_CC);
- unit->visit(&visitor, false);
-
- Profile* profile = new Profile;
- profile->name = name;
- profile->unit = unit;
- profile->code = out.str();
- profile->classes = classes;
- profile->properties = properties;
+ for(vector<Slice::UnitPtr>::const_iterator q = units.begin(); q != units.end(); ++ q)
+ {
+ CodeVisitor visitor(out, classes, suppressWarnings TSRMLS_CC);
+ (*q)->visit(&visitor, false);
+ }
- _profiles[name] = profile;
+ _profiles[name] = new Profile(name, units, out.str(), classes, properties);
return true;
}
@@ -722,9 +722,83 @@ IcePHP::profileShutdown(TSRMLS_D)
{
for(map<string, Profile*>::iterator p = _profiles.begin(); p != _profiles.end(); ++p)
{
+ p->second->destroy(TSRMLS_C);
+ delete p->second;
+ }
+
+ _profiles.clear();
+
+ return true;
+}
+
+IcePHP::Profile::Profile(const string& name, const vector<Slice::UnitPtr>& units, const string& code,
+ const ClassMap& classes, const Ice::PropertiesPtr& properties) :
+ _name(name), _units(units), _code(code), _classes(classes), _properties(properties)
+{
+}
+
+string
+IcePHP::Profile::name() const
+{
+ return _name;
+}
+
+string
+IcePHP::Profile::code() const
+{
+ return _code;
+}
+
+const IcePHP::Profile::ClassMap&
+IcePHP::Profile::classes() const
+{
+ return _classes;
+}
+
+Ice::PropertiesPtr
+IcePHP::Profile::properties() const
+{
+ return _properties;
+}
+
+Slice::TypePtr
+IcePHP::Profile::lookupType(const string& id) const
+{
+ for(vector<Slice::UnitPtr>::const_iterator p = _units.begin(); p != _units.end(); ++p)
+ {
+ Slice::TypeList l = (*p)->lookupType(id, false);
+ if(!l.empty())
+ {
+ return l.front();
+ }
+ }
+
+ return 0;
+}
+
+Slice::ExceptionPtr
+IcePHP::Profile::lookupException(const string& id) const
+{
+ for(vector<Slice::UnitPtr>::const_iterator p = _units.begin(); p != _units.end(); ++p)
+ {
+ Slice::ExceptionPtr ex = (*p)->lookupException(id, false);
+ if(ex)
+ {
+ return ex;
+ }
+ }
+
+ return 0;
+}
+
+void
+IcePHP::Profile::destroy(TSRMLS_D)
+{
+ for(vector<Slice::UnitPtr>::iterator p = _units.begin(); p != _units.end(); ++p)
+ {
try
{
- p->second->unit->destroy();
+ (*p)->destroy();
}
catch(const IceUtil::Exception& ex)
{
@@ -733,13 +807,7 @@ IcePHP::profileShutdown(TSRMLS_D)
php_error_docref(0 TSRMLS_CC, E_ERROR, "error while destroying Slice parse tree:\n%s\n",
ostr.str().c_str());
}
-
- delete p->second;
}
-
- _profiles.clear();
-
- return true;
}
static bool
@@ -814,9 +882,9 @@ do_load(const string& name, const Ice::StringSeq& args TSRMLS_DC)
//
// Compile the user-defined types.
//
- if(zend_eval_string(const_cast<char*>(profile->code.c_str()), 0, "__slice" TSRMLS_CC) == FAILURE)
+ if(zend_eval_string(const_cast<char*>(profile->code().c_str()), 0, "__slice" TSRMLS_CC) == FAILURE)
{
- php_error_docref(0 TSRMLS_CC, E_ERROR, "unable to create Slice types:\n%s\n", profile->code.c_str());
+ php_error_docref(0 TSRMLS_CC, E_ERROR, "unable to create Slice types:\n%s\n", profile->code().c_str());
return false;
}
@@ -824,7 +892,7 @@ do_load(const string& name, const Ice::StringSeq& args TSRMLS_DC)
// Make a copy of the profile's properties, and include any command-line arguments.
//
Ice::PropertiesPtr properties = Ice::createProperties();
- properties->parseCommandLineOptions("", profile->properties->getCommandLineOptions());
+ properties->parseCommandLineOptions("", profile->properties()->getCommandLineOptions());
properties->parseCommandLineOptions("", args);
ICE_G(properties) = new Ice::PropertiesPtr(properties);
@@ -923,7 +991,7 @@ ZEND_FUNCTION(Ice_dumpProfile)
}
ostringstream out;
- out << "Ice profile: " << profile->name << endl;
+ out << "Ice profile: " << profile->name() << endl;
Ice::PropertyDict props = (*properties)->getPropertiesForPrefix("");
if(!props.empty())
@@ -939,10 +1007,11 @@ ZEND_FUNCTION(Ice_dumpProfile)
out << endl << "Ice configuration properties: <none>" << endl;
}
- if(!profile->code.empty())
+ string code = profile->code();
+ if(!code.empty())
{
out << endl << "PHP code for Slice types:" << endl << endl;
- out << profile->code;
+ out << code;
}
else
{
@@ -986,6 +1055,8 @@ IcePHP::CodeVisitor::visitClassDefStart(const Slice::ClassDefPtr& p)
if(p->isInterface())
{
+ _out << "if(!interface_exists(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
_out << "interface " << flat;
if(!bases.empty())
{
@@ -1006,6 +1077,8 @@ IcePHP::CodeVisitor::visitClassDefStart(const Slice::ClassDefPtr& p)
}
else
{
+ _out << "if(!class_exists(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
if(p->isAbstract())
{
_out << "abstract ";
@@ -1097,6 +1170,7 @@ void
IcePHP::CodeVisitor::visitClassDefEnd(const Slice::ClassDefPtr& p)
{
_out << '}' << endl;
+ _out << '}' << endl; // interface_exists/class_exists
}
bool
@@ -1105,6 +1179,8 @@ IcePHP::CodeVisitor::visitExceptionStart(const Slice::ExceptionPtr& p)
string flat = flatten(p->scoped());
Slice::ExceptionPtr base = p->base();
+ _out << "if(!class_exists(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
_out << "class " << flat << " extends ";
string baseName;
if(!base)
@@ -1169,6 +1245,7 @@ void
IcePHP::CodeVisitor::visitExceptionEnd(const Slice::ExceptionPtr& p)
{
_out << '}' << endl;
+ _out << '}' << endl; // class_exists
}
bool
@@ -1176,6 +1253,8 @@ IcePHP::CodeVisitor::visitStructStart(const Slice::StructPtr& p)
{
string flat = flatten(p->scoped());
+ _out << "if(!class_exists(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
_out << "class " << flatten(p->scoped()) << endl;
_out << '{' << endl;
@@ -1208,6 +1287,7 @@ void
IcePHP::CodeVisitor::visitStructEnd(const Slice::StructPtr& p)
{
_out << '}' << endl;
+ _out << '}' << endl; // class_exists
}
void
@@ -1283,6 +1363,8 @@ IcePHP::CodeVisitor::visitEnum(const Slice::EnumPtr& p)
{
string flat = flatten(p->scoped());
+ _out << "if(!class_exists(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
_out << "class " << flat << endl;
_out << '{' << endl;
@@ -1299,6 +1381,7 @@ IcePHP::CodeVisitor::visitEnum(const Slice::EnumPtr& p)
}
_out << '}' << endl;
+ _out << '}' << endl; // class_exists
}
void
@@ -1308,9 +1391,12 @@ IcePHP::CodeVisitor::visitConst(const Slice::ConstPtr& p)
Slice::TypePtr type = p->type();
string value = p->value();
+ _out << "if(!defined(\"" << flat << "\"))" << endl;
+ _out << "{" << endl;
_out << "define(\"" << flat << "\", ";
Slice::BuiltinPtr b = Slice::BuiltinPtr::dynamicCast(type);
+ Slice::EnumPtr en = Slice::EnumPtr::dynamicCast(type);
if(b)
{
switch(b->kind())
@@ -1400,13 +1486,8 @@ IcePHP::CodeVisitor::visitConst(const Slice::ConstPtr& p)
case Slice::Builtin::KindLocalObject:
assert(false);
}
-
- _out << ");" << endl;
- return;
}
-
- Slice::EnumPtr en = Slice::EnumPtr::dynamicCast(type);
- if(en)
+ else if(en)
{
string::size_type colon = value.rfind(':');
if(colon != string::npos)
@@ -1419,12 +1500,14 @@ IcePHP::CodeVisitor::visitConst(const Slice::ConstPtr& p)
{
if((*q)->name() == value)
{
- _out << flatten(en->scoped()) << "::" << fixIdent(value) << ");" << endl;
- return;
+ _out << flatten(en->scoped()) << "::" << fixIdent(value);
+ break;
}
}
- assert(false); // No match found.
}
+
+ _out << ");" << endl;
+ _out << "}" << endl; // defined
}
string
diff --git a/php/src/IcePHP/Profile.h b/php/src/IcePHP/Profile.h
index 85f7f170b6a..32ff4b241ab 100644
--- a/php/src/IcePHP/Profile.h
+++ b/php/src/IcePHP/Profile.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.
@@ -41,15 +41,32 @@ bool profileShutdown(TSRMLS_D);
// Profile contains information about an Ice configuration. A pointer to a Profile instance
// is stored in the PHP globals (see php_ice.h) when a script invokes Ice_loadProfile().
//
-struct Profile
+class Profile
{
+public:
+
typedef std::map<std::string, Slice::ClassDefPtr> ClassMap;
- std::string name; // The profile name
- Slice::UnitPtr unit; // The parsed Slice code
- std::string code; // PHP code generated from Slice types
- ClassMap classes; // Associates flattened type ids to their ClassDefs
- Ice::PropertiesPtr properties; // Configuration properties
+ Profile(const std::string&, const std::vector<Slice::UnitPtr>&, const std::string&, const ClassMap&,
+ const Ice::PropertiesPtr&);
+
+ std::string name() const;
+ std::string code() const;
+ const ClassMap& classes() const;
+ Ice::PropertiesPtr properties() const;
+
+ Slice::TypePtr lookupType(const std::string&) const;
+ Slice::ExceptionPtr lookupException(const std::string&) const;
+
+ void destroy(TSRMLS_D);
+
+private:
+
+ std::string _name; // The profile name
+ std::vector<Slice::UnitPtr> _units; // The parsed Slice files
+ std::string _code; // PHP code generated from Slice types
+ ClassMap _classes; // Associates flattened type ids to their ClassDefs
+ Ice::PropertiesPtr _properties; // Configuration properties
};
} // End of namespace IcePHP
diff --git a/php/src/IcePHP/Proxy.cpp b/php/src/IcePHP/Proxy.cpp
index 81c297b2ab0..38281878001 100644
--- a/php/src/IcePHP/Proxy.cpp
+++ b/php/src/IcePHP/Proxy.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.
@@ -1307,7 +1307,7 @@ ZEND_FUNCTION(Ice_ObjectPrx_ice_router)
Ice::RouterPrx router;
if(proxy)
{
- if(!def || !def->isA("Ice::Router"))
+ if(!def || !def->isA("::Ice::Router"))
{
php_error_docref(0 TSRMLS_CC, E_ERROR, "ice_router requires a proxy narrowed to Ice::Router");
RETURN_NULL();
@@ -1398,7 +1398,7 @@ ZEND_FUNCTION(Ice_ObjectPrx_ice_locator)
Ice::LocatorPrx locator;
if(proxy)
{
- if(!def || !def->isA("Ice::Locator"))
+ if(!def || !def->isA("::Ice::Locator"))
{
php_error_docref(0 TSRMLS_CC, E_ERROR, "ice_locator requires a proxy narrowed to Ice::Locator");
RETURN_NULL();
@@ -1821,20 +1821,20 @@ lookupClass(const string& id, Slice::ClassDefPtr& def TSRMLS_DC)
try
{
- Slice::TypeList l;
+ Slice::TypePtr type;
Profile* profile = static_cast<Profile*>(ICE_G(profile));
if(profile)
{
- l = profile->unit->lookupType(id, false);
+ type = profile->lookupType(id);
}
- if(l.empty())
+ if(!type)
{
php_error_docref(0 TSRMLS_CC, E_ERROR, "no Slice definition found for type %s", id.c_str());
return false;
}
- Slice::BuiltinPtr b = Slice::BuiltinPtr::dynamicCast(l.front());
+ Slice::BuiltinPtr b = Slice::BuiltinPtr::dynamicCast(type);
if(b && b->kind() != Slice::Builtin::KindObject && b->kind() != Slice::Builtin::KindObjectProxy)
{
php_error_docref(0 TSRMLS_CC, E_ERROR, "type %s is not a class or interface", id.c_str());
@@ -1847,7 +1847,6 @@ lookupClass(const string& id, Slice::ClassDefPtr& def TSRMLS_DC)
// Allow the use of "::Type" (ClassDecl) or "::Type*" (Proxy).
//
Slice::ClassDeclPtr decl;
- Slice::TypePtr type = l.front();
Slice::ProxyPtr proxy = Slice::ProxyPtr::dynamicCast(type);
if(proxy)
{
diff --git a/php/src/IcePHP/Proxy.h b/php/src/IcePHP/Proxy.h
index 6053a63ac21..d82ae5ca412 100644
--- a/php/src/IcePHP/Proxy.h
+++ b/php/src/IcePHP/Proxy.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/php/src/IcePHP/Util.cpp b/php/src/IcePHP/Util.cpp
index d8816c1562d..693d8a5385c 100644
--- a/php/src/IcePHP/Util.cpp
+++ b/php/src/IcePHP/Util.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/php/src/IcePHP/Util.h b/php/src/IcePHP/Util.h
index 4036ac853d7..2e20ee6cced 100644
--- a/php/src/IcePHP/Util.h
+++ b/php/src/IcePHP/Util.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/php/src/Makefile b/php/src/Makefile
index c303a34ea59..0a32a1e3f4c 100644
--- a/php/src/Makefile
+++ b/php/src/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/php/src/Makefile.mak b/php/src/Makefile.mak
index 8bd53565c50..75a3a95e4e9 100644
--- a/php/src/Makefile.mak
+++ b/php/src/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/php/test/Ice/binding/Client.php b/php/test/Ice/binding/Client.php
index 47a990283a2..a2373416f9b 100644
--- a/php/test/Ice/binding/Client.php
+++ b/php/test/Ice/binding/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/binding/Test.ice b/php/test/Ice/binding/Test.ice
index 3cc8632fe86..ae0d19825c3 100644
--- a/php/test/Ice/binding/Test.ice
+++ b/php/test/Ice/binding/Test.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/php/test/Ice/binding/run.py b/php/test/Ice/binding/run.py
index 02f04424efa..bb34e7d35b7 100755
--- a/php/test/Ice/binding/run.py
+++ b/php/test/Ice/binding/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Ice/exceptions/Client.php b/php/test/Ice/exceptions/Client.php
index 98840fb92fc..94757432e9e 100644
--- a/php/test/Ice/exceptions/Client.php
+++ b/php/test/Ice/exceptions/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/exceptions/Test.ice b/php/test/Ice/exceptions/Test.ice
index 338fa16ddd2..bd696b64ea2 100644
--- a/php/test/Ice/exceptions/Test.ice
+++ b/php/test/Ice/exceptions/Test.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/php/test/Ice/exceptions/junk.php b/php/test/Ice/exceptions/junk.php
index a2531b06da5..ebf6061a897 100644
--- a/php/test/Ice/exceptions/junk.php
+++ b/php/test/Ice/exceptions/junk.php
@@ -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/php/test/Ice/exceptions/run.py b/php/test/Ice/exceptions/run.py
index aeab22f3a0a..76e256c3c6a 100755
--- a/php/test/Ice/exceptions/run.py
+++ b/php/test/Ice/exceptions/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.php")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/php/test/Ice/facets/Client.php b/php/test/Ice/facets/Client.php
index 44ffabffbaf..d7c37dc06c3 100644
--- a/php/test/Ice/facets/Client.php
+++ b/php/test/Ice/facets/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/facets/Test.ice b/php/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/php/test/Ice/facets/Test.ice
+++ b/php/test/Ice/facets/Test.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/php/test/Ice/facets/run.py b/php/test/Ice/facets/run.py
index 2eef80e9011..bb34e7d35b7 100755
--- a/php/test/Ice/facets/run.py
+++ b/php/test/Ice/facets/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Ice/inheritance/Client.php b/php/test/Ice/inheritance/Client.php
index e53a6876c7b..47d287a85b2 100644
--- a/php/test/Ice/inheritance/Client.php
+++ b/php/test/Ice/inheritance/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/inheritance/Test.ice b/php/test/Ice/inheritance/Test.ice
index 47289592a2d..116d652defd 100644
--- a/php/test/Ice/inheritance/Test.ice
+++ b/php/test/Ice/inheritance/Test.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/php/test/Ice/inheritance/run.py b/php/test/Ice/inheritance/run.py
index 74a707fc96b..bb34e7d35b7 100755
--- a/php/test/Ice/inheritance/run.py
+++ b/php/test/Ice/inheritance/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Ice/objects/Client.php b/php/test/Ice/objects/Client.php
index 877ba9c4e60..9b0a16ef86b 100644
--- a/php/test/Ice/objects/Client.php
+++ b/php/test/Ice/objects/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/objects/Test.ice b/php/test/Ice/objects/Test.ice
index c7e34ad3e94..69f693d7c0a 100644
--- a/php/test/Ice/objects/Test.ice
+++ b/php/test/Ice/objects/Test.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/php/test/Ice/objects/run.py b/php/test/Ice/objects/run.py
index 6a961a01ef6..bb34e7d35b7 100755
--- a/php/test/Ice/objects/run.py
+++ b/php/test/Ice/objects/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Ice/operations/Client.php b/php/test/Ice/operations/Client.php
index e7252134ff3..6706b56a124 100644
--- a/php/test/Ice/operations/Client.php
+++ b/php/test/Ice/operations/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/operations/Test.ice b/php/test/Ice/operations/Test.ice
index d7fd6510abf..3297cef3e89 100644
--- a/php/test/Ice/operations/Test.ice
+++ b/php/test/Ice/operations/Test.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/php/test/Ice/operations/run.py b/php/test/Ice/operations/run.py
index e9e27457d59..76e256c3c6a 100755
--- a/php/test/Ice/operations/run.py
+++ b/php/test/Ice/operations/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.php")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/php/test/Ice/proxy/Client.php b/php/test/Ice/proxy/Client.php
index 4e4abaca570..ecb63fb2f16 100644
--- a/php/test/Ice/proxy/Client.php
+++ b/php/test/Ice/proxy/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Ice/proxy/Test.ice b/php/test/Ice/proxy/Test.ice
index 6d61e81a25a..d3c4ec37ff8 100644
--- a/php/test/Ice/proxy/Test.ice
+++ b/php/test/Ice/proxy/Test.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/php/test/Ice/proxy/run.py b/php/test/Ice/proxy/run.py
index ff506c96978..76e256c3c6a 100755
--- a/php/test/Ice/proxy/run.py
+++ b/php/test/Ice/proxy/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.php")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/php/test/Ice/slicing/exceptions/Test.ice b/php/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/php/test/Ice/slicing/exceptions/Test.ice
+++ b/php/test/Ice/slicing/exceptions/Test.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/php/test/Ice/slicing/exceptions/run.py b/php/test/Ice/slicing/exceptions/run.py
index 7716a243f26..b85e4a1a4b3 100755
--- a/php/test/Ice/slicing/exceptions/run.py
+++ b/php/test/Ice/slicing/exceptions/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Ice/slicing/objects/ClientPrivate.ice b/php/test/Ice/slicing/objects/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/php/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/php/test/Ice/slicing/objects/ClientPrivate.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/php/test/Ice/slicing/objects/Forward.ice b/php/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/php/test/Ice/slicing/objects/Forward.ice
+++ b/php/test/Ice/slicing/objects/Forward.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/php/test/Ice/slicing/objects/Test.ice b/php/test/Ice/slicing/objects/Test.ice
index 0ce49886fc9..2fa79937f53 100644
--- a/php/test/Ice/slicing/objects/Test.ice
+++ b/php/test/Ice/slicing/objects/Test.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/php/test/Ice/slicing/objects/php.ini b/php/test/Ice/slicing/objects/php.ini
index ff5e8b55427..45d7ad539f4 100644
--- a/php/test/Ice/slicing/objects/php.ini
+++ b/php/test/Ice/slicing/objects/php.ini
@@ -1,2 +1,2 @@
-ice.slice=-I. Forward.ice ClientPrivate.ice
+ice.slice=-w -I. Forward.ice ClientPrivate.ice
display_startup_errors=1
diff --git a/php/test/Ice/slicing/objects/run.py b/php/test/Ice/slicing/objects/run.py
index de3773f6762..b85e4a1a4b3 100755
--- a/php/test/Ice/slicing/objects/run.py
+++ b/php/test/Ice/slicing/objects/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/php/test/Slice/keyword/Client.php b/php/test/Slice/keyword/Client.php
index fc72df1eaad..f50f28fc409 100644
--- a/php/test/Slice/keyword/Client.php
+++ b/php/test/Slice/keyword/Client.php
@@ -1,7 +1,7 @@
<?
// **********************************************************************
//
-// 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/php/test/Slice/keyword/Key.ice b/php/test/Slice/keyword/Key.ice
index 48ae1fb3b18..ea28c9397d5 100644
--- a/php/test/Slice/keyword/Key.ice
+++ b/php/test/Slice/keyword/Key.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/php/test/Slice/keyword/run.py b/php/test/Slice/keyword/run.py
index a92a5a7d39b..6312457ceef 100755
--- a/php/test/Slice/keyword/run.py
+++ b/php/test/Slice/keyword/run.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.
@@ -10,35 +10,21 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Slice", "keyword")
-
-testdir = os.path.dirname(os.path.abspath(__file__))
+testdir = os.getcwd()
client = os.path.join(testdir, "Client.php")
print "starting client...",
-clientPipe = TestUtil.startClient(client, "")
+clientProc = TestUtil.startClient(client)
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe)
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if os.path.exists("tmp.ini"):
- os.remove("tmp.ini")
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/py/CHANGES b/py/CHANGES
index 0708fec7709..f3324cf3189 100644
--- a/py/CHANGES
+++ b/py/CHANGES
@@ -357,7 +357,7 @@ Changes since version 3.0.1
Changes since version 3.0.0
---------------------------
-- Fixed a bug where Ice plugin command line options were not parsed.
+- Fixed a bug where Ice plug-in command line options were not parsed.
- Fixed a bug in the Slice parser that caused problems if an
included file contained white space in the file name.
diff --git a/py/Makefile b/py/Makefile
index f217a1784cf..dda8aa9622d 100644
--- a/py/Makefile
+++ b/py/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/py/Makefile.mak b/py/Makefile.mak
index 679d8afbb30..4d0ef93a2e7 100644
--- a/py/Makefile.mak
+++ b/py/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/py/allDemos.py b/py/allDemos.py
index b8b3855bdc6..5829ada88a7 100755
--- a/py/allDemos.py
+++ b/py/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/py/allTests.py b/py/allTests.py
index b603ffae41d..d7c78b41dd7 100755
--- a/py/allTests.py
+++ b/py/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
diff --git a/py/config/Make.rules b/py/config/Make.rules
index 6aeff2a7155..581fb676631 100644
--- a/py/config/Make.rules
+++ b/py/config/Make.rules
@@ -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/py/config/Make.rules.Darwin b/py/config/Make.rules.Darwin
index 065a0330aa6..3e1a038077c 100644
--- a/py/config/Make.rules.Darwin
+++ b/py/config/Make.rules.Darwin
@@ -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.
@@ -12,7 +12,7 @@
#
#
-# We require Python to be built as a Framework for the IcePy plugin.
+# We require Python to be built as a Framework for the IcePy plug-in.
#
ifneq ($(PYTHON_HOME),)
ifeq ($(shell test ! -f $(PYTHON_HOME)/Python && echo 0),0)
diff --git a/py/config/Make.rules.mak b/py/config/Make.rules.mak
index 74ec825d897..45337d19696 100644
--- a/py/config/Make.rules.mak
+++ b/py/config/Make.rules.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.
@@ -41,8 +41,12 @@ PYTHON_HOME = C:\Python25
# is located in a different location.
#
!if "$(CPP_COMPILER)" == "VC60" && "$(STLPORT_HOME)" == ""
+!if "$(THIRDPARTY_HOME)" != ""
+STLPORT_HOME = $(THIRDPARTY_HOME)
+!else
STLPORT_HOME = C:\Ice-$(VERSION)-ThirdParty-VC60
!endif
+!endif
#
# For VC80 and VC80 Express it is necessary to set the location of the
diff --git a/py/demo/Glacier2/callback/Callback.ice b/py/demo/Glacier2/callback/Callback.ice
index cf88e72cb89..f6eb62c7fc9 100644
--- a/py/demo/Glacier2/callback/Callback.ice
+++ b/py/demo/Glacier2/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/py/demo/Glacier2/callback/Client.py b/py/demo/Glacier2/callback/Client.py
index 5da3faf35a9..226daff7395 100755
--- a/py/demo/Glacier2/callback/Client.py
+++ b/py/demo/Glacier2/callback/Client.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/py/demo/Glacier2/callback/Server.py b/py/demo/Glacier2/callback/Server.py
index 14f2241196f..889d71b95c8 100755
--- a/py/demo/Glacier2/callback/Server.py
+++ b/py/demo/Glacier2/callback/Server.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/py/demo/Glacier2/callback/SessionServer.py b/py/demo/Glacier2/callback/SessionServer.py
index f4e79c5ebe2..0931a8096be 100755
--- a/py/demo/Glacier2/callback/SessionServer.py
+++ b/py/demo/Glacier2/callback/SessionServer.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/py/demo/Glacier2/callback/expect.py b/py/demo/Glacier2/callback/expect.py
index 1d3bca23f2d..fa2a2c64f20 100755
--- a/py/demo/Glacier2/callback/expect.py
+++ b/py/demo/Glacier2/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/py/demo/Ice/async/Client.py b/py/demo/Ice/async/Client.py
index 33550214814..00aec3329f9 100755
--- a/py/demo/Ice/async/Client.py
+++ b/py/demo/Ice/async/Client.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/py/demo/Ice/async/Hello.ice b/py/demo/Ice/async/Hello.ice
index 8eedeac8c76..f3bbe38d5b0 100644
--- a/py/demo/Ice/async/Hello.ice
+++ b/py/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/py/demo/Ice/async/Server.py b/py/demo/Ice/async/Server.py
index 94b26b6ae6f..5398c6927df 100755
--- a/py/demo/Ice/async/Server.py
+++ b/py/demo/Ice/async/Server.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/py/demo/Ice/async/expect.py b/py/demo/Ice/async/expect.py
index d6ea344c3ca..0109de4866f 100755
--- a/py/demo/Ice/async/expect.py
+++ b/py/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/py/demo/Ice/bidir/Callback.ice b/py/demo/Ice/bidir/Callback.ice
index 27946b05bf5..e3b812b06f6 100644
--- a/py/demo/Ice/bidir/Callback.ice
+++ b/py/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/py/demo/Ice/bidir/Client.py b/py/demo/Ice/bidir/Client.py
index 916431c60ad..52a96649001 100755
--- a/py/demo/Ice/bidir/Client.py
+++ b/py/demo/Ice/bidir/Client.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/py/demo/Ice/bidir/Server.py b/py/demo/Ice/bidir/Server.py
index 4d030437966..85611dcad91 100755
--- a/py/demo/Ice/bidir/Server.py
+++ b/py/demo/Ice/bidir/Server.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/py/demo/Ice/bidir/expect.py b/py/demo/Ice/bidir/expect.py
index 582bfe9e35f..acffb047d30 100755
--- a/py/demo/Ice/bidir/expect.py
+++ b/py/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/py/demo/Ice/callback/Callback.ice b/py/demo/Ice/callback/Callback.ice
index c6c54eea561..464d203ddf9 100644
--- a/py/demo/Ice/callback/Callback.ice
+++ b/py/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/py/demo/Ice/callback/Client.py b/py/demo/Ice/callback/Client.py
index ec81b51ce5f..394ce69ba08 100755
--- a/py/demo/Ice/callback/Client.py
+++ b/py/demo/Ice/callback/Client.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/py/demo/Ice/callback/Server.py b/py/demo/Ice/callback/Server.py
index 62c06708ded..bc1b3233b95 100755
--- a/py/demo/Ice/callback/Server.py
+++ b/py/demo/Ice/callback/Server.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/py/demo/Ice/callback/expect.py b/py/demo/Ice/callback/expect.py
index 4f0959657d5..92d0dbd96db 100755
--- a/py/demo/Ice/callback/expect.py
+++ b/py/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/py/demo/Ice/converter/Client.py b/py/demo/Ice/converter/Client.py
index c05f8f31ec8..94030f2322e 100755
--- a/py/demo/Ice/converter/Client.py
+++ b/py/demo/Ice/converter/Client.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.
@@ -97,7 +97,7 @@ try:
communicator1 = Ice.initialize(sys.argv, initData)
#
- # Clear plugin, so no converter
+ # Clear plug-in, so no converter
#
initData.properties.setProperty("Ice.Plugin.StringConverter", "")
communicator2 = Ice.initialize(sys.argv, initData)
diff --git a/py/demo/Ice/converter/Greet.ice b/py/demo/Ice/converter/Greet.ice
index 174faa5e1c2..888baa2cbf9 100644
--- a/py/demo/Ice/converter/Greet.ice
+++ b/py/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/py/demo/Ice/converter/README b/py/demo/Ice/converter/README
index a008b1b9d39..c07047da017 100644
--- a/py/demo/Ice/converter/README
+++ b/py/demo/Ice/converter/README
@@ -1,4 +1,4 @@
-This demo illustrates how to use a string converter plugin with Ice
+This demo illustrates how to use a string converter plug-in with Ice
for Python. In this demo, the client represents an application that
uses ISO-Latin-1 as its character set, while the server uses UTF-8.
diff --git a/py/demo/Ice/converter/Server.py b/py/demo/Ice/converter/Server.py
index 88f6d9fb9a2..f3b101c1b0c 100755
--- a/py/demo/Ice/converter/Server.py
+++ b/py/demo/Ice/converter/Server.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/py/demo/Ice/converter/expect.py b/py/demo/Ice/converter/expect.py
index 0900123a7a5..ca2c5c5bb9d 100755
--- a/py/demo/Ice/converter/expect.py
+++ b/py/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/py/demo/Ice/hello/Client.py b/py/demo/Ice/hello/Client.py
index d7c60aecc24..7a2b657770c 100755
--- a/py/demo/Ice/hello/Client.py
+++ b/py/demo/Ice/hello/Client.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/py/demo/Ice/hello/Hello.ice b/py/demo/Ice/hello/Hello.ice
index 11b714f01c8..bcaed6ad877 100644
--- a/py/demo/Ice/hello/Hello.ice
+++ b/py/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/py/demo/Ice/hello/Server.py b/py/demo/Ice/hello/Server.py
index 47e7a070736..c88afa82718 100755
--- a/py/demo/Ice/hello/Server.py
+++ b/py/demo/Ice/hello/Server.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/py/demo/Ice/hello/expect.py b/py/demo/Ice/hello/expect.py
index faa492cf983..2939ab8f224 100755
--- a/py/demo/Ice/hello/expect.py
+++ b/py/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.py --Ice.PrintAdapterReady')
+server = Util.spawn('Server.py --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
server.expect('.* ready')
-client = Util.spawn('Client.py')
+client = Util.spawn('Client.py --Ice.Warn.Connections=0')
client.expect('.*==>')
hello.run(client, server)
diff --git a/py/demo/Ice/latency/Client.py b/py/demo/Ice/latency/Client.py
index 070ae035460..91f5baff3b9 100755
--- a/py/demo/Ice/latency/Client.py
+++ b/py/demo/Ice/latency/Client.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/py/demo/Ice/latency/Latency.ice b/py/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/py/demo/Ice/latency/Latency.ice
+++ b/py/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/py/demo/Ice/latency/Server.py b/py/demo/Ice/latency/Server.py
index 7573dc6ab3a..d32991814f8 100755
--- a/py/demo/Ice/latency/Server.py
+++ b/py/demo/Ice/latency/Server.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/py/demo/Ice/latency/expect.py b/py/demo/Ice/latency/expect.py
index d1f542d1255..a95504f4330 100755
--- a/py/demo/Ice/latency/expect.py
+++ b/py/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/py/demo/Ice/minimal/Client.py b/py/demo/Ice/minimal/Client.py
index ed67bb276e6..d1b45a84a13 100755
--- a/py/demo/Ice/minimal/Client.py
+++ b/py/demo/Ice/minimal/Client.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/py/demo/Ice/minimal/Hello.ice b/py/demo/Ice/minimal/Hello.ice
index 71cff05a221..6cd2473fc45 100644
--- a/py/demo/Ice/minimal/Hello.ice
+++ b/py/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.
diff --git a/py/demo/Ice/minimal/Server.py b/py/demo/Ice/minimal/Server.py
index d5aaea47dd7..bb0ea18eb3d 100755
--- a/py/demo/Ice/minimal/Server.py
+++ b/py/demo/Ice/minimal/Server.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/py/demo/Ice/minimal/expect.py b/py/demo/Ice/minimal/expect.py
index c61b791ec61..99a91e242f2 100755
--- a/py/demo/Ice/minimal/expect.py
+++ b/py/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/py/demo/Ice/session/Client.py b/py/demo/Ice/session/Client.py
index 102d5fcf9b3..3e154e2a14d 100755
--- a/py/demo/Ice/session/Client.py
+++ b/py/demo/Ice/session/Client.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/py/demo/Ice/session/Server.py b/py/demo/Ice/session/Server.py
index 3d0c916b86f..853835d5782 100755
--- a/py/demo/Ice/session/Server.py
+++ b/py/demo/Ice/session/Server.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/py/demo/Ice/session/Session.ice b/py/demo/Ice/session/Session.ice
index 1ef9d6ece54..dc1ca46fb15 100644
--- a/py/demo/Ice/session/Session.ice
+++ b/py/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/py/demo/Ice/session/expect.py b/py/demo/Ice/session/expect.py
index 93dd93fd8db..2c956bf3829 100755
--- a/py/demo/Ice/session/expect.py
+++ b/py/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/py/demo/Ice/throughput/Client.py b/py/demo/Ice/throughput/Client.py
index 9a557757b40..11ff6f922ea 100755
--- a/py/demo/Ice/throughput/Client.py
+++ b/py/demo/Ice/throughput/Client.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/py/demo/Ice/throughput/Server.py b/py/demo/Ice/throughput/Server.py
index 8986a632358..2565fb9c905 100755
--- a/py/demo/Ice/throughput/Server.py
+++ b/py/demo/Ice/throughput/Server.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/py/demo/Ice/throughput/Throughput.ice b/py/demo/Ice/throughput/Throughput.ice
index 9fd7decd49d..f61512e4e7a 100644
--- a/py/demo/Ice/throughput/Throughput.ice
+++ b/py/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/py/demo/Ice/throughput/expect.py b/py/demo/Ice/throughput/expect.py
index f3d199c74cc..c1da9f34a28 100755
--- a/py/demo/Ice/throughput/expect.py
+++ b/py/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/py/demo/Ice/value/Client.py b/py/demo/Ice/value/Client.py
index 94ac920ac85..e5b89c773da 100755
--- a/py/demo/Ice/value/Client.py
+++ b/py/demo/Ice/value/Client.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/py/demo/Ice/value/Printer.py b/py/demo/Ice/value/Printer.py
index 68c6c2c647a..bd92c647c2c 100755
--- a/py/demo/Ice/value/Printer.py
+++ b/py/demo/Ice/value/Printer.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/py/demo/Ice/value/Server.py b/py/demo/Ice/value/Server.py
index cd4e4e160bd..4c0a366a77c 100755
--- a/py/demo/Ice/value/Server.py
+++ b/py/demo/Ice/value/Server.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/py/demo/Ice/value/Value.ice b/py/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/py/demo/Ice/value/Value.ice
+++ b/py/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/py/demo/Ice/value/expect.py b/py/demo/Ice/value/expect.py
index 5c2908e19ce..a9e3cd4d229 100755
--- a/py/demo/Ice/value/expect.py
+++ b/py/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.
diff --git a/py/demo/IceGrid/simple/Client.py b/py/demo/IceGrid/simple/Client.py
index a85d79fb303..2a07ef82471 100755
--- a/py/demo/IceGrid/simple/Client.py
+++ b/py/demo/IceGrid/simple/Client.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/py/demo/IceGrid/simple/Hello.ice b/py/demo/IceGrid/simple/Hello.ice
index b30e06e02fc..4b123a06908 100644
--- a/py/demo/IceGrid/simple/Hello.ice
+++ b/py/demo/IceGrid/simple/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/py/demo/IceGrid/simple/Server.py b/py/demo/IceGrid/simple/Server.py
index 55f93a09378..4760a35a8ba 100755
--- a/py/demo/IceGrid/simple/Server.py
+++ b/py/demo/IceGrid/simple/Server.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/py/demo/IceGrid/simple/application.xml b/py/demo/IceGrid/simple/application.xml
index 8f5bc098ef2..281b1a49a72 100644
--- a/py/demo/IceGrid/simple/application.xml
+++ b/py/demo/IceGrid/simple/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/py/demo/IceGrid/simple/application_with_replication.xml b/py/demo/IceGrid/simple/application_with_replication.xml
index 1dde092b862..e22cbda3090 100644
--- a/py/demo/IceGrid/simple/application_with_replication.xml
+++ b/py/demo/IceGrid/simple/application_with_replication.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/py/demo/IceGrid/simple/application_with_template.xml b/py/demo/IceGrid/simple/application_with_template.xml
index f01f5e10141..a4020d11d47 100644
--- a/py/demo/IceGrid/simple/application_with_template.xml
+++ b/py/demo/IceGrid/simple/application_with_template.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/py/demo/IceGrid/simple/expect.py b/py/demo/IceGrid/simple/expect.py
index d957ff598b6..b93a7e1b115 100755
--- a/py/demo/IceGrid/simple/expect.py
+++ b/py/demo/IceGrid/simple/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/py/demo/IceStorm/clock/Clock.ice b/py/demo/IceStorm/clock/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/py/demo/IceStorm/clock/Clock.ice
+++ b/py/demo/IceStorm/clock/Clock.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/py/demo/IceStorm/clock/Publisher.py b/py/demo/IceStorm/clock/Publisher.py
index 131476c52e2..f1d5eb67d8d 100755
--- a/py/demo/IceStorm/clock/Publisher.py
+++ b/py/demo/IceStorm/clock/Publisher.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/py/demo/IceStorm/clock/Subscriber.py b/py/demo/IceStorm/clock/Subscriber.py
index 3a9d283ade4..568469020db 100755
--- a/py/demo/IceStorm/clock/Subscriber.py
+++ b/py/demo/IceStorm/clock/Subscriber.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/py/demo/IceStorm/clock/expect.py b/py/demo/IceStorm/clock/expect.py
index 75e81d4be1e..1879ee50131 100755
--- a/py/demo/IceStorm/clock/expect.py
+++ b/py/demo/IceStorm/clock/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/py/demo/book/printer/Client.py b/py/demo/book/printer/Client.py
index f7eb87d372b..12cae4f6c1c 100755
--- a/py/demo/book/printer/Client.py
+++ b/py/demo/book/printer/Client.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/py/demo/book/printer/Printer.ice b/py/demo/book/printer/Printer.ice
index 3034d48d42e..f48d35d699f 100644
--- a/py/demo/book/printer/Printer.ice
+++ b/py/demo/book/printer/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/py/demo/book/printer/Server.py b/py/demo/book/printer/Server.py
index 6106adfa732..78a3728d1e1 100755
--- a/py/demo/book/printer/Server.py
+++ b/py/demo/book/printer/Server.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/py/demo/book/printer/expect.py b/py/demo/book/printer/expect.py
index a058bf62d47..5d8c1b27d7e 100755
--- a/py/demo/book/printer/expect.py
+++ b/py/demo/book/printer/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/py/demo/book/simple_filesystem/Client.py b/py/demo/book/simple_filesystem/Client.py
index e43544e2c69..d0442c64262 100755
--- a/py/demo/book/simple_filesystem/Client.py
+++ b/py/demo/book/simple_filesystem/Client.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/py/demo/book/simple_filesystem/Filesystem.ice b/py/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100644
--- a/py/demo/book/simple_filesystem/Filesystem.ice
+++ b/py/demo/book/simple_filesystem/Filesystem.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/py/demo/book/simple_filesystem/Server.py b/py/demo/book/simple_filesystem/Server.py
index feccab79534..ea408b2fbbd 100755
--- a/py/demo/book/simple_filesystem/Server.py
+++ b/py/demo/book/simple_filesystem/Server.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/py/demo/book/simple_filesystem/expect.py b/py/demo/book/simple_filesystem/expect.py
index 4bafe575e4b..af83e24e622 100755
--- a/py/demo/book/simple_filesystem/expect.py
+++ b/py/demo/book/simple_filesystem/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/py/makebindist.py b/py/makebindist.py
index 287157c598f..8ff686047cd 100755
--- a/py/makebindist.py
+++ b/py/makebindist.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/py/modules/IcePy/Communicator.cpp b/py/modules/IcePy/Communicator.cpp
index a8267dae0a0..223cfcde993 100644
--- a/py/modules/IcePy/Communicator.cpp
+++ b/py/modules/IcePy/Communicator.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.
@@ -183,7 +183,7 @@ communicatorInit(CommunicatorObject* self, PyObject* args, PyObject* /*kwds*/)
//
// Remaining command line options are passed to the communicator
- // as an argument vector in case they contain plugin properties.
+ // as an argument vector in case they contain plug-in properties.
//
int argc = static_cast<int>(seq.size());
char** argv = new char*[argc + 1];
@@ -453,6 +453,10 @@ communicatorStringToProxy(CommunicatorObject* self, PyObject* args)
try
{
proxy = (*self->communicator)->stringToProxy(str);
+ if(proxy)
+ {
+ return createProxy(proxy, *self->communicator);
+ }
}
catch(const Ice::Exception& ex)
{
@@ -460,7 +464,8 @@ communicatorStringToProxy(CommunicatorObject* self, PyObject* args)
return 0;
}
- return createProxy(proxy, *self->communicator);
+ Py_INCREF(Py_None);
+ return Py_None;
}
#ifdef WIN32
@@ -515,6 +520,10 @@ communicatorPropertyToProxy(CommunicatorObject* self, PyObject* args)
try
{
proxy = (*self->communicator)->propertyToProxy(str);
+ if(proxy)
+ {
+ return createProxy(proxy, *self->communicator);
+ }
}
catch(const Ice::Exception& ex)
{
@@ -522,7 +531,8 @@ communicatorPropertyToProxy(CommunicatorObject* self, PyObject* args)
return 0;
}
- return createProxy(proxy, *self->communicator);
+ Py_INCREF(Py_None);
+ return Py_None;
}
#ifdef WIN32
@@ -857,7 +867,8 @@ communicatorGetImplicitContext(CommunicatorObject* self)
if(implicitContext == 0)
{
- return 0;
+ Py_INCREF(Py_None);
+ return Py_None;
}
return createImplicitContext(implicitContext);
diff --git a/py/modules/IcePy/Communicator.h b/py/modules/IcePy/Communicator.h
index 41ed55df5b6..39765660071 100644
--- a/py/modules/IcePy/Communicator.h
+++ b/py/modules/IcePy/Communicator.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/py/modules/IcePy/Config.h b/py/modules/IcePy/Config.h
index 962d72ecbb3..c316f0a0b81 100644
--- a/py/modules/IcePy/Config.h
+++ b/py/modules/IcePy/Config.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/py/modules/IcePy/Connection.cpp b/py/modules/IcePy/Connection.cpp
index 3d6ddf0f1e8..3bf3e761639 100644
--- a/py/modules/IcePy/Connection.cpp
+++ b/py/modules/IcePy/Connection.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/py/modules/IcePy/Connection.h b/py/modules/IcePy/Connection.h
index daf47d9af2e..6ed5ed112a8 100644
--- a/py/modules/IcePy/Connection.h
+++ b/py/modules/IcePy/Connection.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/py/modules/IcePy/Current.cpp b/py/modules/IcePy/Current.cpp
index 455c17f6e5e..3d5b8159a47 100644
--- a/py/modules/IcePy/Current.cpp
+++ b/py/modules/IcePy/Current.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/py/modules/IcePy/Current.h b/py/modules/IcePy/Current.h
index 89f63d11805..a8292c87fcb 100644
--- a/py/modules/IcePy/Current.h
+++ b/py/modules/IcePy/Current.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/py/modules/IcePy/ImplicitContext.cpp b/py/modules/IcePy/ImplicitContext.cpp
index a06d56ecea8..114ffeeeeb8 100644
--- a/py/modules/IcePy/ImplicitContext.cpp
+++ b/py/modules/IcePy/ImplicitContext.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/py/modules/IcePy/ImplicitContext.h b/py/modules/IcePy/ImplicitContext.h
index d251a92f0d9..e678b9422fb 100644
--- a/py/modules/IcePy/ImplicitContext.h
+++ b/py/modules/IcePy/ImplicitContext.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/py/modules/IcePy/Init.cpp b/py/modules/IcePy/Init.cpp
index 78578402fe5..2fb191f7d8b 100644
--- a/py/modules/IcePy/Init.cpp
+++ b/py/modules/IcePy/Init.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/py/modules/IcePy/Logger.cpp b/py/modules/IcePy/Logger.cpp
index 0fd41e46cd3..ff556c3cd29 100644
--- a/py/modules/IcePy/Logger.cpp
+++ b/py/modules/IcePy/Logger.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/py/modules/IcePy/Logger.h b/py/modules/IcePy/Logger.h
index 224dcc6be97..9e69f5dcab7 100644
--- a/py/modules/IcePy/Logger.h
+++ b/py/modules/IcePy/Logger.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/py/modules/IcePy/Makefile b/py/modules/IcePy/Makefile
index 71792595c7f..b6425902a36 100644
--- a/py/modules/IcePy/Makefile
+++ b/py/modules/IcePy/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/py/modules/IcePy/Makefile.mak b/py/modules/IcePy/Makefile.mak
index 726fc475f9a..4fbb4b28c50 100644
--- a/py/modules/IcePy/Makefile.mak
+++ b/py/modules/IcePy/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/py/modules/IcePy/ObjectAdapter.cpp b/py/modules/IcePy/ObjectAdapter.cpp
index 22b4258b81e..efd8b2164b2 100644
--- a/py/modules/IcePy/ObjectAdapter.cpp
+++ b/py/modules/IcePy/ObjectAdapter.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/py/modules/IcePy/ObjectAdapter.h b/py/modules/IcePy/ObjectAdapter.h
index cde8024035d..32b582fc3ae 100644
--- a/py/modules/IcePy/ObjectAdapter.h
+++ b/py/modules/IcePy/ObjectAdapter.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/py/modules/IcePy/ObjectFactory.cpp b/py/modules/IcePy/ObjectFactory.cpp
index 9f5043fc5ab..cfc87158368 100644
--- a/py/modules/IcePy/ObjectFactory.cpp
+++ b/py/modules/IcePy/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/py/modules/IcePy/ObjectFactory.h b/py/modules/IcePy/ObjectFactory.h
index d335a53ac5c..b4c2c6348c0 100644
--- a/py/modules/IcePy/ObjectFactory.h
+++ b/py/modules/IcePy/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/py/modules/IcePy/Operation.cpp b/py/modules/IcePy/Operation.cpp
index a112e6273d9..9dfaf051504 100644
--- a/py/modules/IcePy/Operation.cpp
+++ b/py/modules/IcePy/Operation.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.
@@ -1127,8 +1127,15 @@ IcePy::SyncTypedInvocation::invoke(PyObject* args)
else
{
PyObject* ret = PyTuple_GET_ITEM(results.get(), 0);
- Py_INCREF(ret);
- return ret;
+ if(!ret)
+ {
+ return 0;
+ }
+ else
+ {
+ Py_INCREF(ret);
+ return ret;
+ }
}
}
}
diff --git a/py/modules/IcePy/Operation.h b/py/modules/IcePy/Operation.h
index c2cddc86be1..89a78c1f568 100644
--- a/py/modules/IcePy/Operation.h
+++ b/py/modules/IcePy/Operation.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/py/modules/IcePy/Properties.cpp b/py/modules/IcePy/Properties.cpp
index 8f237a242c9..64fc441b8b8 100644
--- a/py/modules/IcePy/Properties.cpp
+++ b/py/modules/IcePy/Properties.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/py/modules/IcePy/Properties.h b/py/modules/IcePy/Properties.h
index 13e2ae3d9fa..40651693fc6 100644
--- a/py/modules/IcePy/Properties.h
+++ b/py/modules/IcePy/Properties.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/py/modules/IcePy/Proxy.cpp b/py/modules/IcePy/Proxy.cpp
index 451ed2ab2b2..40128d8756d 100644
--- a/py/modules/IcePy/Proxy.cpp
+++ b/py/modules/IcePy/Proxy.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.
@@ -2152,6 +2152,8 @@ IcePy::initProxy(PyObject* module)
PyObject*
IcePy::createProxy(const Ice::ObjectPrx& proxy, const Ice::CommunicatorPtr& communicator, PyObject* type)
{
+ assert(proxy);
+
if(!type)
{
PyTypeObject* proxyType = &ProxyType; // Necessary to prevent GCC's strict-alias warnings.
diff --git a/py/modules/IcePy/Proxy.h b/py/modules/IcePy/Proxy.h
index b82bba36cda..0d79395f2c0 100644
--- a/py/modules/IcePy/Proxy.h
+++ b/py/modules/IcePy/Proxy.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/py/modules/IcePy/Slice.cpp b/py/modules/IcePy/Slice.cpp
index 51d9067b97f..119fb3030c3 100644
--- a/py/modules/IcePy/Slice.cpp
+++ b/py/modules/IcePy/Slice.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/py/modules/IcePy/Slice.h b/py/modules/IcePy/Slice.h
index cde2a45cd89..c6d091f762d 100644
--- a/py/modules/IcePy/Slice.h
+++ b/py/modules/IcePy/Slice.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/py/modules/IcePy/ThreadNotification.cpp b/py/modules/IcePy/ThreadNotification.cpp
index 2f8bf48aa43..e07d2882d81 100644
--- a/py/modules/IcePy/ThreadNotification.cpp
+++ b/py/modules/IcePy/ThreadNotification.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/py/modules/IcePy/ThreadNotification.h b/py/modules/IcePy/ThreadNotification.h
index 68de40ee085..466e7dbdc53 100644
--- a/py/modules/IcePy/ThreadNotification.h
+++ b/py/modules/IcePy/ThreadNotification.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/py/modules/IcePy/Types.cpp b/py/modules/IcePy/Types.cpp
index 42294cfee75..8acbde2cea8 100644
--- a/py/modules/IcePy/Types.cpp
+++ b/py/modules/IcePy/Types.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/py/modules/IcePy/Types.h b/py/modules/IcePy/Types.h
index 2dfa9aceabc..d10284f9506 100644
--- a/py/modules/IcePy/Types.h
+++ b/py/modules/IcePy/Types.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/py/modules/IcePy/Util.cpp b/py/modules/IcePy/Util.cpp
index c73fa60afbc..08d294c660e 100644
--- a/py/modules/IcePy/Util.cpp
+++ b/py/modules/IcePy/Util.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/py/modules/IcePy/Util.h b/py/modules/IcePy/Util.h
index 9ffe0ba1510..a0fab491dbf 100644
--- a/py/modules/IcePy/Util.h
+++ b/py/modules/IcePy/Util.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/py/modules/Makefile b/py/modules/Makefile
index 6a74363710f..0c62606d87e 100644
--- a/py/modules/Makefile
+++ b/py/modules/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/py/modules/Makefile.mak b/py/modules/Makefile.mak
index 58f52befacb..e0ba93ec69f 100644
--- a/py/modules/Makefile.mak
+++ b/py/modules/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/py/python/Ice.py b/py/python/Ice.py
index 1682b85b302..864315974f1 100644
--- a/py/python/Ice.py
+++ b/py/python/Ice.py
@@ -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,20 +13,6 @@ Ice module
import sys, exceptions, string, imp, os, threading, warnings, datetime
-try:
- import dl
- #
- # This is necessary for proper operation of Ice plug-ins.
- # Without it, RTTI problems can occur.
- #
- sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
-except ImportError:
- # If the dl module is not available and we're running on a linux
- # platform, use the hard coded value of RTLD_NOW|RTLD_GLOBAL.
- if sys.platform.startswith("linux"):
- sys.setdlopenflags(258)
- pass
-
#
# Import the Python extension.
#
@@ -302,7 +288,11 @@ class CommunicatorI(Communicator):
return self._impl.getDefaultContext()
def getImplicitContext(self):
- return ImplicitContextI(self._impl.getImplicitContext())
+ context = self._impl.getImplicitContext()
+ if context == None:
+ return None;
+ else:
+ return ImplicitContextI(context)
def getProperties(self):
properties = self._impl.getProperties()
diff --git a/py/python/Makefile b/py/python/Makefile
index 8f25055b161..3ed5c933f99 100644
--- a/py/python/Makefile
+++ b/py/python/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/py/python/Makefile.mak b/py/python/Makefile.mak
index c940fa12fea..997549c0cc0 100644
--- a/py/python/Makefile.mak
+++ b/py/python/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/py/test/Ice/adapterDeactivation/AllTests.py b/py/test/Ice/adapterDeactivation/AllTests.py
index af5446614c2..1ce76ebc10f 100644
--- a/py/test/Ice/adapterDeactivation/AllTests.py
+++ b/py/test/Ice/adapterDeactivation/AllTests.py
@@ -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/py/test/Ice/adapterDeactivation/Client.py b/py/test/Ice/adapterDeactivation/Client.py
index 1abcd543953..330d8b9da35 100755
--- a/py/test/Ice/adapterDeactivation/Client.py
+++ b/py/test/Ice/adapterDeactivation/Client.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/py/test/Ice/adapterDeactivation/Collocated.py b/py/test/Ice/adapterDeactivation/Collocated.py
index fa8e650c8c2..398be7dce3a 100755
--- a/py/test/Ice/adapterDeactivation/Collocated.py
+++ b/py/test/Ice/adapterDeactivation/Collocated.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/py/test/Ice/adapterDeactivation/Server.py b/py/test/Ice/adapterDeactivation/Server.py
index 563c4bfd2eb..ed1d17c1ae2 100755
--- a/py/test/Ice/adapterDeactivation/Server.py
+++ b/py/test/Ice/adapterDeactivation/Server.py
@@ -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/py/test/Ice/adapterDeactivation/Test.ice b/py/test/Ice/adapterDeactivation/Test.ice
index f2d31eb2a9f..d8ad4c7f1f2 100644
--- a/py/test/Ice/adapterDeactivation/Test.ice
+++ b/py/test/Ice/adapterDeactivation/Test.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/py/test/Ice/adapterDeactivation/TestI.py b/py/test/Ice/adapterDeactivation/TestI.py
index 11979d0661b..2dbcc64c55d 100644
--- a/py/test/Ice/adapterDeactivation/TestI.py
+++ b/py/test/Ice/adapterDeactivation/TestI.py
@@ -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/py/test/Ice/adapterDeactivation/run.py b/py/test/Ice/adapterDeactivation/run.py
index a094c546746..545214a74c7 100755
--- a/py/test/Ice/adapterDeactivation/run.py
+++ b/py/test/Ice/adapterDeactivation/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "adapterDeactivation")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/py/test/Ice/application/Client.py b/py/test/Ice/application/Client.py
index 6dcef0664bc..f932bf7bdb9 100755
--- a/py/test/Ice/application/Client.py
+++ b/py/test/Ice/application/Client.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/py/test/Ice/binding/AllTests.py b/py/test/Ice/binding/AllTests.py
index fb55a3127c9..f206fa7b9ed 100644
--- a/py/test/Ice/binding/AllTests.py
+++ b/py/test/Ice/binding/AllTests.py
@@ -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/py/test/Ice/binding/Client.py b/py/test/Ice/binding/Client.py
index 3ddbb1cf5d1..b806752c0ea 100755
--- a/py/test/Ice/binding/Client.py
+++ b/py/test/Ice/binding/Client.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/py/test/Ice/binding/Server.py b/py/test/Ice/binding/Server.py
index 412d5c18eb8..58ccfe49715 100755
--- a/py/test/Ice/binding/Server.py
+++ b/py/test/Ice/binding/Server.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/py/test/Ice/binding/Test.ice b/py/test/Ice/binding/Test.ice
index 5baef2fb7d4..40783e4535c 100644
--- a/py/test/Ice/binding/Test.ice
+++ b/py/test/Ice/binding/Test.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/py/test/Ice/binding/TestI.py b/py/test/Ice/binding/TestI.py
index e08afd40714..a67b8f9e911 100644
--- a/py/test/Ice/binding/TestI.py
+++ b/py/test/Ice/binding/TestI.py
@@ -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/py/test/Ice/binding/run.py b/py/test/Ice/binding/run.py
index a0304394366..bb34e7d35b7 100755
--- a/py/test/Ice/binding/run.py
+++ b/py/test/Ice/binding/run.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.
@@ -10,23 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-
-#
-# Need to use mixedClientServerTest instead of clientServerTest, because the
-# server makes an invocation on a local object and therefore requires the
-# client-side SSL configuration.
-#
-TestUtil.mixedClientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/blobject/Client.py b/py/test/Ice/blobject/Client.py
index 33fd79c3f94..306b510102b 100755
--- a/py/test/Ice/blobject/Client.py
+++ b/py/test/Ice/blobject/Client.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/py/test/Ice/blobject/RouterI.py b/py/test/Ice/blobject/RouterI.py
index 018dfd4b1c3..38ed8fb1f3f 100644
--- a/py/test/Ice/blobject/RouterI.py
+++ b/py/test/Ice/blobject/RouterI.py
@@ -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/py/test/Ice/blobject/Server.py b/py/test/Ice/blobject/Server.py
index 2db1fb2ea7b..e6f7c58bbe2 100755
--- a/py/test/Ice/blobject/Server.py
+++ b/py/test/Ice/blobject/Server.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/py/test/Ice/blobject/Test.ice b/py/test/Ice/blobject/Test.ice
index 84f1ade5e32..dfec8b71a63 100644
--- a/py/test/Ice/blobject/Test.ice
+++ b/py/test/Ice/blobject/Test.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/py/test/Ice/blobject/run.py b/py/test/Ice/blobject/run.py
index aac96096db2..03898f6ba88 100755
--- a/py/test/Ice/blobject/run.py
+++ b/py/test/Ice/blobject/run.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.
@@ -15,18 +15,14 @@ if sys.version_info[1] == 3 and sys.platform != 'darwin':
print "Test skipped due to python 2.3"
sys.exit(0)
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "blobject")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/checksum/AllTests.py b/py/test/Ice/checksum/AllTests.py
index 72de71616e9..08ca0071bec 100644
--- a/py/test/Ice/checksum/AllTests.py
+++ b/py/test/Ice/checksum/AllTests.py
@@ -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/py/test/Ice/checksum/CTypes.ice b/py/test/Ice/checksum/CTypes.ice
index ea5e644a755..f9f05a43e4c 100644
--- a/py/test/Ice/checksum/CTypes.ice
+++ b/py/test/Ice/checksum/CTypes.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/py/test/Ice/checksum/Client.py b/py/test/Ice/checksum/Client.py
index 11b4d7f38cb..42fbb2d4d5a 100755
--- a/py/test/Ice/checksum/Client.py
+++ b/py/test/Ice/checksum/Client.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/py/test/Ice/checksum/STypes.ice b/py/test/Ice/checksum/STypes.ice
index 84e581c360d..241bb1659c6 100644
--- a/py/test/Ice/checksum/STypes.ice
+++ b/py/test/Ice/checksum/STypes.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/py/test/Ice/checksum/Server.py b/py/test/Ice/checksum/Server.py
index 36f1f490d45..91bb564f59a 100755
--- a/py/test/Ice/checksum/Server.py
+++ b/py/test/Ice/checksum/Server.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/py/test/Ice/checksum/Test.ice b/py/test/Ice/checksum/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/py/test/Ice/checksum/Test.ice
+++ b/py/test/Ice/checksum/Test.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/py/test/Ice/checksum/run.py b/py/test/Ice/checksum/run.py
index 65fc9c9621b..bb34e7d35b7 100755
--- a/py/test/Ice/checksum/run.py
+++ b/py/test/Ice/checksum/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "checksum")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/custom/AllTests.py b/py/test/Ice/custom/AllTests.py
index 6cf5eba9184..57b4d6369ed 100644
--- a/py/test/Ice/custom/AllTests.py
+++ b/py/test/Ice/custom/AllTests.py
@@ -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/py/test/Ice/custom/Client.py b/py/test/Ice/custom/Client.py
index 34f5c7f822c..9a2c5accadf 100755
--- a/py/test/Ice/custom/Client.py
+++ b/py/test/Ice/custom/Client.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/py/test/Ice/custom/Server.py b/py/test/Ice/custom/Server.py
index 7c74dcf52a6..718cb7df415 100755
--- a/py/test/Ice/custom/Server.py
+++ b/py/test/Ice/custom/Server.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/py/test/Ice/custom/Test.ice b/py/test/Ice/custom/Test.ice
index 7960dcb3fc1..6c259d0ee69 100644
--- a/py/test/Ice/custom/Test.ice
+++ b/py/test/Ice/custom/Test.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/py/test/Ice/custom/run.py b/py/test/Ice/custom/run.py
index c22501a2c9b..bb34e7d35b7 100755
--- a/py/test/Ice/custom/run.py
+++ b/py/test/Ice/custom/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "custom")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/exceptions/AllTests.py b/py/test/Ice/exceptions/AllTests.py
index 535771b3481..5e241a2761a 100644
--- a/py/test/Ice/exceptions/AllTests.py
+++ b/py/test/Ice/exceptions/AllTests.py
@@ -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/py/test/Ice/exceptions/Client.py b/py/test/Ice/exceptions/Client.py
index 775d7a06658..5c009466e11 100755
--- a/py/test/Ice/exceptions/Client.py
+++ b/py/test/Ice/exceptions/Client.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/py/test/Ice/exceptions/Collocated.py b/py/test/Ice/exceptions/Collocated.py
index 773e9e57927..5b873dd9ce8 100755
--- a/py/test/Ice/exceptions/Collocated.py
+++ b/py/test/Ice/exceptions/Collocated.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/py/test/Ice/exceptions/Server.py b/py/test/Ice/exceptions/Server.py
index 32892b87638..b1d5c499bc0 100755
--- a/py/test/Ice/exceptions/Server.py
+++ b/py/test/Ice/exceptions/Server.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/py/test/Ice/exceptions/ServerAMD.py b/py/test/Ice/exceptions/ServerAMD.py
index ef7d3f42bef..3eaa1dfa327 100755
--- a/py/test/Ice/exceptions/ServerAMD.py
+++ b/py/test/Ice/exceptions/ServerAMD.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/py/test/Ice/exceptions/Test.ice b/py/test/Ice/exceptions/Test.ice
index 6dabee04667..37f9b6fb8ae 100644
--- a/py/test/Ice/exceptions/Test.ice
+++ b/py/test/Ice/exceptions/Test.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/py/test/Ice/exceptions/TestAMD.ice b/py/test/Ice/exceptions/TestAMD.ice
index fdf46b0ae5e..c5520cdf66a 100644
--- a/py/test/Ice/exceptions/TestAMD.ice
+++ b/py/test/Ice/exceptions/TestAMD.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/py/test/Ice/exceptions/TestI.py b/py/test/Ice/exceptions/TestI.py
index bd064a9222a..08953a39bd5 100644
--- a/py/test/Ice/exceptions/TestI.py
+++ b/py/test/Ice/exceptions/TestI.py
@@ -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/py/test/Ice/exceptions/run.py b/py/test/Ice/exceptions/run.py
index f5153ac8666..cbcf10f321e 100755
--- a/py/test/Ice/exceptions/run.py
+++ b/py/test/Ice/exceptions/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
+TestUtil.clientServerTest(server="ServerAMD.py")
print "tests with collocated server."
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.collocatedTest()
diff --git a/py/test/Ice/facets/AllTests.py b/py/test/Ice/facets/AllTests.py
index 7de4af6358d..78a665e2687 100644
--- a/py/test/Ice/facets/AllTests.py
+++ b/py/test/Ice/facets/AllTests.py
@@ -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/py/test/Ice/facets/Client.py b/py/test/Ice/facets/Client.py
index 5245c80d072..f018f00295a 100755
--- a/py/test/Ice/facets/Client.py
+++ b/py/test/Ice/facets/Client.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/py/test/Ice/facets/Collocated.py b/py/test/Ice/facets/Collocated.py
index d91bf2acebc..1bcb1fb959f 100755
--- a/py/test/Ice/facets/Collocated.py
+++ b/py/test/Ice/facets/Collocated.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/py/test/Ice/facets/Server.py b/py/test/Ice/facets/Server.py
index 2d7c49b7c2c..f2aa1777029 100755
--- a/py/test/Ice/facets/Server.py
+++ b/py/test/Ice/facets/Server.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/py/test/Ice/facets/Test.ice b/py/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/py/test/Ice/facets/Test.ice
+++ b/py/test/Ice/facets/Test.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/py/test/Ice/facets/TestI.py b/py/test/Ice/facets/TestI.py
index 8f3db9e2a1e..d787e9a6a3c 100644
--- a/py/test/Ice/facets/TestI.py
+++ b/py/test/Ice/facets/TestI.py
@@ -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/py/test/Ice/facets/run.py b/py/test/Ice/facets/run.py
index b3afa6aeb5f..545214a74c7 100755
--- a/py/test/Ice/facets/run.py
+++ b/py/test/Ice/facets/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/py/test/Ice/faultTolerance/AllTests.py b/py/test/Ice/faultTolerance/AllTests.py
index 57defa3e6c2..1c8d7dfc021 100644
--- a/py/test/Ice/faultTolerance/AllTests.py
+++ b/py/test/Ice/faultTolerance/AllTests.py
@@ -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/py/test/Ice/faultTolerance/Client.py b/py/test/Ice/faultTolerance/Client.py
index 1e71c934eea..29dbc5cd025 100755
--- a/py/test/Ice/faultTolerance/Client.py
+++ b/py/test/Ice/faultTolerance/Client.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/py/test/Ice/faultTolerance/Server.py b/py/test/Ice/faultTolerance/Server.py
index 5d6b01c5ae0..d9c22820ef5 100755
--- a/py/test/Ice/faultTolerance/Server.py
+++ b/py/test/Ice/faultTolerance/Server.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/py/test/Ice/faultTolerance/Test.ice b/py/test/Ice/faultTolerance/Test.ice
index 2b22a369bb5..fc1881aaf43 100644
--- a/py/test/Ice/faultTolerance/Test.ice
+++ b/py/test/Ice/faultTolerance/Test.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/py/test/Ice/faultTolerance/run.py b/py/test/Ice/faultTolerance/run.py
index 5191ac0b503..a7d9403143f 100755
--- a/py/test/Ice/faultTolerance/run.py
+++ b/py/test/Ice/faultTolerance/run.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.
@@ -10,50 +10,36 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "faultTolerance")
-testdir = os.path.join(toplevel, "py", "test", name)
-
-cwd = os.getcwd()
-os.chdir(testdir)
-
-server = "Server.py"
-client = "Client.py"
+server = os.path.join(os.getcwd(), "Server.py")
+client = os.path.join(os.getcwd(), "Client.py")
num = 12
base = 12340
+serverProc = []
for i in range(0, num):
print "starting server #%d..." % (i + 1),
sys.stdout.flush()
- serverPipe = TestUtil.startServer(server, "%d" % (base + i))
- TestUtil.getServerPid(serverPipe)
- TestUtil.getAdapterReady(serverPipe)
+ serverProc.append(TestUtil.startServer(server, "%d" % (base + i)))
print "ok"
ports = ""
for i in range(0, num):
ports = "%s %d" % (ports, base + i)
print "starting client...",
-clientPipe = TestUtil.startClient(client, ports)
+clientProc = TestUtil.startClient(client, ports)
print "ok"
-TestUtil.printOutputFromPipe(clientPipe)
-clientStatus = TestUtil.closePipe(clientPipe)
-if clientStatus:
- TestUtil.killServers()
-
-if clientStatus or TestUtil.serverStatus():
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
+for p in serverProc:
+ p.waitTestSuccess()
diff --git a/py/test/Ice/inheritance/AllTests.py b/py/test/Ice/inheritance/AllTests.py
index 0f31d177869..ccf6f35e645 100644
--- a/py/test/Ice/inheritance/AllTests.py
+++ b/py/test/Ice/inheritance/AllTests.py
@@ -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/py/test/Ice/inheritance/Client.py b/py/test/Ice/inheritance/Client.py
index 2ea77ac8141..289b2e7339b 100755
--- a/py/test/Ice/inheritance/Client.py
+++ b/py/test/Ice/inheritance/Client.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/py/test/Ice/inheritance/Collocated.py b/py/test/Ice/inheritance/Collocated.py
index 647807b8fb5..2b4a4e5d614 100755
--- a/py/test/Ice/inheritance/Collocated.py
+++ b/py/test/Ice/inheritance/Collocated.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/py/test/Ice/inheritance/Server.py b/py/test/Ice/inheritance/Server.py
index b02542b73b5..2c1c4290591 100755
--- a/py/test/Ice/inheritance/Server.py
+++ b/py/test/Ice/inheritance/Server.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/py/test/Ice/inheritance/Test.ice b/py/test/Ice/inheritance/Test.ice
index 47289592a2d..116d652defd 100644
--- a/py/test/Ice/inheritance/Test.ice
+++ b/py/test/Ice/inheritance/Test.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/py/test/Ice/inheritance/TestI.py b/py/test/Ice/inheritance/TestI.py
index f0472fdc1ed..57987efef8f 100644
--- a/py/test/Ice/inheritance/TestI.py
+++ b/py/test/Ice/inheritance/TestI.py
@@ -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/py/test/Ice/inheritance/run.py b/py/test/Ice/inheritance/run.py
index 7ecff0e5ae5..545214a74c7 100755
--- a/py/test/Ice/inheritance/run.py
+++ b/py/test/Ice/inheritance/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/py/test/Ice/location/AllTests.py b/py/test/Ice/location/AllTests.py
index 37de5f96f37..7f7d4ee8724 100644
--- a/py/test/Ice/location/AllTests.py
+++ b/py/test/Ice/location/AllTests.py
@@ -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/py/test/Ice/location/Client.py b/py/test/Ice/location/Client.py
index ae305aa3c48..9e12066bed6 100755
--- a/py/test/Ice/location/Client.py
+++ b/py/test/Ice/location/Client.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/py/test/Ice/location/Server.py b/py/test/Ice/location/Server.py
index 7b76f74d9f0..ebcbd95df2d 100755
--- a/py/test/Ice/location/Server.py
+++ b/py/test/Ice/location/Server.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.
@@ -19,17 +19,25 @@ if not slice_dir:
Ice.loadSlice('-I' + slice_dir + ' Test.ice')
import Test
-class ServerLocatorRegistry(Ice.LocatorRegistry):
+class ServerLocatorRegistry(Test.TestLocatorRegistry):
def __init__(self):
self._adapters = {}
self._objects = {}
def setAdapterDirectProxy_async(self, cb, adapter, obj, current=None):
- self._adapters[adapter] = obj
+ if obj:
+ self._adapters[adapter] = obj
+ else:
+ self._adapters.pop(adapter)
cb.ice_response()
def setReplicatedAdapterDirectProxy_async(self, cb, adapter, replica, obj, current=None):
- self._adapters[adapter] = obj
+ if obj:
+ self._adapters[adapter] = obj
+ self._adapters[replica] = obj
+ else:
+ self._adapters.pop(adapter)
+ self._adapters.pop(replica)
cb.ice_response()
def setServerProcessProxy_async(self, id, proxy, current=None):
@@ -48,21 +56,27 @@ class ServerLocatorRegistry(Ice.LocatorRegistry):
raise Ice.ObjectNotFoundException()
return self._objects[id]
-class ServerLocator(Ice.Locator):
+class ServerLocator(Test.TestLocator):
def __init__(self, registry, registryPrx):
self._registry = registry
self._registryPrx = registryPrx
+ self._requestCount = 0
def findObjectById_async(self, response, id, current=None):
+ self._requestCount += 1
response.ice_response(self._registry.getObject(id))
def findAdapterById_async(self, response, id, current=None):
+ self._requestCount += 1
response.ice_response(self._registry.getAdapter(id))
def getRegistry(self, current=None):
return self._registryPrx
+ def getRequestCount(self, current=None):
+ return self._requestCount
+
class ServerManagerI(Test.ServerManager):
def __init__(self, adapter, registry, initData):
self._adapter = adapter
@@ -71,6 +85,7 @@ class ServerManagerI(Test.ServerManager):
self._initData = initData
self._initData.properties.setProperty("TestAdapter.Endpoints", "default")
self._initData.properties.setProperty("TestAdapter.AdapterId", "TestAdapter")
+ self._initData.properties.setProperty("TestAdapter.ReplicaGroupId", "ReplicatedAdapter")
self._initData.properties.setProperty("TestAdapter2.Endpoints", "default")
self._initData.properties.setProperty("TestAdapter2.AdapterId", "TestAdapter2")
@@ -97,6 +112,7 @@ class ServerManagerI(Test.ServerManager):
object = TestI(adapter, adapter2, self._registry)
self._registry.addObject(adapter.add(object, communicator.stringToIdentity("test")))
self._registry.addObject(adapter.add(object, communicator.stringToIdentity("test2")))
+ adapter.add(object, communicator.stringToIdentity("test3"))
adapter.activate()
adapter2.activate()
@@ -121,6 +137,9 @@ class TestI(Test.TestIntf):
self._adapter1.getCommunicator().shutdown()
def getHello(self, current=None):
+ return Test.HelloPrx.uncheckedCast(self._adapter1.createIndirectProxy(communicator.stringToIdentity("hello")))
+
+ def getReplicatedHello(self, current=None):
return Test.HelloPrx.uncheckedCast(self._adapter1.createProxy(communicator.stringToIdentity("hello")))
def migrateHello(self, current=None):
diff --git a/py/test/Ice/location/Test.ice b/py/test/Ice/location/Test.ice
index b0203fbe492..ff667e4a8b1 100644
--- a/py/test/Ice/location/Test.ice
+++ b/py/test/Ice/location/Test.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.
@@ -23,6 +23,14 @@ interface TestLocatorRegistry extends ::Ice::LocatorRegistry
void addObject(Object* obj);
};
+interface TestLocator extends ::Ice::Locator
+{
+ //
+ // Returns the number of request on the locator interface.
+ //
+ ["cpp:const"] idempotent int getRequestCount();
+};
+
interface ServerManager
{
void startServer();
@@ -40,6 +48,8 @@ interface TestIntf
Hello* getHello();
+ Hello* getReplicatedHello();
+
void migrateHello();
};
diff --git a/py/test/Ice/location/run.py b/py/test/Ice/location/run.py
index 177ebe2fb41..bb34e7d35b7 100755
--- a/py/test/Ice/location/run.py
+++ b/py/test/Ice/location/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "location")
-
-TestUtil.mixedClientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/objects/AllTests.py b/py/test/Ice/objects/AllTests.py
index ff524c3ea73..0b6812fd949 100644
--- a/py/test/Ice/objects/AllTests.py
+++ b/py/test/Ice/objects/AllTests.py
@@ -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/py/test/Ice/objects/Client.py b/py/test/Ice/objects/Client.py
index f5fb5b7b5e9..60ff1b53657 100755
--- a/py/test/Ice/objects/Client.py
+++ b/py/test/Ice/objects/Client.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/py/test/Ice/objects/ClientPrivate.ice b/py/test/Ice/objects/ClientPrivate.ice
index 9134abbc82d..6ade678b824 100644
--- a/py/test/Ice/objects/ClientPrivate.ice
+++ b/py/test/Ice/objects/ClientPrivate.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/py/test/Ice/objects/Collocated.py b/py/test/Ice/objects/Collocated.py
index 7067f40b2db..0aa2dd2ae8e 100755
--- a/py/test/Ice/objects/Collocated.py
+++ b/py/test/Ice/objects/Collocated.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/py/test/Ice/objects/Server.py b/py/test/Ice/objects/Server.py
index 4f7577f9e5f..26a577f1ba7 100755
--- a/py/test/Ice/objects/Server.py
+++ b/py/test/Ice/objects/Server.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/py/test/Ice/objects/ServerPrivate.ice b/py/test/Ice/objects/ServerPrivate.ice
index 4ef470132f0..eb866af01e7 100644
--- a/py/test/Ice/objects/ServerPrivate.ice
+++ b/py/test/Ice/objects/ServerPrivate.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/py/test/Ice/objects/Test.ice b/py/test/Ice/objects/Test.ice
index 70f3b3ef2f9..2bef5327e31 100644
--- a/py/test/Ice/objects/Test.ice
+++ b/py/test/Ice/objects/Test.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/py/test/Ice/objects/TestI.py b/py/test/Ice/objects/TestI.py
index 26e783e1ebb..900268aa7e8 100644
--- a/py/test/Ice/objects/TestI.py
+++ b/py/test/Ice/objects/TestI.py
@@ -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/py/test/Ice/objects/run.py b/py/test/Ice/objects/run.py
index 81b178ba4f4..545214a74c7 100755
--- a/py/test/Ice/objects/run.py
+++ b/py/test/Ice/objects/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-
-TestUtil.clientServerTest(name)
-TestUtil.collocatedTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
+TestUtil.collocatedTest()
diff --git a/py/test/Ice/operations/AllTests.py b/py/test/Ice/operations/AllTests.py
index 5484f648511..83858d730c1 100644
--- a/py/test/Ice/operations/AllTests.py
+++ b/py/test/Ice/operations/AllTests.py
@@ -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/py/test/Ice/operations/BatchOneways.py b/py/test/Ice/operations/BatchOneways.py
index 42465d165ac..684336cd8fb 100644
--- a/py/test/Ice/operations/BatchOneways.py
+++ b/py/test/Ice/operations/BatchOneways.py
@@ -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/py/test/Ice/operations/Client.py b/py/test/Ice/operations/Client.py
index e4a3fd608f4..9eb16c8a65a 100755
--- a/py/test/Ice/operations/Client.py
+++ b/py/test/Ice/operations/Client.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.
@@ -9,6 +9,7 @@
# **********************************************************************
import os, sys, traceback
+import Ice
import Ice
slice_dir = Ice.getSliceDir()
diff --git a/py/test/Ice/operations/Collocated.py b/py/test/Ice/operations/Collocated.py
index 92df3f66ed5..0b23a944a8b 100755
--- a/py/test/Ice/operations/Collocated.py
+++ b/py/test/Ice/operations/Collocated.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/py/test/Ice/operations/Oneways.py b/py/test/Ice/operations/Oneways.py
index beadb6f101e..1e93586e11e 100644
--- a/py/test/Ice/operations/Oneways.py
+++ b/py/test/Ice/operations/Oneways.py
@@ -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/py/test/Ice/operations/OnewaysAMI.py b/py/test/Ice/operations/OnewaysAMI.py
index a2c84747039..51940dea864 100644
--- a/py/test/Ice/operations/OnewaysAMI.py
+++ b/py/test/Ice/operations/OnewaysAMI.py
@@ -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/py/test/Ice/operations/Server.py b/py/test/Ice/operations/Server.py
index a29df353b22..ecee3f2cf27 100755
--- a/py/test/Ice/operations/Server.py
+++ b/py/test/Ice/operations/Server.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/py/test/Ice/operations/ServerAMD.py b/py/test/Ice/operations/ServerAMD.py
index b1510246cc3..a7d09dfe07f 100755
--- a/py/test/Ice/operations/ServerAMD.py
+++ b/py/test/Ice/operations/ServerAMD.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.
@@ -30,22 +30,27 @@ class Thread_opVoid(threading.Thread):
class MyDerivedClassI(Test.MyDerivedClass):
def __init__(self):
self.opVoidThread = None
+ self.opVoidThreadLock = threading.Lock()
def shutdown_async(self, cb, current=None):
+ self.opVoidThreadLock.acquire()
if self.opVoidThread:
self.opVoidThread.join()
self.opVoidThread = None
+ self.opVoidThreadLock.release()
current.adapter.getCommunicator().shutdown()
cb.ice_response()
def opVoid_async(self, cb, current=None):
+ self.opVoidThreadLock.acquire()
if self.opVoidThread:
self.opVoidThread.join()
self.opVoidThread = None
self.opVoidThread = Thread_opVoid(cb)
self.opVoidThread.start()
+ self.opVoidThreadLock.release()
def opByte_async(self, cb, p1, p2, current=None):
cb.ice_response(p1, p1 ^ p2)
diff --git a/py/test/Ice/operations/Test.ice b/py/test/Ice/operations/Test.ice
index 79c2c7bb887..4fc80b45195 100644
--- a/py/test/Ice/operations/Test.ice
+++ b/py/test/Ice/operations/Test.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/py/test/Ice/operations/TestAMD.ice b/py/test/Ice/operations/TestAMD.ice
index 90951508f75..fcfd8e27c3b 100644
--- a/py/test/Ice/operations/TestAMD.ice
+++ b/py/test/Ice/operations/TestAMD.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/py/test/Ice/operations/TestI.py b/py/test/Ice/operations/TestI.py
index d98c441930b..ee595ba8532 100644
--- a/py/test/Ice/operations/TestI.py
+++ b/py/test/Ice/operations/TestI.py
@@ -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/py/test/Ice/operations/Twoways.py b/py/test/Ice/operations/Twoways.py
index eb2d15ac16a..5ae6a98b5f8 100644
--- a/py/test/Ice/operations/Twoways.py
+++ b/py/test/Ice/operations/Twoways.py
@@ -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/py/test/Ice/operations/TwowaysAMI.py b/py/test/Ice/operations/TwowaysAMI.py
index 95c323ddc29..e0ceac2fddf 100644
--- a/py/test/Ice/operations/TwowaysAMI.py
+++ b/py/test/Ice/operations/TwowaysAMI.py
@@ -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/py/test/Ice/operations/run.py b/py/test/Ice/operations/run.py
index 39ed6740919..8356ffd9740 100755
--- a/py/test/Ice/operations/run.py
+++ b/py/test/Ice/operations/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
+TestUtil.clientServerTest(server="ServerAMD.py")
print "tests with collocated server."
-TestUtil.collocatedTestWithOptions(name, " --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
-sys.exit(0)
+TestUtil.collocatedTest(" --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
diff --git a/py/test/Ice/proxy/AllTests.py b/py/test/Ice/proxy/AllTests.py
index 6bbd93beec1..e5b03b4a9e7 100644
--- a/py/test/Ice/proxy/AllTests.py
+++ b/py/test/Ice/proxy/AllTests.py
@@ -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,6 +15,15 @@ def test(b):
def allTests(communicator, collocated):
print "testing stringToProxy...",
+
+ #
+ # Test nil proxies.
+ #
+ p = communicator.stringToProxy('')
+ test(p == None)
+ p = communicator.propertyToProxy('bogus')
+ test(p == None)
+
ref = "test:default -p 12010 -t 10000"
base = communicator.stringToProxy(ref)
test(base)
diff --git a/py/test/Ice/proxy/Client.py b/py/test/Ice/proxy/Client.py
index d3493a01eca..916e444decd 100755
--- a/py/test/Ice/proxy/Client.py
+++ b/py/test/Ice/proxy/Client.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/py/test/Ice/proxy/Collocated.py b/py/test/Ice/proxy/Collocated.py
index 92df3f66ed5..0b23a944a8b 100755
--- a/py/test/Ice/proxy/Collocated.py
+++ b/py/test/Ice/proxy/Collocated.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/py/test/Ice/proxy/Server.py b/py/test/Ice/proxy/Server.py
index d953a8cd44e..170fcd80184 100755
--- a/py/test/Ice/proxy/Server.py
+++ b/py/test/Ice/proxy/Server.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/py/test/Ice/proxy/ServerAMD.py b/py/test/Ice/proxy/ServerAMD.py
index 8247a527a06..e50f5c63332 100755
--- a/py/test/Ice/proxy/ServerAMD.py
+++ b/py/test/Ice/proxy/ServerAMD.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/py/test/Ice/proxy/Test.ice b/py/test/Ice/proxy/Test.ice
index 61b6b6d06b7..90db7303858 100644
--- a/py/test/Ice/proxy/Test.ice
+++ b/py/test/Ice/proxy/Test.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/py/test/Ice/proxy/TestAMD.ice b/py/test/Ice/proxy/TestAMD.ice
index 2b85bd8b961..12b39fc4028 100644
--- a/py/test/Ice/proxy/TestAMD.ice
+++ b/py/test/Ice/proxy/TestAMD.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/py/test/Ice/proxy/TestI.py b/py/test/Ice/proxy/TestI.py
index 1aaa2f3f327..043d9d78ab9 100644
--- a/py/test/Ice/proxy/TestI.py
+++ b/py/test/Ice/proxy/TestI.py
@@ -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/py/test/Ice/proxy/run.py b/py/test/Ice/proxy/run.py
index 2aa17f08bd3..8356ffd9740 100755
--- a/py/test/Ice/proxy/run.py
+++ b/py/test/Ice/proxy/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
+TestUtil.clientServerTest(server="ServerAMD.py")
print "tests with collocated server."
-TestUtil.collocatedTestWithOptions(name, " --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
-sys.exit(0)
+TestUtil.collocatedTest(" --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
diff --git a/py/test/Ice/retry/AllTests.py b/py/test/Ice/retry/AllTests.py
index 50b53846887..63f329149b5 100644
--- a/py/test/Ice/retry/AllTests.py
+++ b/py/test/Ice/retry/AllTests.py
@@ -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/py/test/Ice/retry/Client.py b/py/test/Ice/retry/Client.py
index d55ec75dbe7..082a48c4ce3 100755
--- a/py/test/Ice/retry/Client.py
+++ b/py/test/Ice/retry/Client.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/py/test/Ice/retry/Server.py b/py/test/Ice/retry/Server.py
index 4ad4a4a03c1..ad977b666d5 100755
--- a/py/test/Ice/retry/Server.py
+++ b/py/test/Ice/retry/Server.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/py/test/Ice/retry/Test.ice b/py/test/Ice/retry/Test.ice
index c82abeb80eb..6a48fa388a3 100644
--- a/py/test/Ice/retry/Test.ice
+++ b/py/test/Ice/retry/Test.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/py/test/Ice/retry/TestI.py b/py/test/Ice/retry/TestI.py
index 27ae297b07e..6be18a74f2c 100644
--- a/py/test/Ice/retry/TestI.py
+++ b/py/test/Ice/retry/TestI.py
@@ -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/py/test/Ice/retry/run.py b/py/test/Ice/retry/run.py
index f0bc8d57120..bb34e7d35b7 100755
--- a/py/test/Ice/retry/run.py
+++ b/py/test/Ice/retry/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "retry")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Ice/servantLocator/AllTests.py b/py/test/Ice/servantLocator/AllTests.py
index afbbc65d7c2..212c879f2fe 100644
--- a/py/test/Ice/servantLocator/AllTests.py
+++ b/py/test/Ice/servantLocator/AllTests.py
@@ -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/py/test/Ice/servantLocator/Client.py b/py/test/Ice/servantLocator/Client.py
index cf17c8437bd..974a3e01371 100755
--- a/py/test/Ice/servantLocator/Client.py
+++ b/py/test/Ice/servantLocator/Client.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/py/test/Ice/servantLocator/Collocated.py b/py/test/Ice/servantLocator/Collocated.py
index 5d4a6455f28..014d8dac39a 100755
--- a/py/test/Ice/servantLocator/Collocated.py
+++ b/py/test/Ice/servantLocator/Collocated.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/py/test/Ice/servantLocator/Server.py b/py/test/Ice/servantLocator/Server.py
index 54989423a63..ad1108f64ae 100755
--- a/py/test/Ice/servantLocator/Server.py
+++ b/py/test/Ice/servantLocator/Server.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/py/test/Ice/servantLocator/ServerAMD.py b/py/test/Ice/servantLocator/ServerAMD.py
index 5e3ba8c5035..3767c1f9579 100755
--- a/py/test/Ice/servantLocator/ServerAMD.py
+++ b/py/test/Ice/servantLocator/ServerAMD.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/py/test/Ice/servantLocator/Test.ice b/py/test/Ice/servantLocator/Test.ice
index f2c4a366c5a..0c9b0d3af51 100644
--- a/py/test/Ice/servantLocator/Test.ice
+++ b/py/test/Ice/servantLocator/Test.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/py/test/Ice/servantLocator/TestAMD.ice b/py/test/Ice/servantLocator/TestAMD.ice
index 4f951f07867..809b2fa8f6d 100644
--- a/py/test/Ice/servantLocator/TestAMD.ice
+++ b/py/test/Ice/servantLocator/TestAMD.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/py/test/Ice/servantLocator/TestAMDI.py b/py/test/Ice/servantLocator/TestAMDI.py
index bafa9782301..4227bdf0460 100644
--- a/py/test/Ice/servantLocator/TestAMDI.py
+++ b/py/test/Ice/servantLocator/TestAMDI.py
@@ -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/py/test/Ice/servantLocator/TestI.py b/py/test/Ice/servantLocator/TestI.py
index 76fc4ad6f7f..eee6e60e8e4 100644
--- a/py/test/Ice/servantLocator/TestI.py
+++ b/py/test/Ice/servantLocator/TestI.py
@@ -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/py/test/Ice/servantLocator/run.py b/py/test/Ice/servantLocator/run.py
index d8d4a2e1c73..8356ffd9740 100755
--- a/py/test/Ice/servantLocator/run.py
+++ b/py/test/Ice/servantLocator/run.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.
@@ -10,23 +10,19 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "servantLocator")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
+TestUtil.clientServerTest(server="ServerAMD.py")
print "tests with collocated server."
-TestUtil.collocatedTestWithOptions(name, " --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
-sys.exit(0)
+TestUtil.collocatedTest(" --Ice.ThreadPool.Client.SizeMax=2 --Ice.ThreadPool.Client.SizeWarn=0")
diff --git a/py/test/Ice/slicing/exceptions/AllTests.py b/py/test/Ice/slicing/exceptions/AllTests.py
index 7db32ee1b08..09bd5ab9443 100644
--- a/py/test/Ice/slicing/exceptions/AllTests.py
+++ b/py/test/Ice/slicing/exceptions/AllTests.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/py/test/Ice/slicing/exceptions/Client.py b/py/test/Ice/slicing/exceptions/Client.py
index d274b4f4a83..0d53200031f 100755
--- a/py/test/Ice/slicing/exceptions/Client.py
+++ b/py/test/Ice/slicing/exceptions/Client.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/py/test/Ice/slicing/exceptions/Server.py b/py/test/Ice/slicing/exceptions/Server.py
index 97623902213..87a7e954c1b 100755
--- a/py/test/Ice/slicing/exceptions/Server.py
+++ b/py/test/Ice/slicing/exceptions/Server.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/py/test/Ice/slicing/exceptions/ServerAMD.py b/py/test/Ice/slicing/exceptions/ServerAMD.py
index 5f51a6aa828..e13f9cf4e82 100755
--- a/py/test/Ice/slicing/exceptions/ServerAMD.py
+++ b/py/test/Ice/slicing/exceptions/ServerAMD.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/py/test/Ice/slicing/exceptions/ServerPrivate.ice b/py/test/Ice/slicing/exceptions/ServerPrivate.ice
index 489a184d3e5..e2ae8cb3696 100644
--- a/py/test/Ice/slicing/exceptions/ServerPrivate.ice
+++ b/py/test/Ice/slicing/exceptions/ServerPrivate.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/py/test/Ice/slicing/exceptions/ServerPrivateAMD.ice b/py/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
index 70594699e96..3eadbad9ede 100644
--- a/py/test/Ice/slicing/exceptions/ServerPrivateAMD.ice
+++ b/py/test/Ice/slicing/exceptions/ServerPrivateAMD.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/py/test/Ice/slicing/exceptions/Test.ice b/py/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/py/test/Ice/slicing/exceptions/Test.ice
+++ b/py/test/Ice/slicing/exceptions/Test.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/py/test/Ice/slicing/exceptions/TestAMD.ice b/py/test/Ice/slicing/exceptions/TestAMD.ice
index c241f17a01d..f878338c995 100644
--- a/py/test/Ice/slicing/exceptions/TestAMD.ice
+++ b/py/test/Ice/slicing/exceptions/TestAMD.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/py/test/Ice/slicing/exceptions/run.py b/py/test/Ice/slicing/exceptions/run.py
index fd8cccc1533..a837100e45f 100755
--- a/py/test/Ice/slicing/exceptions/run.py
+++ b/py/test/Ice/slicing/exceptions/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
-sys.exit(0)
+TestUtil.clientServerTest(server="ServerAMD.py")
diff --git a/py/test/Ice/slicing/objects/AllTests.py b/py/test/Ice/slicing/objects/AllTests.py
index 5f251538b7f..9780aa77896 100644
--- a/py/test/Ice/slicing/objects/AllTests.py
+++ b/py/test/Ice/slicing/objects/AllTests.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/py/test/Ice/slicing/objects/Client.py b/py/test/Ice/slicing/objects/Client.py
index d274b4f4a83..0d53200031f 100755
--- a/py/test/Ice/slicing/objects/Client.py
+++ b/py/test/Ice/slicing/objects/Client.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/py/test/Ice/slicing/objects/ClientPrivate.ice b/py/test/Ice/slicing/objects/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/py/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/py/test/Ice/slicing/objects/ClientPrivate.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/py/test/Ice/slicing/objects/Forward.ice b/py/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/py/test/Ice/slicing/objects/Forward.ice
+++ b/py/test/Ice/slicing/objects/Forward.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/py/test/Ice/slicing/objects/Server.py b/py/test/Ice/slicing/objects/Server.py
index 5543d0c831e..dd4f56aa1ed 100755
--- a/py/test/Ice/slicing/objects/Server.py
+++ b/py/test/Ice/slicing/objects/Server.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/py/test/Ice/slicing/objects/ServerAMD.py b/py/test/Ice/slicing/objects/ServerAMD.py
index 46c2f133a84..8fcba1a0ea0 100755
--- a/py/test/Ice/slicing/objects/ServerAMD.py
+++ b/py/test/Ice/slicing/objects/ServerAMD.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/py/test/Ice/slicing/objects/ServerPrivate.ice b/py/test/Ice/slicing/objects/ServerPrivate.ice
index 95ceaa7f750..2f4189919c4 100644
--- a/py/test/Ice/slicing/objects/ServerPrivate.ice
+++ b/py/test/Ice/slicing/objects/ServerPrivate.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/py/test/Ice/slicing/objects/ServerPrivateAMD.ice b/py/test/Ice/slicing/objects/ServerPrivateAMD.ice
index 3112495277f..18265cf711c 100644
--- a/py/test/Ice/slicing/objects/ServerPrivateAMD.ice
+++ b/py/test/Ice/slicing/objects/ServerPrivateAMD.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/py/test/Ice/slicing/objects/Test.ice b/py/test/Ice/slicing/objects/Test.ice
index 0ce49886fc9..2fa79937f53 100644
--- a/py/test/Ice/slicing/objects/Test.ice
+++ b/py/test/Ice/slicing/objects/Test.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/py/test/Ice/slicing/objects/TestAMD.ice b/py/test/Ice/slicing/objects/TestAMD.ice
index 96fa308cc7f..f9d187d345b 100644
--- a/py/test/Ice/slicing/objects/TestAMD.ice
+++ b/py/test/Ice/slicing/objects/TestAMD.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/py/test/Ice/slicing/objects/run.py b/py/test/Ice/slicing/objects/run.py
index 65f973cda48..a837100e45f 100755
--- a/py/test/Ice/slicing/objects/run.py
+++ b/py/test/Ice/slicing/objects/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "ServerAMD.py", "Client.py")
-sys.exit(0)
+TestUtil.clientServerTest(server="ServerAMD.py")
diff --git a/py/test/Ice/timeout/AllTests.py b/py/test/Ice/timeout/AllTests.py
index 7dd170bfbb3..6e5601ea007 100644
--- a/py/test/Ice/timeout/AllTests.py
+++ b/py/test/Ice/timeout/AllTests.py
@@ -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/py/test/Ice/timeout/Client.py b/py/test/Ice/timeout/Client.py
index 00a29ee9dd4..667b8bc0c8d 100755
--- a/py/test/Ice/timeout/Client.py
+++ b/py/test/Ice/timeout/Client.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/py/test/Ice/timeout/Server.py b/py/test/Ice/timeout/Server.py
index 631c6aea27e..5868c284f94 100755
--- a/py/test/Ice/timeout/Server.py
+++ b/py/test/Ice/timeout/Server.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/py/test/Ice/timeout/Test.ice b/py/test/Ice/timeout/Test.ice
index 82531c5901e..4ba0c07ab71 100644
--- a/py/test/Ice/timeout/Test.ice
+++ b/py/test/Ice/timeout/Test.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/py/test/Ice/timeout/run.py b/py/test/Ice/timeout/run.py
index f04e73b903a..bb34e7d35b7 100755
--- a/py/test/Ice/timeout/run.py
+++ b/py/test/Ice/timeout/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "timeout")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/py/test/Slice/keyword/Client.py b/py/test/Slice/keyword/Client.py
index aa8bdc11b46..97d9c4cb81d 100755
--- a/py/test/Slice/keyword/Client.py
+++ b/py/test/Slice/keyword/Client.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/py/test/Slice/keyword/Key.ice b/py/test/Slice/keyword/Key.ice
index 81668d2279d..74b2d51bbfe 100644
--- a/py/test/Slice/keyword/Key.ice
+++ b/py/test/Slice/keyword/Key.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/py/test/Slice/keyword/run.py b/py/test/Slice/keyword/run.py
index 1e8824ce002..f36d746e167 100755
--- a/py/test/Slice/keyword/run.py
+++ b/py/test/Slice/keyword/run.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.
@@ -10,31 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-cwd = os.getcwd()
-os.chdir(testdir)
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "starting client...",
-clientPipe = os.popen("python Client.py --Ice.Default.Host=127.0.0.1 2>&1")
+clientProc = TestUtil.startClient("Client.py", "--Ice.Default.Host=127.0.0.1")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/rb/Makefile b/rb/Makefile
index 07c949a9457..64474731bae 100644
--- a/rb/Makefile
+++ b/rb/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/rb/Makefile.mak b/rb/Makefile.mak
index ca28c4342a7..9604504cffb 100644
--- a/rb/Makefile.mak
+++ b/rb/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/rb/allDemos.py b/rb/allDemos.py
index 428bb0998e3..0f623dc63ed 100755
--- a/rb/allDemos.py
+++ b/rb/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/rb/allTests.py b/rb/allTests.py
index 10e469f7678..3f690f8afcc 100755
--- a/rb/allTests.py
+++ b/rb/allTests.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.
@@ -12,13 +12,13 @@ import os, sys, re, getopt
for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
+ if os.path.exists(os.path.join(toplevel, "scripts", "TestUtil.py")):
break
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
+sys.path.append(os.path.join(toplevel))
+from scripts import *
#
# List of all basic tests.
diff --git a/rb/config/Make.rules b/rb/config/Make.rules
index 2de7226727c..9099ab22046 100644
--- a/rb/config/Make.rules
+++ b/rb/config/Make.rules
@@ -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/rb/config/Make.rules.Darwin b/rb/config/Make.rules.Darwin
index f7508afbba6..301ac64fb42 100644
--- a/rb/config/Make.rules.Darwin
+++ b/rb/config/Make.rules.Darwin
@@ -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/rb/config/Make.rules.mak b/rb/config/Make.rules.mak
index 08f7bc52dd0..8ff0b3ec749 100644
--- a/rb/config/Make.rules.mak
+++ b/rb/config/Make.rules.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.
@@ -40,9 +40,13 @@ RUBY_HOME = C:\ruby
# STLPort is required if using MSVC++ 6.0. Change if STLPort
# is located in a different location.
#
-!if "$(CPP_COMPILER)" == "VC60"
+!if "$(CPP_COMPILER)" == "VC60" && "$(STLPORT_HOME)" == ""
+!if "$(THIRDPARTY_HOME)" != ""
+STLPORT_HOME = $(THIRDPARTY_HOME)
+!else
STLPORT_HOME = C:\Ice-$(VERSION)-ThirdParty-VC60
!endif
+!endif
# ----------------------------------------------------------------------
diff --git a/rb/demo/Ice/hello/Client.rb b/rb/demo/Ice/hello/Client.rb
index 0cf6dea9db4..d086a40384d 100755
--- a/rb/demo/Ice/hello/Client.rb
+++ b/rb/demo/Ice/hello/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/hello/Hello.ice b/rb/demo/Ice/hello/Hello.ice
index 11b714f01c8..bcaed6ad877 100644
--- a/rb/demo/Ice/hello/Hello.ice
+++ b/rb/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/rb/demo/Ice/hello/expect.py b/rb/demo/Ice/hello/expect.py
index 6c72cd79509..4db7fbc9471 100755
--- a/rb/demo/Ice/hello/expect.py
+++ b/rb/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,10 +22,10 @@ sys.path.append(path[0])
from demoscript import *
from demoscript.Ice import hello
-server = Util.spawn('./server --Ice.PrintAdapterReady', Util.getMirrorDir("cpp"))
+server = Util.spawn('./server --Ice.PrintAdapterReady --Ice.Warn.Connections=0', Util.getMirrorDir("cpp"))
server.expect('.* ready')
-client = Util.spawn('ruby Client.rb')
+client = Util.spawn('ruby Client.rb --Ice.Warn.Connections=0')
client.expect('.*==>')
hello.run(client, server)
diff --git a/rb/demo/Ice/latency/Client.rb b/rb/demo/Ice/latency/Client.rb
index ac2e69be9cd..f8aa1b64cd1 100755
--- a/rb/demo/Ice/latency/Client.rb
+++ b/rb/demo/Ice/latency/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/latency/Latency.ice b/rb/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/rb/demo/Ice/latency/Latency.ice
+++ b/rb/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/rb/demo/Ice/latency/expect.py b/rb/demo/Ice/latency/expect.py
index 1f791bc1ca5..0fa6963080a 100755
--- a/rb/demo/Ice/latency/expect.py
+++ b/rb/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/rb/demo/Ice/minimal/Client.rb b/rb/demo/Ice/minimal/Client.rb
index 27760c003ef..341cf27d427 100755
--- a/rb/demo/Ice/minimal/Client.rb
+++ b/rb/demo/Ice/minimal/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/minimal/Hello.ice b/rb/demo/Ice/minimal/Hello.ice
index 71cff05a221..6cd2473fc45 100644
--- a/rb/demo/Ice/minimal/Hello.ice
+++ b/rb/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.
diff --git a/rb/demo/Ice/minimal/expect.py b/rb/demo/Ice/minimal/expect.py
index f8d7ed90c58..80c0fbf4550 100755
--- a/rb/demo/Ice/minimal/expect.py
+++ b/rb/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/rb/demo/Ice/session/Client.rb b/rb/demo/Ice/session/Client.rb
index 0d46e60674b..97142feecae 100755
--- a/rb/demo/Ice/session/Client.rb
+++ b/rb/demo/Ice/session/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/session/Session.ice b/rb/demo/Ice/session/Session.ice
index 1ef9d6ece54..dc1ca46fb15 100644
--- a/rb/demo/Ice/session/Session.ice
+++ b/rb/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/rb/demo/Ice/session/expect.py b/rb/demo/Ice/session/expect.py
index 54d24f7641e..25bb41d96b4 100755
--- a/rb/demo/Ice/session/expect.py
+++ b/rb/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/rb/demo/Ice/throughput/Client.rb b/rb/demo/Ice/throughput/Client.rb
index a7de5e0bb68..7a64372aeac 100755
--- a/rb/demo/Ice/throughput/Client.rb
+++ b/rb/demo/Ice/throughput/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/throughput/Throughput.ice b/rb/demo/Ice/throughput/Throughput.ice
index 9fd7decd49d..f61512e4e7a 100644
--- a/rb/demo/Ice/throughput/Throughput.ice
+++ b/rb/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/rb/demo/Ice/throughput/expect.py b/rb/demo/Ice/throughput/expect.py
index e876349dacb..2c88907fd06 100755
--- a/rb/demo/Ice/throughput/expect.py
+++ b/rb/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/rb/demo/Ice/value/Client.rb b/rb/demo/Ice/value/Client.rb
index 6984a965001..6b0ca7456e5 100755
--- a/rb/demo/Ice/value/Client.rb
+++ b/rb/demo/Ice/value/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/Ice/value/Value.ice b/rb/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/rb/demo/Ice/value/Value.ice
+++ b/rb/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/rb/demo/Ice/value/expect.py b/rb/demo/Ice/value/expect.py
index 1ddb9d6b7d6..39d3a3c24ac 100755
--- a/rb/demo/Ice/value/expect.py
+++ b/rb/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.
diff --git a/rb/demo/book/printer/Client.rb b/rb/demo/book/printer/Client.rb
index 5ce91291e4c..f8958ae9535 100755
--- a/rb/demo/book/printer/Client.rb
+++ b/rb/demo/book/printer/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/book/printer/Printer.ice b/rb/demo/book/printer/Printer.ice
index 3034d48d42e..f48d35d699f 100644
--- a/rb/demo/book/printer/Printer.ice
+++ b/rb/demo/book/printer/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/rb/demo/book/printer/expect.py b/rb/demo/book/printer/expect.py
index 7bebff79da4..fc048dc37f6 100755
--- a/rb/demo/book/printer/expect.py
+++ b/rb/demo/book/printer/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/rb/demo/book/simple_filesystem/Client.rb b/rb/demo/book/simple_filesystem/Client.rb
index 65d1671074b..62f35c79999 100755
--- a/rb/demo/book/simple_filesystem/Client.rb
+++ b/rb/demo/book/simple_filesystem/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/demo/book/simple_filesystem/Filesystem.ice b/rb/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100644
--- a/rb/demo/book/simple_filesystem/Filesystem.ice
+++ b/rb/demo/book/simple_filesystem/Filesystem.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/rb/demo/book/simple_filesystem/expect.py b/rb/demo/book/simple_filesystem/expect.py
index 5bc7020842c..abb3e2b6692 100755
--- a/rb/demo/book/simple_filesystem/expect.py
+++ b/rb/demo/book/simple_filesystem/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/rb/makebindist.py b/rb/makebindist.py
index 21b12214bb4..9401b174147 100755
--- a/rb/makebindist.py
+++ b/rb/makebindist.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/rb/makewindist.py b/rb/makewindist.py
index c1d8e34189d..cb15cd4a838 100755
--- a/rb/makewindist.py
+++ b/rb/makewindist.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/rb/ruby/Glacier2.rb b/rb/ruby/Glacier2.rb
index a758372c78e..ca6f64e42a8 100644
--- a/rb/ruby/Glacier2.rb
+++ b/rb/ruby/Glacier2.rb
@@ -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/rb/ruby/Ice.rb b/rb/ruby/Ice.rb
index 0d30fb74e13..b05a2d92ecd 100644
--- a/rb/ruby/Ice.rb
+++ b/rb/ruby/Ice.rb
@@ -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.
@@ -55,6 +55,7 @@ module Ice
return nil
end
+
#
# Exceptions.
#
diff --git a/rb/ruby/IceBox.rb b/rb/ruby/IceBox.rb
index b45f21e5901..9b359b8fd04 100644
--- a/rb/ruby/IceBox.rb
+++ b/rb/ruby/IceBox.rb
@@ -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/rb/ruby/IceGrid.rb b/rb/ruby/IceGrid.rb
index 8486fb35517..74a81e714fb 100644
--- a/rb/ruby/IceGrid.rb
+++ b/rb/ruby/IceGrid.rb
@@ -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/rb/ruby/IcePatch2.rb b/rb/ruby/IcePatch2.rb
index 32abcfc11f8..d4b5486eac4 100644
--- a/rb/ruby/IcePatch2.rb
+++ b/rb/ruby/IcePatch2.rb
@@ -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/rb/ruby/IceStorm.rb b/rb/ruby/IceStorm.rb
index be655f82c8b..d3a43a1af72 100644
--- a/rb/ruby/IceStorm.rb
+++ b/rb/ruby/IceStorm.rb
@@ -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/rb/ruby/Makefile b/rb/ruby/Makefile
index 7a18ea6bebf..3caefe9957c 100644
--- a/rb/ruby/Makefile
+++ b/rb/ruby/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/rb/ruby/Makefile.mak b/rb/ruby/Makefile.mak
index 8918d214a83..6d440b332ed 100644
--- a/rb/ruby/Makefile.mak
+++ b/rb/ruby/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/rb/src/IceRuby/.depend b/rb/src/IceRuby/.depend
index 81f87742fd1..5ea84c94b19 100644
--- a/rb/src/IceRuby/.depend
+++ b/rb/src/IceRuby/.depend
@@ -1,11 +1,11 @@
-Communicator$(OBJEXT): Communicator.cpp Communicator.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ImplicitContext.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h Logger.h $(ice_cpp_dir)/include/Ice/Logger.h ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h Properties.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h Proxy.h Util.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/Ice/FactoryTableDef.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Router.h
-Init$(OBJEXT): Init.cpp Communicator.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ImplicitContext.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h Logger.h $(ice_cpp_dir)/include/Ice/Logger.h Operation.h Properties.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h Proxy.h Slice.h Types.h Util.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h
-ImplicitContext$(OBJEXT): ImplicitContext.cpp ImplicitContext.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h Util.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h
-Logger$(OBJEXT): Logger.cpp Logger.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
-ObjectFactory$(OBJEXT): ObjectFactory.cpp ObjectFactory.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h Types.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
-Operation$(OBJEXT): Operation.cpp Operation.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h Proxy.h Types.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Slice/RubyUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
-Properties$(OBJEXT): Properties.cpp Properties.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h Util.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h
-Proxy$(OBJEXT): Proxy.cpp Proxy.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h Communicator.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/Ice/FactoryTableDef.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
-Slice$(OBJEXT): Slice.cpp Slice.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Slice/Preprocessor.h $(ice_cpp_dir)/include/Slice/RubyUtil.h $(ice_cpp_dir)/include/Slice/Parser.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/IceUtil/Options.h $(ice_cpp_dir)/include/IceUtil/RecMutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h
-Types$(OBJEXT): Types.cpp Types.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h Proxy.h $(ice_cpp_dir)/include/IceUtil/InputUtil.h $(ice_cpp_dir)/include/IceUtil/ScopedArray.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
-Util$(OBJEXT): Util.cpp Util.h Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
+Communicator$(OBJEXT): Communicator.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ./ImplicitContext.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h ./Logger.h $(ice_cpp_dir)/include/Ice/Logger.h ./ObjectFactory.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h ./Properties.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h ./Proxy.h ./Util.h $(ice_cpp_dir)/include/Ice/Communicator.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/RouterF.h $(ice_cpp_dir)/include/Ice/LocatorF.h $(ice_cpp_dir)/include/Ice/PluginF.h $(ice_cpp_dir)/include/Ice/ImplicitContextF.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/Ice/FactoryTableDef.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Router.h
+Init$(OBJEXT): Init.cpp ./Communicator.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ./ImplicitContext.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h ./Logger.h $(ice_cpp_dir)/include/Ice/Logger.h ./Operation.h ./Properties.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h ./Proxy.h ./Slice.h ./Types.h ./Util.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h
+ImplicitContext$(OBJEXT): ImplicitContext.cpp ./ImplicitContext.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ImplicitContext.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h ./Util.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/IceUtil/Unicode.h
+Logger$(OBJEXT): Logger.cpp ./Logger.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Logger.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
+ObjectFactory$(OBJEXT): ObjectFactory.cpp ./ObjectFactory.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/ObjectFactory.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h ./Types.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
+Operation$(OBJEXT): Operation.cpp ./Operation.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ./Proxy.h ./Types.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Slice/RubyUtil.h $(ice_cpp_dir)/include/Slice/Parser.h
+Properties$(OBJEXT): Properties.cpp ./Properties.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/PropertiesF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h ./Util.h $(ice_cpp_dir)/include/Ice/Initialize.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/Ice/StatsF.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h $(ice_cpp_dir)/include/Ice/Properties.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/Direct.h
+Proxy$(OBJEXT): Proxy.cpp ./Proxy.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h ./Communicator.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Connection.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/Locator.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/Ice/Outgoing.h $(ice_cpp_dir)/include/IceUtil/Monitor.h $(ice_cpp_dir)/include/IceUtil/Cond.h $(ice_cpp_dir)/include/Ice/InstanceF.h $(ice_cpp_dir)/include/Ice/BasicStream.h $(ice_cpp_dir)/include/Ice/ObjectFactoryF.h $(ice_cpp_dir)/include/Ice/Buffer.h $(ice_cpp_dir)/include/Ice/Protocol.h $(ice_cpp_dir)/include/Ice/StringConverter.h $(ice_cpp_dir)/include/Ice/Plugin.h $(ice_cpp_dir)/include/Ice/LoggerF.h $(ice_cpp_dir)/include/IceUtil/Unicode.h $(ice_cpp_dir)/include/Ice/OutgoingAsync.h $(ice_cpp_dir)/include/IceUtil/Timer.h $(ice_cpp_dir)/include/IceUtil/Thread.h $(ice_cpp_dir)/include/Ice/Incoming.h $(ice_cpp_dir)/include/Ice/ServantLocatorF.h $(ice_cpp_dir)/include/Ice/ServantManagerF.h $(ice_cpp_dir)/include/Ice/IncomingAsync.h $(ice_cpp_dir)/include/Ice/Direct.h $(ice_cpp_dir)/include/Ice/UserExceptionFactory.h $(ice_cpp_dir)/include/Ice/FactoryTable.h $(ice_cpp_dir)/include/Ice/FactoryTableDef.h $(ice_cpp_dir)/include/IceUtil/StaticMutex.h $(ice_cpp_dir)/include/Ice/UserExceptionFactoryF.h $(ice_cpp_dir)/include/Ice/ProcessF.h $(ice_cpp_dir)/include/Ice/Router.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
+Slice$(OBJEXT): Slice.cpp ./Slice.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Slice/Preprocessor.h $(ice_cpp_dir)/include/Slice/RubyUtil.h $(ice_cpp_dir)/include/Slice/Parser.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h $(ice_cpp_dir)/include/IceUtil/Options.h $(ice_cpp_dir)/include/IceUtil/RecMutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h
+Types$(OBJEXT): Types.cpp ./Types.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h ./Util.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/Stream.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/Object.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/IncomingAsyncF.h $(ice_cpp_dir)/include/IceUtil/OutputUtil.h ./Proxy.h $(ice_cpp_dir)/include/IceUtil/InputUtil.h $(ice_cpp_dir)/include/IceUtil/ScopedArray.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
+Util$(OBJEXT): Util.cpp ./Util.h ./Config.h $(ice_cpp_dir)/include/Ice/Config.h $(ice_cpp_dir)/include/IceUtil/Config.h $(ice_cpp_dir)/include/Ice/Current.h $(ice_cpp_dir)/include/Ice/LocalObjectF.h $(ice_cpp_dir)/include/IceUtil/Shared.h $(ice_cpp_dir)/include/Ice/Handle.h $(ice_cpp_dir)/include/IceUtil/Handle.h $(ice_cpp_dir)/include/IceUtil/Exception.h $(ice_cpp_dir)/include/Ice/ProxyHandle.h $(ice_cpp_dir)/include/Ice/ProxyF.h $(ice_cpp_dir)/include/Ice/ObjectF.h $(ice_cpp_dir)/include/Ice/GCCountMap.h $(ice_cpp_dir)/include/Ice/GCShared.h $(ice_cpp_dir)/include/Ice/Exception.h $(ice_cpp_dir)/include/Ice/LocalObject.h $(ice_cpp_dir)/include/Ice/ObjectAdapterF.h $(ice_cpp_dir)/include/Ice/UndefSysMacros.h $(ice_cpp_dir)/include/Ice/ConnectionF.h $(ice_cpp_dir)/include/Ice/Identity.h $(ice_cpp_dir)/include/Ice/LocalException.h $(ice_cpp_dir)/include/Ice/Proxy.h $(ice_cpp_dir)/include/IceUtil/Mutex.h $(ice_cpp_dir)/include/IceUtil/Lock.h $(ice_cpp_dir)/include/IceUtil/ThreadException.h $(ice_cpp_dir)/include/IceUtil/Time.h $(ice_cpp_dir)/include/Ice/ProxyFactoryF.h $(ice_cpp_dir)/include/Ice/ConnectionIF.h $(ice_cpp_dir)/include/Ice/RequestHandlerF.h $(ice_cpp_dir)/include/Ice/EndpointIF.h $(ice_cpp_dir)/include/Ice/Endpoint.h $(ice_cpp_dir)/include/Ice/ReferenceF.h $(ice_cpp_dir)/include/Ice/OutgoingAsyncF.h $(ice_cpp_dir)/include/Ice/StreamF.h $(ice_cpp_dir)/include/Ice/CommunicatorF.h $(ice_cpp_dir)/include/Ice/BuiltinSequences.h
diff --git a/rb/src/IceRuby/Communicator.cpp b/rb/src/IceRuby/Communicator.cpp
index 7714af07d7d..1b7757fa2a8 100644
--- a/rb/src/IceRuby/Communicator.cpp
+++ b/rb/src/IceRuby/Communicator.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/rb/src/IceRuby/Communicator.h b/rb/src/IceRuby/Communicator.h
index 936fd9ee551..e183e589fe2 100644
--- a/rb/src/IceRuby/Communicator.h
+++ b/rb/src/IceRuby/Communicator.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/rb/src/IceRuby/Config.h b/rb/src/IceRuby/Config.h
index 5a3279f86a6..8df5216e434 100644
--- a/rb/src/IceRuby/Config.h
+++ b/rb/src/IceRuby/Config.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/rb/src/IceRuby/ImplicitContext.cpp b/rb/src/IceRuby/ImplicitContext.cpp
index 16efae2f822..359923cea48 100644
--- a/rb/src/IceRuby/ImplicitContext.cpp
+++ b/rb/src/IceRuby/ImplicitContext.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/rb/src/IceRuby/ImplicitContext.h b/rb/src/IceRuby/ImplicitContext.h
index f75d53771d8..12971ebf34d 100644
--- a/rb/src/IceRuby/ImplicitContext.h
+++ b/rb/src/IceRuby/ImplicitContext.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/rb/src/IceRuby/Init.cpp b/rb/src/IceRuby/Init.cpp
index ea611a8a5df..05fd150001d 100644
--- a/rb/src/IceRuby/Init.cpp
+++ b/rb/src/IceRuby/Init.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/rb/src/IceRuby/Logger.cpp b/rb/src/IceRuby/Logger.cpp
index 35a6fb29311..a62c20e1fd8 100644
--- a/rb/src/IceRuby/Logger.cpp
+++ b/rb/src/IceRuby/Logger.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/rb/src/IceRuby/Logger.h b/rb/src/IceRuby/Logger.h
index 9c86149bb6d..6192b97e5dc 100644
--- a/rb/src/IceRuby/Logger.h
+++ b/rb/src/IceRuby/Logger.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/rb/src/IceRuby/Makefile b/rb/src/IceRuby/Makefile
index ff2d5e359a7..bfe34651e74 100644
--- a/rb/src/IceRuby/Makefile
+++ b/rb/src/IceRuby/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/rb/src/IceRuby/Makefile.mak b/rb/src/IceRuby/Makefile.mak
index da7138ace3c..322e2e001d7 100644
--- a/rb/src/IceRuby/Makefile.mak
+++ b/rb/src/IceRuby/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/rb/src/IceRuby/ObjectFactory.cpp b/rb/src/IceRuby/ObjectFactory.cpp
index 44009c954b6..e6c860a626a 100644
--- a/rb/src/IceRuby/ObjectFactory.cpp
+++ b/rb/src/IceRuby/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/rb/src/IceRuby/ObjectFactory.h b/rb/src/IceRuby/ObjectFactory.h
index 2356e010c03..3bf36ad3f00 100644
--- a/rb/src/IceRuby/ObjectFactory.h
+++ b/rb/src/IceRuby/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/rb/src/IceRuby/Operation.cpp b/rb/src/IceRuby/Operation.cpp
index a2caac5c6b5..4a2a9b7d1f0 100644
--- a/rb/src/IceRuby/Operation.cpp
+++ b/rb/src/IceRuby/Operation.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/rb/src/IceRuby/Operation.h b/rb/src/IceRuby/Operation.h
index e39700257a0..6935274f300 100644
--- a/rb/src/IceRuby/Operation.h
+++ b/rb/src/IceRuby/Operation.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/rb/src/IceRuby/Properties.cpp b/rb/src/IceRuby/Properties.cpp
index c7b534e934b..b930f0413e1 100644
--- a/rb/src/IceRuby/Properties.cpp
+++ b/rb/src/IceRuby/Properties.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/rb/src/IceRuby/Properties.h b/rb/src/IceRuby/Properties.h
index 4b903e4c1da..20f038701d0 100644
--- a/rb/src/IceRuby/Properties.h
+++ b/rb/src/IceRuby/Properties.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/rb/src/IceRuby/Proxy.cpp b/rb/src/IceRuby/Proxy.cpp
index 7766b7f644e..fbe9c7e9308 100644
--- a/rb/src/IceRuby/Proxy.cpp
+++ b/rb/src/IceRuby/Proxy.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/rb/src/IceRuby/Proxy.h b/rb/src/IceRuby/Proxy.h
index a673f7662b7..4ad59852cf7 100644
--- a/rb/src/IceRuby/Proxy.h
+++ b/rb/src/IceRuby/Proxy.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/rb/src/IceRuby/Slice.cpp b/rb/src/IceRuby/Slice.cpp
index 652ba20cd2c..68c881e0ced 100644
--- a/rb/src/IceRuby/Slice.cpp
+++ b/rb/src/IceRuby/Slice.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/rb/src/IceRuby/Slice.h b/rb/src/IceRuby/Slice.h
index a09bdd9d261..0875b2e0e3c 100644
--- a/rb/src/IceRuby/Slice.h
+++ b/rb/src/IceRuby/Slice.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/rb/src/IceRuby/Types.cpp b/rb/src/IceRuby/Types.cpp
index 31e33876e7f..bc265960d84 100644
--- a/rb/src/IceRuby/Types.cpp
+++ b/rb/src/IceRuby/Types.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/rb/src/IceRuby/Types.h b/rb/src/IceRuby/Types.h
index 9fb4a36c559..d7cf250b195 100644
--- a/rb/src/IceRuby/Types.h
+++ b/rb/src/IceRuby/Types.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/rb/src/IceRuby/Util.cpp b/rb/src/IceRuby/Util.cpp
index 8d85e4411e2..68c4686dc0f 100644
--- a/rb/src/IceRuby/Util.cpp
+++ b/rb/src/IceRuby/Util.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/rb/src/IceRuby/Util.h b/rb/src/IceRuby/Util.h
index ca8f3676142..2b19b35be20 100644
--- a/rb/src/IceRuby/Util.h
+++ b/rb/src/IceRuby/Util.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/rb/src/Makefile b/rb/src/Makefile
index c2520f10f89..dd4ec6a26b2 100644
--- a/rb/src/Makefile
+++ b/rb/src/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/rb/src/Makefile.mak b/rb/src/Makefile.mak
index e5dfc1b4534..ea70ea588fc 100644
--- a/rb/src/Makefile.mak
+++ b/rb/src/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/rb/test/Ice/application/Client.rb b/rb/test/Ice/application/Client.rb
index cd94d487546..5dc3cb824b4 100755
--- a/rb/test/Ice/application/Client.rb
+++ b/rb/test/Ice/application/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/binding/AllTests.rb b/rb/test/Ice/binding/AllTests.rb
index 6a4cc9fcc5f..2f5a52119c8 100644
--- a/rb/test/Ice/binding/AllTests.rb
+++ b/rb/test/Ice/binding/AllTests.rb
@@ -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/rb/test/Ice/binding/Client.rb b/rb/test/Ice/binding/Client.rb
index f9d277e7b43..64bb7b68afd 100755
--- a/rb/test/Ice/binding/Client.rb
+++ b/rb/test/Ice/binding/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/binding/Test.ice b/rb/test/Ice/binding/Test.ice
index 5baef2fb7d4..40783e4535c 100644
--- a/rb/test/Ice/binding/Test.ice
+++ b/rb/test/Ice/binding/Test.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/rb/test/Ice/binding/run.py b/rb/test/Ice/binding/run.py
index 4be3edf8978..bb34e7d35b7 100755
--- a/rb/test/Ice/binding/run.py
+++ b/rb/test/Ice/binding/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "binding")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/checksum/AllTests.rb b/rb/test/Ice/checksum/AllTests.rb
index ec7909572f0..b7bc43d1245 100644
--- a/rb/test/Ice/checksum/AllTests.rb
+++ b/rb/test/Ice/checksum/AllTests.rb
@@ -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/rb/test/Ice/checksum/CTypes.ice b/rb/test/Ice/checksum/CTypes.ice
index ea5e644a755..f9f05a43e4c 100644
--- a/rb/test/Ice/checksum/CTypes.ice
+++ b/rb/test/Ice/checksum/CTypes.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/rb/test/Ice/checksum/Client.rb b/rb/test/Ice/checksum/Client.rb
index 6c7fac3383b..2a235c1f3d6 100755
--- a/rb/test/Ice/checksum/Client.rb
+++ b/rb/test/Ice/checksum/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/checksum/Test.ice b/rb/test/Ice/checksum/Test.ice
index 24e8f7c957b..cf9b2a4d554 100644
--- a/rb/test/Ice/checksum/Test.ice
+++ b/rb/test/Ice/checksum/Test.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/rb/test/Ice/checksum/run.py b/rb/test/Ice/checksum/run.py
index 3f26f43dab1..0c61d630452 100755
--- a/rb/test/Ice/checksum/run.py
+++ b/rb/test/Ice/checksum/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "checksum")
-
-TestUtil.clientServerTestWithOptionsAndNames(name, '', '', 'server/server', 'Client.rb')
-sys.exit(0)
+TestUtil.clientServerTest(server='server/server')
diff --git a/rb/test/Ice/exceptions/AllTests.rb b/rb/test/Ice/exceptions/AllTests.rb
index d2475545066..03cc1965e96 100644
--- a/rb/test/Ice/exceptions/AllTests.rb
+++ b/rb/test/Ice/exceptions/AllTests.rb
@@ -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/rb/test/Ice/exceptions/Client.rb b/rb/test/Ice/exceptions/Client.rb
index 2a25742fc51..2db72211858 100755
--- a/rb/test/Ice/exceptions/Client.rb
+++ b/rb/test/Ice/exceptions/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/exceptions/Test.ice b/rb/test/Ice/exceptions/Test.ice
index 6dabee04667..37f9b6fb8ae 100644
--- a/rb/test/Ice/exceptions/Test.ice
+++ b/rb/test/Ice/exceptions/Test.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/rb/test/Ice/exceptions/run.py b/rb/test/Ice/exceptions/run.py
index 0b589e39bde..a8cd68361bf 100755
--- a/rb/test/Ice/exceptions/run.py
+++ b/rb/test/Ice/exceptions/run.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.
@@ -10,21 +10,18 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "exceptions")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.rb")
+TestUtil.clientServerTest(server="serveramd")
sys.exit(0)
diff --git a/rb/test/Ice/facets/AllTests.rb b/rb/test/Ice/facets/AllTests.rb
index 637a489c375..ae8fab84bd3 100644
--- a/rb/test/Ice/facets/AllTests.rb
+++ b/rb/test/Ice/facets/AllTests.rb
@@ -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/rb/test/Ice/facets/Client.rb b/rb/test/Ice/facets/Client.rb
index b9e3e9e929f..0e34f344bfe 100755
--- a/rb/test/Ice/facets/Client.rb
+++ b/rb/test/Ice/facets/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/facets/Test.ice b/rb/test/Ice/facets/Test.ice
index d02ab6c8503..8d3739dac91 100644
--- a/rb/test/Ice/facets/Test.ice
+++ b/rb/test/Ice/facets/Test.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/rb/test/Ice/facets/run.py b/rb/test/Ice/facets/run.py
index fc927877498..bb34e7d35b7 100755
--- a/rb/test/Ice/facets/run.py
+++ b/rb/test/Ice/facets/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "facets")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/inheritance/AllTests.rb b/rb/test/Ice/inheritance/AllTests.rb
index b7e02b5d46c..86c9339a06d 100644
--- a/rb/test/Ice/inheritance/AllTests.rb
+++ b/rb/test/Ice/inheritance/AllTests.rb
@@ -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/rb/test/Ice/inheritance/Client.rb b/rb/test/Ice/inheritance/Client.rb
index 7575afe3ba5..e79fd4e43bc 100755
--- a/rb/test/Ice/inheritance/Client.rb
+++ b/rb/test/Ice/inheritance/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/inheritance/Test.ice b/rb/test/Ice/inheritance/Test.ice
index 47289592a2d..116d652defd 100644
--- a/rb/test/Ice/inheritance/Test.ice
+++ b/rb/test/Ice/inheritance/Test.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/rb/test/Ice/inheritance/run.py b/rb/test/Ice/inheritance/run.py
index 338e3cfc4e3..bb34e7d35b7 100755
--- a/rb/test/Ice/inheritance/run.py
+++ b/rb/test/Ice/inheritance/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "inheritance")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/location/AllTests.rb b/rb/test/Ice/location/AllTests.rb
index 0b1718e3e82..a0924cb813d 100644
--- a/rb/test/Ice/location/AllTests.rb
+++ b/rb/test/Ice/location/AllTests.rb
@@ -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/rb/test/Ice/location/Client.rb b/rb/test/Ice/location/Client.rb
index 51539c2cd1a..fa10dc88f33 100755
--- a/rb/test/Ice/location/Client.rb
+++ b/rb/test/Ice/location/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/location/Test.ice b/rb/test/Ice/location/Test.ice
index b0203fbe492..b9db2de57fc 100644
--- a/rb/test/Ice/location/Test.ice
+++ b/rb/test/Ice/location/Test.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/rb/test/Ice/location/run.py b/rb/test/Ice/location/run.py
index 29cba96aa87..bb34e7d35b7 100755
--- a/rb/test/Ice/location/run.py
+++ b/rb/test/Ice/location/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "location")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/objects/AllTests.rb b/rb/test/Ice/objects/AllTests.rb
index eba3d775395..99a42486486 100644
--- a/rb/test/Ice/objects/AllTests.rb
+++ b/rb/test/Ice/objects/AllTests.rb
@@ -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/rb/test/Ice/objects/Client.rb b/rb/test/Ice/objects/Client.rb
index a804788490f..911318211d6 100755
--- a/rb/test/Ice/objects/Client.rb
+++ b/rb/test/Ice/objects/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/objects/ClientPrivate.ice b/rb/test/Ice/objects/ClientPrivate.ice
index 9134abbc82d..6ade678b824 100644
--- a/rb/test/Ice/objects/ClientPrivate.ice
+++ b/rb/test/Ice/objects/ClientPrivate.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/rb/test/Ice/objects/Test.ice b/rb/test/Ice/objects/Test.ice
index 39a159194ab..17248ba57dc 100644
--- a/rb/test/Ice/objects/Test.ice
+++ b/rb/test/Ice/objects/Test.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/rb/test/Ice/objects/TestI.rb b/rb/test/Ice/objects/TestI.rb
index 9cdca43b7bb..d39860c121a 100644
--- a/rb/test/Ice/objects/TestI.rb
+++ b/rb/test/Ice/objects/TestI.rb
@@ -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/rb/test/Ice/objects/run.py b/rb/test/Ice/objects/run.py
index 38f7d8c91b8..bb34e7d35b7 100755
--- a/rb/test/Ice/objects/run.py
+++ b/rb/test/Ice/objects/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "objects")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/operations/AllTests.rb b/rb/test/Ice/operations/AllTests.rb
index 86de1b76a27..a450d1491d7 100644
--- a/rb/test/Ice/operations/AllTests.rb
+++ b/rb/test/Ice/operations/AllTests.rb
@@ -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/rb/test/Ice/operations/BatchOneways.rb b/rb/test/Ice/operations/BatchOneways.rb
index 0e6a4b1b824..aed7db011f9 100644
--- a/rb/test/Ice/operations/BatchOneways.rb
+++ b/rb/test/Ice/operations/BatchOneways.rb
@@ -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/rb/test/Ice/operations/Client.rb b/rb/test/Ice/operations/Client.rb
index 3fd327f05e4..4b8a11e99e4 100755
--- a/rb/test/Ice/operations/Client.rb
+++ b/rb/test/Ice/operations/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/operations/Test.ice b/rb/test/Ice/operations/Test.ice
index 79c2c7bb887..4fc80b45195 100644
--- a/rb/test/Ice/operations/Test.ice
+++ b/rb/test/Ice/operations/Test.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/rb/test/Ice/operations/Twoways.rb b/rb/test/Ice/operations/Twoways.rb
index b441a3b66ad..7aa9043451d 100644
--- a/rb/test/Ice/operations/Twoways.rb
+++ b/rb/test/Ice/operations/Twoways.rb
@@ -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/rb/test/Ice/operations/run.py b/rb/test/Ice/operations/run.py
index 9e6c1ca4fc6..76e256c3c6a 100755
--- a/rb/test/Ice/operations/run.py
+++ b/rb/test/Ice/operations/run.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.
@@ -10,21 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "operations")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.rb")
-sys.exit(0)
+TestUtil.clientServerTest(server="serveramd")
diff --git a/rb/test/Ice/proxy/AllTests.rb b/rb/test/Ice/proxy/AllTests.rb
index c10386c1c6d..d687bf15f7d 100644
--- a/rb/test/Ice/proxy/AllTests.rb
+++ b/rb/test/Ice/proxy/AllTests.rb
@@ -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/rb/test/Ice/proxy/Client.rb b/rb/test/Ice/proxy/Client.rb
index 0407b98c2d5..9ac0b51cb9a 100755
--- a/rb/test/Ice/proxy/Client.rb
+++ b/rb/test/Ice/proxy/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/proxy/Test.ice b/rb/test/Ice/proxy/Test.ice
index 61b6b6d06b7..90db7303858 100644
--- a/rb/test/Ice/proxy/Test.ice
+++ b/rb/test/Ice/proxy/Test.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/rb/test/Ice/proxy/run.py b/rb/test/Ice/proxy/run.py
index 765901ef2b8..a8cd68361bf 100755
--- a/rb/test/Ice/proxy/run.py
+++ b/rb/test/Ice/proxy/run.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.
@@ -10,21 +10,18 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "proxy")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
+TestUtil.clientServerTest()
print "tests with AMD server."
-TestUtil.clientServerTestWithOptionsAndNames(name, "", "", "serveramd", "Client.rb")
+TestUtil.clientServerTest(server="serveramd")
sys.exit(0)
diff --git a/rb/test/Ice/retry/AllTests.rb b/rb/test/Ice/retry/AllTests.rb
index 50aba0da777..d92ae20be4b 100644
--- a/rb/test/Ice/retry/AllTests.rb
+++ b/rb/test/Ice/retry/AllTests.rb
@@ -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/rb/test/Ice/retry/Client.rb b/rb/test/Ice/retry/Client.rb
index 9eb83694976..bea14ac8369 100755
--- a/rb/test/Ice/retry/Client.rb
+++ b/rb/test/Ice/retry/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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.
@@ -10,10 +10,6 @@
require 'pathname'
require 'Ice'
-# The tests shouldn't use ICE_HOME unless USE_BIN_DIST=yes is set.
-if ENV::has_key?("ICE_HOME") and ENV["USE_BIN_DIST"] != "yes"
- ENV.delete("ICE_HOME")
-end
slice_dir = Ice.getSliceDir
if not slice_dir:
fail "Slice directory not found"
diff --git a/rb/test/Ice/retry/Test.ice b/rb/test/Ice/retry/Test.ice
index c82abeb80eb..6a48fa388a3 100644
--- a/rb/test/Ice/retry/Test.ice
+++ b/rb/test/Ice/retry/Test.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/rb/test/Ice/retry/run.py b/rb/test/Ice/retry/run.py
index 68c7cc3dc5e..bb34e7d35b7 100755
--- a/rb/test/Ice/retry/run.py
+++ b/rb/test/Ice/retry/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "retry")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/slicing/exceptions/AllTests.rb b/rb/test/Ice/slicing/exceptions/AllTests.rb
index 3fc9e78e7ab..1a2e6fc3905 100644
--- a/rb/test/Ice/slicing/exceptions/AllTests.rb
+++ b/rb/test/Ice/slicing/exceptions/AllTests.rb
@@ -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/rb/test/Ice/slicing/exceptions/Client.rb b/rb/test/Ice/slicing/exceptions/Client.rb
index e5a062195ec..ed0ee645819 100755
--- a/rb/test/Ice/slicing/exceptions/Client.rb
+++ b/rb/test/Ice/slicing/exceptions/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/slicing/exceptions/Test.ice b/rb/test/Ice/slicing/exceptions/Test.ice
index 599b57fec54..a5918458a6c 100644
--- a/rb/test/Ice/slicing/exceptions/Test.ice
+++ b/rb/test/Ice/slicing/exceptions/Test.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/rb/test/Ice/slicing/exceptions/run.py b/rb/test/Ice/slicing/exceptions/run.py
index 7716a243f26..b85e4a1a4b3 100755
--- a/rb/test/Ice/slicing/exceptions/run.py
+++ b/rb/test/Ice/slicing/exceptions/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "exceptions")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/slicing/objects/AllTests.rb b/rb/test/Ice/slicing/objects/AllTests.rb
index cfa57ca8d0b..579dcc4d02d 100644
--- a/rb/test/Ice/slicing/objects/AllTests.rb
+++ b/rb/test/Ice/slicing/objects/AllTests.rb
@@ -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/rb/test/Ice/slicing/objects/Client.rb b/rb/test/Ice/slicing/objects/Client.rb
index a00ea876f99..7fd7f6e2333 100755
--- a/rb/test/Ice/slicing/objects/Client.rb
+++ b/rb/test/Ice/slicing/objects/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/slicing/objects/ClientPrivate.ice b/rb/test/Ice/slicing/objects/ClientPrivate.ice
index 1b8b26e1988..aaadf4bb9a2 100644
--- a/rb/test/Ice/slicing/objects/ClientPrivate.ice
+++ b/rb/test/Ice/slicing/objects/ClientPrivate.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/rb/test/Ice/slicing/objects/Forward.ice b/rb/test/Ice/slicing/objects/Forward.ice
index b589b897152..1c48e3ff480 100644
--- a/rb/test/Ice/slicing/objects/Forward.ice
+++ b/rb/test/Ice/slicing/objects/Forward.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/rb/test/Ice/slicing/objects/Test.ice b/rb/test/Ice/slicing/objects/Test.ice
index 0ce49886fc9..2fa79937f53 100644
--- a/rb/test/Ice/slicing/objects/Test.ice
+++ b/rb/test/Ice/slicing/objects/Test.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/rb/test/Ice/slicing/objects/run.py b/rb/test/Ice/slicing/objects/run.py
index de3773f6762..b85e4a1a4b3 100755
--- a/rb/test/Ice/slicing/objects/run.py
+++ b/rb/test/Ice/slicing/objects/run.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.
@@ -10,18 +10,14 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
+sys.path.append(os.path.join(path[0]))
+from scripts import *
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "slicing", "objects")
-
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Ice/timeout/AllTests.rb b/rb/test/Ice/timeout/AllTests.rb
index 7a2559ebc3a..5afae79e534 100644
--- a/rb/test/Ice/timeout/AllTests.rb
+++ b/rb/test/Ice/timeout/AllTests.rb
@@ -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/rb/test/Ice/timeout/Client.rb b/rb/test/Ice/timeout/Client.rb
index 9841003aecf..5d684e7ca4a 100755
--- a/rb/test/Ice/timeout/Client.rb
+++ b/rb/test/Ice/timeout/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Ice/timeout/Test.ice b/rb/test/Ice/timeout/Test.ice
index 82531c5901e..4ba0c07ab71 100644
--- a/rb/test/Ice/timeout/Test.ice
+++ b/rb/test/Ice/timeout/Test.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/rb/test/Ice/timeout/run.py b/rb/test/Ice/timeout/run.py
index 37bb863ea8e..633a528fb24 100755
--- a/rb/test/Ice/timeout/run.py
+++ b/rb/test/Ice/timeout/run.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.
@@ -10,19 +10,15 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-name = os.path.join("Ice", "timeout")
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "tests with regular server."
-TestUtil.clientServerTest(name)
-sys.exit(0)
+TestUtil.clientServerTest()
diff --git a/rb/test/Slice/keyword/Client.rb b/rb/test/Slice/keyword/Client.rb
index 268bf653784..bc15e2ccedf 100755
--- a/rb/test/Slice/keyword/Client.rb
+++ b/rb/test/Slice/keyword/Client.rb
@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# **********************************************************************
#
-# 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/rb/test/Slice/keyword/Key.ice b/rb/test/Slice/keyword/Key.ice
index 911a0d15f7d..27aebd3d3fc 100644
--- a/rb/test/Slice/keyword/Key.ice
+++ b/rb/test/Slice/keyword/Key.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/rb/test/Slice/keyword/run.py b/rb/test/Slice/keyword/run.py
index 1ad9e674838..cbe752aab68 100755
--- a/rb/test/Slice/keyword/run.py
+++ b/rb/test/Slice/keyword/run.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.
@@ -10,31 +10,17 @@
import os, sys
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
raise "can't find toplevel directory!"
-
-sys.path.append(os.path.join(toplevel, "config"))
-import TestUtil
-TestUtil.processCmdLine()
-
-testdir = os.path.dirname(os.path.abspath(__file__))
-
-cwd = os.getcwd()
-os.chdir(testdir)
+sys.path.append(os.path.join(path[0]))
+from scripts import *
print "starting client...",
-clientPipe = os.popen("ruby Client.rb --Ice.Default.Host=127.0.0.1 2>&1")
+clientProc = TestUtil.startClient("Client.rb", "--Ice.Default.Host=127.0.0.1")
print "ok"
-
-TestUtil.printOutputFromPipe(clientPipe);
-
-clientStatus = TestUtil.closePipe(clientPipe)
-
-if clientStatus:
- sys.exit(1)
-
-sys.exit(0)
+clientProc.waitTestSuccess()
diff --git a/demoscript/Expect.py b/scripts/Expect.py
index c97ef8fad51..05a1558234e 100755
--- a/demoscript/Expect.py
+++ b/scripts/Expect.py
@@ -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.
@@ -76,6 +76,9 @@ class reader(threading.Thread):
self.buf = StringIO.StringIO()
self.cv = threading.Condition()
self.p = p
+ self._trace = False
+ self._tbuf = StringIO.StringIO()
+ self._tracesupress = None
self.logfile = logfile
threading.Thread.__init__(self)
@@ -88,6 +91,7 @@ class reader(threading.Thread):
self.cv.acquire()
try:
+ self.trace(c)
self.buf.write(c)
self.cv.notify()
finally:
@@ -95,6 +99,34 @@ class reader(threading.Thread):
except IOError, e:
print e
+ def trace(self, c):
+ if self._trace:
+ if self._tracesupress:
+ self._tbuf.write(c)
+ if c == '\n':
+ content = self._tbuf.getvalue()
+ supress = False
+ for p in self._tracesupress:
+ if p.search(content):
+ supress = True
+ break
+ if not supress:
+ sys.stdout.write(content)
+ self._tbuf.truncate(0)
+ else:
+ sys.stdout.write(c)
+
+ def enabletrace(self, supress = None):
+ self.cv.acquire()
+ try:
+ if not self._trace:
+ self._trace = True
+ self._tracesupress = supress
+ for c in self.buf.getvalue():
+ self.trace(c)
+ finally:
+ self.cv.release()
+
def getbuf(self):
self.cv.acquire()
try:
@@ -205,7 +237,7 @@ class reader(threading.Thread):
self.cv.release()
class Expect (object):
- def __init__(self, command, timeout=30, logfile=None, mapping = None, desc = None, cwd = None):
+ def __init__(self, command, timeout=30, logfile=None, mapping = None, desc = None, cwd = None, env = None):
self.buf = "" # The part before the match
self.before = "" # The part before the match
self.after = "" # The part after the match
@@ -227,11 +259,11 @@ class Expect (object):
#import win32process
#creationflags = win32process.CREATE_NEW_PROCESS_GROUP)
CREATE_NEW_PROCESS_GROUP = 512
- self.p = subprocess.Popen(command, cwd = cwd, shell=False, bufsize=0, stdin=subprocess.PIPE,
+ self.p = subprocess.Popen(command, env = env, cwd = cwd, shell=False, bufsize=0, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
creationflags = 512) # CREATE_NEW_PROCESS_GROUP
else:
- self.p = subprocess.Popen(command, cwd = cwd, shell=True, bufsize=0, stdin=subprocess.PIPE,
+ self.p = subprocess.Popen(command, env = env, cwd = cwd, shell=True, bufsize=0, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
self.r = reader(desc, self.p, logfile)
@@ -249,7 +281,7 @@ class Expect (object):
if self.p is not None:
self.terminate()
- def expect(self, pattern, timeout = 10):
+ def expect(self, pattern, timeout = 20):
"""pattern is either a string, or a list of string regexp patterns.
timeout == None expect can block indefinitely.
@@ -333,8 +365,7 @@ class Expect (object):
# A Windows application with a negative exit status means
# killed by CTRL_BREAK. Fudge the exit status.
- if win32 and self.exitstatus < 0:
- assert self.killed is not None
+ if win32 and self.exitstatus < 0 and self.killed is not None:
self.exitstatus = -self.killed
self.p = None
self.r.join()
@@ -438,6 +469,9 @@ class Expect (object):
else:
test(self.exitstatus, exitstatus)
+ def trace(self, supress = None):
+ self.r.enabletrace(supress)
+
def hasInterruptSupport(self):
"""Return True if the application gracefully terminated, False otherwise."""
if win32 and self.mapping == "java":
diff --git a/config/IceGridAdmin.py b/scripts/IceGridAdmin.py
index 27717ddb02e..bb1f7beb3d0 100644
--- a/config/IceGridAdmin.py
+++ b/scripts/IceGridAdmin.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.
@@ -17,13 +17,6 @@ from threading import Thread
#nreplicas=0
nreplicas=1
-for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.normpath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
-else:
- raise "can't find toplevel directory!"
-
iceGridPort = 12010;
nodeOptions = r' --Ice.Warn.Connections=0' + \
@@ -38,7 +31,7 @@ nodeOptions = r' --Ice.Warn.Connections=0' + \
r' --IceGrid.Node.PrintServersReady=node' + \
r' --Ice.NullHandleAbort' + \
r' --Ice.ThreadPool.Server.Size=0' + \
- r' --Ice.ServerIdleTime=0';
+ r' --Ice.ServerIdleTime=0'
registryOptions = r' --Ice.Warn.Connections=0' + \
r' --IceGrid.Registry.PermissionsVerifier=IceGrid/NullPermissionsVerifier' + \
@@ -62,7 +55,7 @@ registryOptions = r' --Ice.Warn.Connections=0' + \
r' --IceGrid.Registry.Client.ThreadPool.SizeWarn=0' + \
r' --Ice.ServerIdleTime=0' + \
r' --IceGrid.Registry.DefaultTemplates=' + \
- os.path.abspath(os.path.join(TestUtil.findTopLevel(), "cpp", "config", "templates.xml"))
+ os.path.abspath(os.path.join(TestUtil.toplevel, "cpp", "config", "templates.xml"))
def getDefaultLocatorProperty():
@@ -83,6 +76,7 @@ def startIceGridRegistry(testdir, dynamicRegistration = False):
if dynamicRegistration:
command += r' --IceGrid.Registry.DynamicRegistration'
+ procs = []
i = 0
while i < (nreplicas + 1):
@@ -108,15 +102,14 @@ def startIceGridRegistry(testdir, dynamicRegistration = False):
driverConfig = TestUtil.DriverConfig("server")
driverConfig.lang = "cpp"
- pipe = TestUtil.startServer(iceGrid, cmd + " 2>&1", driverConfig)
- if TestUtil.getDefaultMapping() != "java":
- TestUtil.getServerPid(pipe)
- TestUtil.getAdapterReady(pipe, True, 4)
+ proc = TestUtil.startServer(iceGrid, cmd, driverConfig, count = 4)
+ procs.append(proc)
print "ok"
i = i + 1
+ return procs
-def shutdownIceGridRegistry():
+def shutdownIceGridRegistry(procs):
i = nreplicas
while i > 0:
@@ -129,6 +122,9 @@ def shutdownIceGridRegistry():
iceGridAdmin("registry shutdown")
print "ok"
+ for p in procs:
+ p.waitTestSuccess()
+
def startIceGridNode(testdir):
iceGrid = os.path.join(TestUtil.getCppBinDir(), "icegridnode")
@@ -158,15 +154,11 @@ def startIceGridNode(testdir):
driverConfig = TestUtil.DriverConfig("server")
driverConfig.lang = "cpp"
- iceGridPipe = TestUtil.startServer(iceGrid, command + " 2>&1", driverConfig)
- if TestUtil.getDefaultMapping() != "java":
- TestUtil.getServerPid(iceGridPipe)
- TestUtil.getAdapterReady(iceGridPipe, False)
- TestUtil.waitServiceReady(iceGridPipe, 'node')
+ proc = TestUtil.startServer(iceGrid, command, driverConfig, adapter='node')
print "ok"
- return iceGridPipe
+ return proc
def iceGridAdmin(cmd, ignoreFailure = False):
@@ -180,17 +172,12 @@ def iceGridAdmin(cmd, ignoreFailure = False):
driverConfig = TestUtil.DriverConfig("client")
driverConfig.lang = "cpp"
- iceGridAdminPipe = TestUtil.startClient(iceGridAdmin, command + " 2>&1", driverConfig)
-
- output = iceGridAdminPipe.readlines()
- iceGridAdminStatus = TestUtil.closePipe(iceGridAdminPipe)
- if not ignoreFailure and iceGridAdminStatus:
- for line in output:
- print line
- TestUtil.killServers()
+ proc = TestUtil.startClient(iceGridAdmin, command, driverConfig)
+ status = proc.wait()
+ if not ignoreFailure and status:
+ print proc.buf
sys.exit(1)
-
- return output
+ return proc.buf
def killNodeServers():
@@ -199,44 +186,38 @@ def killNodeServers():
iceGridAdmin("server disable " + server, True)
iceGridAdmin("server signal " + server + " SIGKILL", True)
-def iceGridTest(testdir, name, application, additionalOptions = "", applicationOptions = ""):
+def iceGridTest(application, additionalOptions = "", applicationOptions = ""):
+ testdir = os.getcwd()
if not TestUtil.isWin32() and os.getuid() == 0:
print
print "*** can't run test as root ***"
print
return
+ if TestUtil.getDefaultMapping() == "java":
+ os.environ['CLASSPATH'] = os.path.join(os.getcwd(), "classes") + os.pathsep + os.environ.get("CLASSPATH", "")
+
client = TestUtil.getDefaultClientFile()
if TestUtil.getDefaultMapping() != "java":
client = os.path.join(testdir, client)
clientOptions = ' ' + getDefaultLocatorProperty() + ' ' + additionalOptions
- startIceGridRegistry(testdir)
- iceGridNodePipe = startIceGridNode(testdir)
+ registryProcs = startIceGridRegistry(testdir)
+ iceGridNodeProc = startIceGridNode(testdir)
if application != "":
print "adding application...",
- iceGridAdmin('application add ' + os.path.join(testdir, application) + ' ' + \
+ iceGridAdmin('application add -n ' + os.path.join(testdir, application) + ' ' + \
'"test.dir=' + testdir + '" "ice.bindir=' + TestUtil.getCppBinDir() + '" ' + applicationOptions)
print "ok"
print "starting client...",
- clientPipe = TestUtil.startClient(client, clientOptions + " 2>&1", TestUtil.DriverConfig("client"))
+ clientProc = TestUtil.startClient(client, clientOptions, TestUtil.DriverConfig("client"))
print "ok"
- TestUtil.printOutputFromPipe(clientPipe)
-
- clientStatus = TestUtil.closePipe(clientPipe)
- if clientStatus:
- killNodeServers()
- if application != "":
- print "remove application...",
- iceGridAdmin("application remove Test", True)
- print "ok"
- TestUtil.killServers()
- sys.exit(1)
+ clientProc.waitTestSuccess()
if application != "":
print "remove application...",
@@ -246,50 +227,38 @@ def iceGridTest(testdir, name, application, additionalOptions = "", applicationO
print "shutting down icegrid node...",
iceGridAdmin("node shutdown localnode")
print "ok"
- shutdownIceGridRegistry()
-
- TestUtil.joinServers()
+ shutdownIceGridRegistry(registryProcs)
+ iceGridNodeProc.waitTestSuccess()
- if TestUtil.serverStatus():
- sys.exit(1)
-
-def iceGridClientServerTest(testdir, name, additionalClientOptions, additionalServerOptions):
+def iceGridClientServerTest(additionalClientOptions, additionalServerOptions):
+ testdir = os.getcwd()
server = TestUtil.getDefaultServerFile()
client = TestUtil.getDefaultClientFile()
if TestUtil.getDefaultMapping() != "java":
server = os.path.join(testdir, server)
client = os.path.join(testdir, client)
+ if TestUtil.getDefaultMapping() == "java":
+ os.environ['CLASSPATH'] = os.path.join(os.getcwd(), "classes") + os.pathsep + os.environ.get("CLASSPATH", "")
+
clientOptions = getDefaultLocatorProperty() + ' ' + additionalClientOptions
serverOptions = getDefaultLocatorProperty() + ' ' + additionalServerOptions
- startIceGridRegistry(testdir, True)
+ registryProcs = startIceGridRegistry(testdir, True)
print "starting server...",
- serverPipe = TestUtil.startServer(server, serverOptions + " 2>&1", TestUtil.DriverConfig("server"))
- if TestUtil.getDefaultMapping() != "java":
- TestUtil.getServerPid(serverPipe)
- TestUtil.getAdapterReady(serverPipe)
+ serverProc= TestUtil.startServer(server, serverOptions, TestUtil.DriverConfig("server"))
print "ok"
print "starting client...",
- clientPipe = TestUtil.startClient(client, clientOptions + " 2>&1", TestUtil.DriverConfig("client"))
+ clientProc = TestUtil.startClient(client, clientOptions, TestUtil.DriverConfig("client"))
print "ok"
- TestUtil.printOutputFromPipe(clientPipe)
-
- clientStatus = TestUtil.closePipe(clientPipe)
- if clientStatus:
- TestUtil.killServers()
- sys.exit(1)
-
- shutdownIceGridRegistry()
+ clientProc.waitTestSuccess()
+ serverProc.waitTestSuccess()
- TestUtil.joinServers()
-
- if TestUtil.serverStatus():
- sys.exit(1)
+ shutdownIceGridRegistry(registryProcs)
def cleanDbDir(path):
for filename in [ os.path.join(path, f) for f in os.listdir(path) if f != ".gitignore"]:
diff --git a/config/IceStormUtil.py b/scripts/IceStormUtil.py
index e4d154a14bb..19d27e818be 100644
--- a/config/IceStormUtil.py
+++ b/scripts/IceStormUtil.py
@@ -2,15 +2,15 @@
# **********************************************************************
#
-# 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.
#
# **********************************************************************
-import TestUtil
import os, sys
+import TestUtil
global testdir
global toplevel
@@ -28,60 +28,29 @@ origIceStormService = ' --IceBox.Service.IceStorm=IceStormService,' + TestUtil.g
origIceStormProxy = '%s/TopicManager:default -p %d'
origIceStormReference = ' --IceStormAdmin.TopicManager.Default="%s"'
-def printOutput(pipe):
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- print line,
- except IOError:
- pass
-
-def captureOutput(pipe):
- out = ""
- try:
- while True:
- line = pipe.readline()
- if not line:
- break
- out = out + line
- except IOError:
- pass
- return out
-
class IceStormUtil(object):
def __init__(self, toplevel, testdir):
self.toplevel = toplevel
self.testdir = testdir
- self.iceBox = TestUtil.getIceBox(testdir)
+ self.iceBox = TestUtil.getIceBox()
self.iceBoxAdmin = os.path.join(TestUtil.getCppBinDir(), "iceboxadmin")
self.iceStormAdmin = os.path.join(TestUtil.getCppBinDir(), "icestormadmin")
def runIceBoxAdmin(self, endpts, command):
- clientCfg = TestUtil.DriverConfig("client")
- pipe = TestUtil.startClient(self.iceBoxAdmin, endpts + " " + command)
- out = captureOutput(pipe)
- status = TestUtil.closePipe(pipe)
- if status:
- print "non-zero status! %d" % status
- print out
- TestUtil.killServers()
- sys.exit(1)
- return out
+ proc = TestUtil.startClient(self.iceBoxAdmin, endpts + " " + command, echo = False)
+ proc.waitTestSuccess()
+ return proc.buf
def admin(self, cmd, **args):
- return self.adminWithRef(self.iceStormReference, cmd, **args)
+ self.adminWithRef(self.iceStormReference, cmd, **args)
- def adminWithRef(self, ref, cmd, terminateOnError=True):
- pipe = TestUtil.startClient(self.iceStormAdmin, ref + r' -e "%s"' % cmd)
- out = captureOutput(pipe)
- status = TestUtil.closePipe(pipe)
- if terminateOnError and status:
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
- return status, out.strip()
+ def adminWithRef(self, ref, cmd, expect = None):
+ proc = TestUtil.startClient(self.iceStormAdmin, ref + r' -e "%s"' % cmd, echo = False)
+ if expect:
+ proc.expect(expect)
+ proc.wait()
+ else:
+ proc.waitTestSuccess()
def reference(self):
return self.iceStormReference
@@ -95,7 +64,7 @@ class Replicated(IceStormUtil):
dbDir = "db",
instanceName="IceStorm", port = 12010):
IceStormUtil.__init__(self, toplevel, testdir)
- self.pipes = []
+ self.procs = []
self.nendpoints = [] # Node endpoints
self.instanceName = instanceName
self.ibendpoints = [] # IceBox endpoints
@@ -130,7 +99,7 @@ class Replicated(IceStormUtil):
self.replicaProperties = []
self.dbHome= []
self.iceStormDBEnv= []
- self.pipes = []
+ self.procs = []
for replica in range(0, 3):
self.iceBoxEndpoints.append(origIceBoxEndpoints % self.ibendpoints[replica])
service = origIceStormService % self.isendpoints[replica]
@@ -152,17 +121,17 @@ class Replicated(IceStormUtil):
self.dbHome.append(dbHome)
TestUtil.cleanDbDir(dbHome)
self.iceStormDBEnv.append(" --Freeze.DbEnv.IceStorm.DbHome=%s" % dbHome)
- self.pipes.append(None)
+ self.procs.append(None)
topicReplicaProxy = '%s/TopicManager:%s' % (instanceName, replicaTopicManagerEndpoints)
self.iceStormProxy = topicReplicaProxy
self.iceStormReference = ' --IceStormAdmin.TopicManager.Default="%s"' % topicReplicaProxy
- def adminForReplica(self, replica, cmd, **args):
+ def adminForReplica(self, replica, cmd, expect = None, **args):
ep = self.isendpoints[replica]
proxy = origIceStormProxy % (self.instanceName, self.isendpoints[replica])
ref = origIceStormReference % proxy
- return self.adminWithRef(ref, cmd, **args)
+ self.adminWithRef(ref, cmd, expect, **args)
def clean(self):
for replica in range(0, 3):
@@ -181,21 +150,20 @@ class Replicated(IceStormUtil):
if echo:
print "ok"
- def startReplica(self, replica, echo = True, additionalOptions = "", createThread = True):
+ def startReplica(self, replica, echo = True, additionalOptions = ""):
if echo:
print "starting icestorm replica %d..." % replica,
sys.stdout.flush()
- pipe = TestUtil.startServer(self.iceBox,
+ proc = TestUtil.startServer(self.iceBox,
self.iceBoxEndpoints[replica] +
self.iceStormEndpoints[replica] +
self.replicaProperties[replica] +
self.iceStormDBEnv[replica] +
- additionalOptions)
- self.pipes.append(pipe)
- TestUtil.getServerPid(pipe)
- TestUtil.waitServiceReady(pipe, "IceStorm")
- self.pipes[replica] = pipe
+ additionalOptions,
+ adapter = "IceStorm",
+ echo = False)
+ self.procs[replica] = proc
if echo:
print "ok"
@@ -204,13 +172,10 @@ class Replicated(IceStormUtil):
self.stopReplica(replica)
def stopReplica(self, replica):
- if self.pipes[replica]:
+ if self.procs[replica]:
self.runIceBoxAdmin(self.iceBoxEndpoints[replica], "shutdown")
- if TestUtil.specificServerStatus(self.pipes[replica]):
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
- self.pipes[replica] = None
+ self.procs[replica].waitTestSuccess()
+ self.procs[replica] = None
def reference(self, replica=-1):
if replica == -1:
@@ -255,7 +220,7 @@ class NonReplicated(IceStormUtil):
def clean(self):
TestUtil.cleanDbDir(self.dbHome)
- def start(self, echo = True, additionalOptions = "", createThread = True):
+ def start(self, echo = True, additionalOptions = ""):
if echo:
if self.transient:
print "starting transient icestorm service...",
@@ -263,23 +228,19 @@ class NonReplicated(IceStormUtil):
print "starting icestorm service...",
sys.stdout.flush()
- self.pipe = TestUtil.startServer(self.iceBox,
+ self.proc = TestUtil.startServer(self.iceBox,
self.iceBoxEndpoints +
self.iceStormService +
self.iceStormDBEnv +
- additionalOptions)
- TestUtil.getServerPid(self.pipe)
- TestUtil.waitServiceReady(self.pipe, "IceStorm", createThread)
+ additionalOptions, adapter = "IceStorm",
+ echo = False)
if echo:
print "ok"
- return self.pipe
+ return self.proc
def stop(self):
self.runIceBoxAdmin(self.iceBoxEndpoints, "shutdown")
- if TestUtil.specificServerStatus(self.pipe):
- print "failed!"
- TestUtil.killServers()
- sys.exit(1)
+ self.proc.waitTestSuccess()
def init(toplevel, testdir, type, **args):
if type == "replicated":
diff --git a/config/TestUtil.py b/scripts/TestUtil.py
index 0711d5662a3..23424f42b66 100755
--- a/config/TestUtil.py
+++ b/scripts/TestUtil.py
@@ -1,14 +1,13 @@
-#!/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.
#
# **********************************************************************
-import sys, os, re, errno, getopt, time, StringIO, string
+import sys, os, re, errno, getopt, time, StringIO, string, copy
from threading import Thread
# Global flags and their default values.
@@ -20,10 +19,54 @@ debug = False # Set to True to enable test suite debugging.
mono = False # Set to True when not on Windows
keepGoing = False # Set to True to have the tests continue on failure.
ipv6 = False # Default to use IPv4 only
-ice_home = None # Binary distribution to use (None to use binaries from source distribution)
+iceHome = None # Binary distribution to use (None to use binaries from source distribution)
x64 = False # Binary distribution is 64-bit
+java2 = False # Use Java 2 jar file from binary distribution
javaCmd = "java" # Default java loader
valgrind = False # Set to True to use valgrind for C++ executables.
+tracefile = None
+cross = []
+
+def isCygwin():
+ # The substring on sys.platform is required because some cygwin
+ # versions return variations like "cygwin_nt-4.01".
+ return sys.platform[:6] == "cygwin"
+
+def isWin32():
+ return sys.platform == "win32" or isCygwin()
+
+def isVista():
+ return isWin32() and sys.getwindowsversion()[0] == 6
+
+def isWin9x():
+ if isWin32():
+ return not (os.environ.has_key("OS") and os.environ["OS"] == "Windows_NT")
+ else:
+ return 0
+
+def isSolaris():
+ return sys.platform == "sunos5"
+
+def isSparc():
+ p = os.popen("uname -m")
+ l = p.readline().strip()
+ p.close()
+ if l == "sun4u":
+ return True
+ else:
+ return False
+
+def isHpUx():
+ return sys.platform == "hp-ux11"
+
+def isAIX():
+ return sys.platform in ['aix4', 'aix5']
+
+def isDarwin():
+ return sys.platform == "darwin"
+
+def isLinux():
+ return sys.platform.startswith("linux")
#
# The PHP interpreter is called "php5" on some platforms (e.g., SLES).
@@ -47,59 +90,70 @@ defaultMapping = None
testErrors = []
-def configurePaths():
- toplevel = findTopLevel()
+toplevel = None
- if ice_home:
- print "*** using Ice installation from " + ice_home,
+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, "scripts", "TestUtil.py")) ]
+if len(path) == 0:
+ raise "can't find toplevel directory!"
+toplevel = path[0]
+
+def sanitize(cp):
+ np = ""
+ for p in cp.split(os.pathsep):
+ if p == "classes":
+ continue
+ if len(np) > 0:
+ np = np + os.pathsep
+ np = np + p
+ return np
+
+def configurePaths():
+ if iceHome:
+ print "*** using Ice installation from " + iceHome,
if x64:
print "(64bit)",
print
+ # First sanitize the environment.
+ os.environ["CLASSPATH"] = sanitize(os.getenv("CLASSPATH", ""))
+
#
# If Ice is installed from RPMs, just set the CLASSPATH for Java.
#
- if ice_home == "/usr":
+ if iceHome == "/usr":
javaDir = os.path.join("/", "usr", "share", "java")
- os.environ["CLASSPATH"] = os.path.join(javaDir, "Ice.jar") + os.pathsep + os.getenv("CLASSPATH", "")
+ if java2:
+ addClasspath(os.path.join(javaDir, "Ice-java2.jar"))
+ else:
+ addClasspath(os.path.join(javaDir, "Ice.jar"))
return # That's it, we're done!
if isWin32():
- os.environ["PATH"] = getCppBinDir() + os.pathsep + os.getenv("PATH", "")
+ libDir = getCppBinDir()
else:
libDir = os.path.join(getIceDir("cpp"), "lib")
- if isHpUx():
- if x64:
- if ice_home:
- libDir = os.path.join(libDir, "pa20_64")
- os.environ["LD_LIBRARY_PATH"] = libDir + os.pathsep + os.getenv("LD_LIBRARY_PATH", "")
- else:
- os.environ["SHLIB_PATH"] = libDir + os.pathsep + os.getenv("SHLIB_PATH", "")
- elif isDarwin():
- os.environ["DYLD_LIBRARY_PATH"] = libDir + os.pathsep + os.getenv("DYLD_LIBRARY_PATH", "")
- elif isAIX():
- os.environ["LIBPATH"] = libDir + os.pathsep + os.getenv("LIBPATH", "")
- elif isSolaris():
- if x64:
- if ice_home:
- if isSparc():
- libDir = os.path.join(libDir, "sparcv9")
- else:
- libDir = os.path.join(libDir, "amd64")
- os.environ["LD_LIBRARY_PATH_64"] = libDir + os.pathsep + os.getenv("LD_LIBRARY_PATH_64", "")
- else:
- os.environ["LD_LIBRARY_PATH"] = libDir + os.pathsep + os.getenv("LD_LIBRARY_PATH", "")
- else:
- if x64:
- if ice_home:
- libDir = libDir + "64"
- os.environ["LD_LIBRARY_PATH_64"] = libDir + os.pathsep + os.getenv("LD_LIBRARY_PATH_64", "")
- else:
- os.environ["LD_LIBRARY_PATH"] = libDir + os.pathsep + os.getenv("LD_LIBRARY_PATH", "")
+ if iceHome and x64:
+ if isHpUx():
+ libDir = os.path.join(libDir, "pa20_64")
+ elif isSolaris():
+ if isSparc():
+ libDir = os.path.join(libDir, "sparcv9")
+ else:
+ libDir = os.path.join(libDir, "amd64")
+ else:
+ libDir = libDir + "64"
+ addLdPath(libDir)
javaDir = os.path.join(getIceDir("java"), "lib")
- os.environ["CLASSPATH"] = os.path.join(javaDir, "Ice.jar") + os.pathsep + os.getenv("CLASSPATH", "")
- os.environ["CLASSPATH"] = os.path.join(javaDir) + os.pathsep + os.getenv("CLASSPATH", "")
+ if iceHome and java2:
+ addClasspath(os.path.join(javaDir, "java2", "Ice.jar"))
+ else:
+ addClasspath(os.path.join(javaDir, "Ice.jar"))
+ addClasspath(os.path.join(javaDir))
#
# On Windows, C# assemblies are found thanks to the .exe.config files.
@@ -119,72 +173,56 @@ def configurePaths():
rubyDir = os.path.join(getIceDir("rb"), "ruby")
os.environ["RUBYLIB"] = rubyDir + os.pathsep + os.getenv("RUBYLIB", "")
-def addLdPath(libpath):
+def addLdPath(libpath, env = None):
+ if env is None:
+ env = os.environ
if isWin32():
- os.environ["PATH"] = libpath + os.pathsep + os.getenv("PATH", "")
+ env["PATH"] = libpath + os.pathsep + env.get("PATH", "")
elif isHpUx():
- os.environ["SHLIB_PATH"] = libpath + os.pathsep + os.getenv("SHLIB_PATH", "")
- os.environ["LD_LIBRARY_PATH"] = libpath + os.pathsep + os.getenv("LD_LIBRARY_PATH", "")
+ env["SHLIB_PATH"] = libpath + os.pathsep + env.get("SHLIB_PATH", "")
+ env["LD_LIBRARY_PATH"] = libpath + os.pathsep + env.get("LD_LIBRARY_PATH", "")
elif isDarwin():
- os.environ["DYLD_LIBRARY_PATH"] = libpath + os.pathsep + os.getenv("DYLD_LIBRARY_PATH", "")
+ env["DYLD_LIBRARY_PATH"] = libpath + os.pathsep + env.get("DYLD_LIBRARY_PATH", "")
elif isAIX():
- os.environ["LIBPATH"] = libpath + os.pathsep + os.getenv("LIBPATH", "")
+ env["LIBPATH"] = libpath + os.pathsep + env.get("LIBPATH", "")
else:
- os.environ["LD_LIBRARY_PATH"] = libpath + os.pathsep + os.getenv("LD_LIBRARY_PATH", "")
- os.environ["LD_LIBRARY_PATH_64"] = libpath + os.pathsep + os.getenv("LD_LIBRARY_PATH_64", "")
+ env["LD_LIBRARY_PATH"] = libpath + os.pathsep + env.get("LD_LIBRARY_PATH", "")
+ env["LD_LIBRARY_PATH_64"] = libpath + os.pathsep + env.get("LD_LIBRARY_PATH_64", "")
+ return env
+
+def addClasspath(dir, env = None):
+ if env is None:
+ env = os.environ
+ env["CLASSPATH"] = dir + os.pathsep + env.get("CLASSPATH", "")
+ return env
+
+# List of supported cross languages test.
+crossTests = [
+ "Ice/adapterDeactivation",
+ "Ice/background",
+ "Ice/binding",
+ "Ice/checksum",
+ #"Ice/custom",
+ "Ice/exceptions",
+ "Ice/facets",
+ "Ice/hold",
+ "Ice/inheritance",
+ "Ice/location",
+ "Ice/objects",
+ "Ice/operations",
+ "Ice/proxy",
+ "Ice/retry",
+ #"Ice/servantLocator",
+ "Ice/timeout",
+ "Ice/slicing/exceptions",
+ "Ice/slicing/objects",
+ ]
-def isCygwin():
- # The substring on sys.platform is required because some cygwin
- # versions return variations like "cygwin_nt-4.01".
- return sys.platform[:6] == "cygwin"
-
-def isWin32():
- return sys.platform == "win32" or isCygwin()
-
-def isVista():
- return isWin32() and sys.getwindowsversion()[0] == 6
-
-def isWin9x():
- if isWin32():
- return not (os.environ.has_key("OS") and os.environ["OS"] == "Windows_NT")
- else:
- return 0
-
-def isSolaris():
- return sys.platform == "sunos5"
-
-def isSparc():
- p = os.popen("uname -m")
- l = p.readline().strip()
- p.close()
- if l == "sun4u":
- return True
- else:
- return False
-
-def isHpUx():
- return sys.platform == "hp-ux11"
-
-def isAIX():
- return sys.platform in ['aix4', 'aix5']
-
-def isDarwin():
- return sys.platform == "darwin"
-
-def isLinux():
- return sys.platform.startswith("linux")
-
-def index(l, re):
- """Find the index of the first item in the list that matches the given re"""
- for i in range(0, len(l)):
- if re.search(l[i]):
- return i
- return -1
-
def run(tests, root = False):
def usage():
print "usage: " + sys.argv[0] + """
--all Run all sensible permutations of the tests.
+ --all-cross Run all sensible permutations of cross language tests.
--start=index Start running the tests at the given index.
--loop Run the tests in a loop.
--filter=<regex> Run all the tests that match the given regex.
@@ -199,15 +237,17 @@ def run(tests, root = False):
--ipv6 Use IPv6 addresses.
--ice-home=<path> Use the binary distribution from the given path.
--x64 Binary distribution is 64-bit.
+ --java2 Use Java 2 jar file.
+ --cross=lang Run cross language test.
--script Generate a script to run the tests.
"""
sys.exit(2)
try:
opts, args = getopt.getopt(sys.argv[1:], "lr:R:",
- ["start=", "start-after=", "filter=", "rfilter=", "all", "loop", "debug",
- "protocol=", "compress", "valgrind", "host=", "serialize", "continue", "ipv6",
- "ice-home=", "x64", "script"])
+ ["start=", "start-after=", "filter=", "rfilter=", "all", "all-cross", "loop",
+ "debug", "protocol=", "compress", "valgrind", "host=", "serialize", "continue",
+ "ipv6", "ice-home=", "cross=", "x64", "script", "java2"])
except getopt.GetoptError:
usage()
@@ -217,12 +257,14 @@ def run(tests, root = False):
start = 0
loop = False
all = False
+ allCross = False
arg = ""
script = False
filters = []
for o, a in opts:
if o == "--continue":
+ global keepGoing
keepGoing = True
elif o in ("-l", "--loop"):
loop = True
@@ -232,8 +274,16 @@ def run(tests, root = False):
filters.append((testFilter, True))
else:
filters.append((testFilter, False))
+ elif o == "--cross":
+ global cross
+ if not a in ["cpp", "java", "cs", "py", "rb" ]:
+ print "cross must be one of cpp, java, cs, py or rb"
+ sys.exit(1)
+ cross.append(a)
elif o == "--all" :
all = True
+ elif o == "--all-cross" :
+ allCross = True
elif o in '--start':
start = int(a)
elif o == "--script":
@@ -245,18 +295,12 @@ def run(tests, root = False):
print "SSL is not supported with mono"
sys.exit(1)
- if o in ( "--protocol", "--host", "--debug", "--compress", "--valgrind", "--serialize", "--ipv6", \
- "--ice-home", "--x64"):
+ if o in ( "--cross", "--protocol", "--host", "--debug", "--compress", "--valgrind", "--serialize", "--ipv6", \
+ "--ice-home", "--x64", "--java2"):
arg += " " + o
if len(a) > 0:
arg += " " + a
- for testFilter, removeFilter in filters:
- if removeFilter:
- tests = [ (x, y) for x,y in tests if not testFilter.search(x) ]
- else:
- tests = [ (x, y) for x,y in tests if testFilter.search(x) ]
-
if not root:
tests = [ (os.path.join(getDefaultMapping(), "test", x), y) for x, y in tests ]
@@ -288,9 +332,42 @@ def run(tests, root = False):
a = "--protocol=tcp --serialize %s" % arg
expanded.append([ (test, a, config) for test,config in tests if "stress" in config])
- else:
+ elif not allCross:
expanded.append([ (test, arg, config) for test,config in tests])
+ if allCross:
+ if len(cross) == 0:
+ cross = ["cpp", "java", "cs" ]
+ if root:
+ allLang = ["cpp", "java", "cs" ]
+ else:
+ allLang = [ getDefaultMapping() ]
+ for lang in allLang:
+ # This is all other languages than the current mapping.
+ crossLang = [ l for l in cross if lang != l ]
+ # This is all eligible cross tests for the current mapping.
+ # Now expand out the tests. We run only tcp for most cross tests.
+ for c in crossLang:
+ a = "--cross=%s --protocol=tcp" % c
+ expanded.append([ ( "%s/test/%s" % (lang, test), a, []) for test in crossTests if not (test == "Ice/background" and (lang == "cs" or c == "cs"))])
+
+ # Add ssl & compress for the operations test.
+ if mono and c == "cs": # Don't add the ssl tests for mono.
+ continue
+ a = "--cross=%s --protocol=ssl --compress" % c
+ expanded.append([("%s/test/Ice/operations" % lang, a, [])])
+
+ # Apply filters after expanding.
+ if len(filters) > 0:
+ for testFilter, removeFilter in filters:
+ nexpanded = []
+ for tests in expanded:
+ if removeFilter:
+ nexpanded.append([ (x, a, y) for x,a,y in tests if not testFilter.search(x) ])
+ else:
+ nexpanded.append([ (x, a, y) for x,a,y in tests if testFilter.search(x) ])
+ expanded = nexpanded
+
if loop:
num = 1
while 1:
@@ -307,43 +384,19 @@ def run(tests, root = False):
if not isWin32():
mono = True
-
-toplevel = None
-
-def findTopLevel():
- global toplevel
-
- if toplevel != None:
- return toplevel
-
- for toplevel in [".", "..", "../..", "../../..", "../../../..", "../../../../.."]:
- toplevel = os.path.abspath(toplevel)
- if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
- break
- else:
- toplevel = None
- raise "can't find toplevel directory!"
-
- return toplevel
def getIceDir(subdir = None):
#
# If ICE_HOME is set we're running the test against a binary distribution. Otherwise,
# we're running the test against a source distribution.
#
- global ice_home
- if ice_home:
- return ice_home
+ global iceHome
+ if iceHome:
+ return iceHome
elif subdir:
- return os.path.join(findTopLevel(), subdir)
+ return os.path.join(toplevel, subdir)
else:
- return findTopLevel()
-
-findTopLevel()
-
-serverPids = []
-serverThreads = []
-allServerThreads = []
+ return toplevel
def writePhpIni(src, dst):
extDir = None
@@ -363,8 +416,8 @@ def writePhpIni(src, dst):
extDir = os.path.abspath(os.path.join(getIceDir("php"), "bin"))
else:
ext = "IcePHP.so"
- if not ice_home:
- extDir = os.path.abspath(os.path.join(findTopLevel(), "php", "lib"))
+ if not iceHome:
+ extDir = os.path.abspath(os.path.join(toplevel, "php", "lib"))
else:
#
# If ICE_HOME points to the installation directory of a source build, the
@@ -373,12 +426,12 @@ def writePhpIni(src, dst):
# We could also execute "php -m" and check if the output includes "ice".
#
if x64:
- extDir = os.path.join(ice_home, "lib64")
+ extDir = os.path.join(iceHome, "lib64")
else:
- extDir = os.path.join(ice_home, "lib")
+ extDir = os.path.join(iceHome, "lib")
if not os.path.exists(os.path.join(extDir, ext)):
- if ice_home == "/usr":
+ if iceHome == "/usr":
extDir = None # Assume PHP is already configured to load the extension.
else:
print "unable to find IcePHP extension!"
@@ -386,7 +439,7 @@ def writePhpIni(src, dst):
ini = open(src, "r").readlines()
for i in range(0, len(ini)):
- ini[i] = ini[i].replace("ICE_HOME", os.path.join(findTopLevel()))
+ ini[i] = ini[i].replace("ICE_HOME", os.path.join(toplevel))
tmpini = open(dst, "w")
tmpini.writelines(ini)
if extDir:
@@ -396,7 +449,7 @@ def writePhpIni(src, dst):
def getIceSoVersion():
- config = open(os.path.join(findTopLevel(), "cpp", "include", "IceUtil", "Config.h"), "r")
+ config = open(os.path.join(toplevel, "cpp", "include", "IceUtil", "Config.h"), "r")
intVersion = int(re.search("ICE_INT_VERSION ([0-9]*)", config.read()).group(1))
majorVersion = intVersion / 10000
minorVersion = intVersion / 100 - 100 * majorVersion
@@ -435,167 +488,7 @@ def getJdkVersion():
javaPipeOut.close()
return version
-def closePipe(pipe):
- try:
- status = pipe.close()
- except IOError, ex:
- # TODO: There's a waitpid problem on CentOS, so we have to ignore ECHILD.
- if ex.errno == errno.ECHILD:
- status = 0
- # This happens with the test/IceGrid/simple test on AIX, and the
- # C# fault tolerance test.
- elif ex.errno == 0:
- status = 0
- else:
- raise
- return status
-
-class ReaderThread(Thread):
- def __init__(self, pipe):
- self.pipe = pipe
- Thread.__init__(self)
-
- def run(self):
-
- try:
- while 1:
- line = self.pipe.readline()
- if not line: break
- # Suppress "adapter ready" messages. Under windows the eol isn't \n.
- if not line.endswith(" ready\n") and not line.endswith(" ready\r\n"):
- sys.stdout.flush()
- print line,
- except IOError:
- pass
-
- self.status = closePipe(self.pipe)
-
- def getPipe(self):
- return self.pipe
-
- def getStatus(self):
- return self.status
-
-def joinServers():
- global serverThreads
- global allServerThreads
- for t in serverThreads:
- t.join()
- allServerThreads.append(t)
- serverThreads = []
-
-# This joins with all servers and if any of them failed then
-# it returns the failure status.
-def serverStatus():
- global allServerThreads
- joinServers()
- for t in allServerThreads:
- status = t.getStatus()
- if status:
- print "server ", str(t), " status: ", str(status)
- return status
- return 0
-
-# This joins with a specific server (the one started with the given pipe)
-# returns its exit status. If the server cannot be found an exception
-# is raised.
-def specificServerStatus(pipe, timeout = None):
- global serverThreads
- for t in serverThreads:
- if t.getPipe() == pipe:
- serverThreads.remove(t)
- if isWin32() and timeout != None:
- #
- # BUGFIX: On Windows x64 with python 2.5 join with
- # a timeout doesn't work (it hangs for the duration
- # of the timeout if the thread is alive at the time
- # of the join call).
- #
- while timeout >= 0 and t.isAlive():
- time.sleep(1)
- timeout -= 1
- if not t.isAlive():
- t.join()
- else:
- t.join(timeout)
- if t.isAlive():
- raise "server with pipe " + str(pipe) + " did not exit within the timeout period."
- status = t.getStatus()
- return status
- raise "can't find server with pipe: " + str(pipe)
-
-def killServers():
- global serverPids
- global serverThreads
-
- for pid in serverPids:
-
- if isWin32():
- try:
- import win32api
- handle = win32api.OpenProcess(1, 0, pid)
- win32api.TerminateProcess(handle, 0)
- except ImportError, ex:
- print "Sorry: you must install the win32all package for killServers to work."
- return
- except:
- pass # Ignore errors, such as non-existing processes.
- else:
- try:
- os.kill(pid, 9)
- except:
- pass # Ignore errors, such as non-existing processes.
-
- serverPids = []
-
- #
- # Now join with all the threads
- #
- joinServers()
-
-def getServerPid(pipe):
- global serverPids
- global serverThreads
-
- output = ignorePid(pipe)
-
- try:
- serverPids.append(int(output))
- except ValueError:
- print "Output is not a PID: " + output
- raise
-
-def ignorePid(pipe):
- while 1:
- output = pipe.readline().strip()
- if not output:
- print "failed!"
- killServers()
- sys.exit(1)
- if output.startswith("warning: "):
- continue
- return output
-
-def getAdapterReady(pipe, createThread = True, count = 1):
- global serverThreads
-
- while count > 0:
- output = pipe.readline().strip()
- count = count - 1
-
- if not output:
- print "failed!"
- killServers()
- sys.exit(1)
-
- # Start a thread for this server.
- if createThread:
- serverThread = ReaderThread(pipe)
- serverThread.start()
- serverThreads.append(serverThread)
-
-def getIceBox(testdir):
-
+def getIceBox():
#
# Get and return the path of the IceBox executable
#
@@ -608,7 +501,7 @@ def getIceBox(testdir):
# how the IceBox service was built ("debug" vs. "release") and
# decide which icebox executable to use.
#
- build = open(os.path.join(testdir, "build.txt"), "r")
+ build = open(os.path.join(os.getcwd(), "build.txt"), "r")
type = build.read().strip()
if type == "debug":
iceBox = os.path.join(getCppBinDir(), "iceboxd.exe")
@@ -629,31 +522,7 @@ def getIceBox(testdir):
print "couldn't find icebox executable to run the test"
sys.exit(0)
- return iceBox;
-
-def waitServiceReady(pipe, token, createThread = True):
- global serverThreads
-
- while 1:
- output = pipe.readline().strip()
- if not output:
- print "failed!"
- sys.exit(1)
- if output == token + " ready":
- break
-
- # Start a thread for this server.
- if createThread:
- serverThread = ReaderThread(pipe)
- serverThread.start()
- serverThreads.append(serverThread)
-
-def printOutputFromPipe(pipe):
- while 1:
- c = pipe.read(1)
- if c == "":
- break
- os.write(1, c)
+ return iceBox
class InvalidSelectorString(Exception):
def __init__(self, value):
@@ -688,35 +557,21 @@ sslConfigTree["py"] = sslConfigTree["cpp"]
sslConfigTree["rb"] = sslConfigTree["cpp"]
sslConfigTree["php"] = sslConfigTree["cpp"]
-def getDefaultMapping(currentDir = ""):
+def getDefaultMapping():
"""Try and guess the language mapping out of the current path"""
- if currentDir != "":
- # Caller has specified the current path to use as a base.
- scriptPath = os.path.abspath(currentDir).split(os.sep)
- scriptPath.reverse()
- for p in scriptPath:
- if p in ["cpp", "cs", "java", "php", "py", "rb", "tmp"]:
- return p
-
- scriptPath = os.path.abspath(sys.argv[0]).split(os.sep)
- scriptPath.reverse()
- for p in scriptPath:
- if p in ["cpp", "cs", "java", "php", "py", "rb", "tmp"]:
- return p
-
- scriptPath = os.path.abspath(os.getcwd()).split(os.sep)
- scriptPath.reverse()
- for p in scriptPath:
- if p in ["cpp", "cs", "java", "php", "py", "rb", "tmp"]:
- return p
-
- # Default to C++
- return "cpp"
+ here = os.getcwd()
+ while len(here) > 0:
+ current = os.path.basename(here)
+ here = os.path.dirname(here)
+ if current in ["cpp", "cs", "java", "php", "py", "rb", "tmp"]:
+ return current
+ else:
+ raise "cannot determine mapping"
def getTestEnv():
env = {}
- env["certsdir"] = os.path.abspath(os.path.join(findTopLevel(), "certs"))
+ env["certsdir"] = os.path.abspath(os.path.join(toplevel, "certs"))
return env
class DriverConfig:
@@ -731,6 +586,7 @@ class DriverConfig:
overrides = None
ipv6 = False
x64 = False
+ java2 = False
def __init__(self, type = None):
global protocol
@@ -741,6 +597,7 @@ class DriverConfig:
global valgrind
global ipv6
global x64
+ global java2
self.lang = getDefaultMapping()
self.protocol = protocol
self.compress = compress
@@ -751,6 +608,7 @@ class DriverConfig:
self.type = type
self.ipv6 = ipv6
self.x64 = x64
+ self.java2 = java2
def argsToDict(argumentString, results):
"""Converts an argument string to dictionary"""
@@ -806,7 +664,7 @@ def getCommandLine(exe, config, env=None):
components.append("--Ice.ThreadPool.Server.Size=1 --Ice.ThreadPool.Server.SizeMax=3 --Ice.ThreadPool.Server.SizeWarn=0")
if config.type == "server":
- components.append("--Ice.PrintProcessId=1 --Ice.PrintAdapterReady=1 --Ice.ServerIdleTime=30")
+ components.append("--Ice.PrintAdapterReady=1 --Ice.ServerIdleTime=30")
if config.ipv6:
components.append("--Ice.Default.Host=0:0:0:0:0:0:0:1 --Ice.IPv6=1")
@@ -850,7 +708,7 @@ def getCommandLine(exe, config, env=None):
# --child-silent-after-fork=yes is required for the IceGrid/activator test where the node
# forks a process with execv failing (invalid exe name).
print >>output, "valgrind -q --child-silent-after-fork=yes --leak-check=full ",
- print >>output, "--suppressions=" + os.path.join(findTopLevel(), "config", "valgrind.sup"), exe,
+ print >>output, "--suppressions=" + os.path.join(toplevel, "config", "valgrind.sup"), exe,
else:
print >>output, exe,
@@ -861,103 +719,6 @@ def getCommandLine(exe, config, env=None):
return commandline
-def runTests(start, expanded, num = 0, script = False):
- total = 0
- for tests in expanded:
- for i, args, config in tests:
- total = total + 1
- #
- # The configs argument is a list containing one or more test configurations.
- #
- index = 0
- for tests in expanded:
- for i, args, config in tests:
- index = index + 1
- if index < start:
- continue
- i = os.path.normpath(i)
- dir = os.path.join(toplevel, i)
-
- print
- if num > 0:
- print "[" + str(num) + "]",
- if script:
- prefix = "echo \""
- suffix = "\""
- else:
- prefix = ""
- suffix = ""
-
- print "%s*** running tests %d/%d in %s%s" % (prefix, index, total, dir, suffix)
- print "%s*** configuration:" % prefix,
- if len(args.strip()) == 0:
- print "Default",
- else:
- print args.strip(),
- print suffix
-
- #
- # Skip tests not supported with IPv6 if necessary
- #
- if args.find("ipv6") != -1 and "noipv6" in config:
- print "%s*** test not supported with IPv6%s" % (prefix, suffix)
- continue
-
- if isVista() and "novista" in config:
- print "%s*** test not supported under Vista%s" % (prefix, suffix)
- continue
-
- if not isWin32() and "win32only" in config:
- print "%s*** test only supported under Win32%s" % (prefix, suffix)
- continue
-
- # If this is mono and we're running ssl protocol tests
- # then skip. This occurs when using --all.
- if mono and ("nomono" in config or (i.find(os.path.join("cs","test")) != -1 and args.find("ssl") != -1)):
- print "%s*** test not supported with mono%s" % (prefix, suffix)
- continue
-
- # If this is java and we're running ipv6 under windows then skip.
- if isWin32() and i.find(os.path.join("java","test")) != -1 and args.find("ipv6") != -1:
- print "%s*** test not supported under windows%s" % (prefix, suffix)
- continue
-
- # Skip tests not supported by valgrind
- if args.find("valgrind") and ("novalgrind" in config or args.find("ssl") != -1):
- print "%s*** test not supported with valgrind%s" % (prefix, suffix)
- continue
-
- if script:
- print "echo \"*** test started: `date`\""
- print "cd %s" % dir
- else:
- print "*** test started:", time.strftime("%x %X")
- sys.stdout.flush()
-
- os.chdir(dir)
-
- global keepGoing
- if script:
- print "if ! python %s %s; then" % (os.path.join(dir, "run.py"), args)
- print " echo 'test in %s failed'" % os.path.abspath(dir)
- if not keepGoing:
- print " exit 1"
- print "fi"
- else:
- status = os.system("python " + os.path.join(dir, "run.py " + args))
-
- if status:
- if(num > 0):
- print "[" + str(num) + "]",
- message = "test in " + os.path.abspath(dir) + " failed with exit status", status,
- print message
- if not keepGoing:
- sys.exit(status)
- else:
- print " ** Error logged and will be displayed again when suite is completed **"
- global testErrors
- testErrors.append(message)
-
def getDefaultServerFile():
lang = getDefaultMapping()
if lang in ["rb", "php", "cpp", "cs"]:
@@ -967,8 +728,9 @@ def getDefaultServerFile():
if lang == "java":
return "Server"
-def getDefaultClientFile():
- lang = getDefaultMapping()
+def getDefaultClientFile(lang = None):
+ if lang is None:
+ lang = getDefaultMapping()
if lang == "rb":
return "Client.rb"
if lang == "php":
@@ -996,204 +758,186 @@ def getDefaultCollocatedFile():
def isDebug():
return debug
-def clientServerTestWithOptionsAndNames(name, additionalServerOptions, additionalClientOptions, \
- serverName, clientName):
- lang = getDefaultMapping()
- testdir = os.path.join(findTopLevel(), lang, "test", name)
-
- server = serverName
- client = clientName
-
- if lang != "java":
- if lang in ["rb", "php"]:
- server = os.path.join(findTopLevel(), "cpp", "test", name, serverName)
- else:
- server = os.path.join(testdir, serverName)
- client = os.path.join(testdir, clientName)
-
- print "starting " + serverName + "...",
- serverCfg = DriverConfig("server")
- if lang in ["rb", "php"]:
- serverCfg.lang = "cpp"
- serverCmd = getCommandLine(server, serverCfg) + " " + additionalServerOptions
+import Expect
+def spawn(cmd, env = None, cwd = None):
if debug:
- print "(" + serverCmd + ")",
- serverPipe = os.popen(serverCmd + " 2>&1")
- if lang != "java":
- getServerPid(serverPipe)
- getAdapterReady(serverPipe)
- print "ok"
-
- cwd = os.getcwd()
- os.chdir(testdir)
-
- if lang == "php":
- writePhpIni("php.ini", "tmp.ini")
-
- print "starting " + clientName + "...",
- clientCmd = getCommandLine(client, DriverConfig("client")) + " " + additionalClientOptions
- if debug:
- print "(" + clientCmd + ")",
- clientPipe = os.popen(clientCmd + " 2>&1")
- print "ok"
-
- printOutputFromPipe(clientPipe)
-
- clientStatus = closePipe(clientPipe)
- if clientStatus:
- killServers()
-
- joinServers()
-
- if lang == "php":
- os.remove("tmp.ini")
-
- os.chdir(cwd)
-
- if clientStatus or serverStatus():
- sys.exit(1)
-
-def clientServerTestWithOptions(name, additionalServerOptions, additionalClientOptions):
-
- clientServerTestWithOptionsAndNames(name, additionalServerOptions, additionalClientOptions, getDefaultServerFile(),
- getDefaultClientFile())
-
-def clientServerTest(name):
-
- clientServerTestWithOptions(name, "", "")
-
-def clientServerTestWithClasspath(name, serverClasspath, clientClasspath):
-
- cp = os.getenv("CLASSPATH", "")
- scp = serverClasspath + os.pathsep + cp
- ccp = clientClasspath + os.pathsep + cp
-
- print "starting server...",
- os.environ["CLASSPATH"] = scp
- serverPipe = startServer(getDefaultServerFile(), "")
- os.environ["CLASSPATH"] = cp
-
- getAdapterReady(serverPipe)
- print "ok"
-
- print "starting client...",
- os.environ["CLASSPATH"] = ccp
- clientPipe = startClient(getDefaultClientFile(), "")
- os.environ["CLASSPATH"] = cp
- print "ok"
-
- printOutputFromPipe(clientPipe)
- clientStatus = closePipe(clientPipe)
+ print "(%s)" % cmd,
+ return Expect.Expect(cmd, env = env, logfile=tracefile, cwd = cwd)
+
+def spawnClient(cmd, env = None, cwd = None, echo = True):
+ client = spawn(cmd, env, cwd)
+ if echo:
+ client.trace()
+ return client
+
+def spawnServer(cmd, env = None, cwd = None, count = 1, adapter = None, echo = True):
+ server = spawn(cmd, env, cwd)
+ if adapter:
+ server.expect("%s ready\n" % adapter)
+ else:
+ while count > 0:
+ server.expect("[^\n]+ ready\n")
+ count = count -1
+ if echo:
+ server.trace([re.compile("[^\n]+ ready")])
+ return server
+
+def getMirrorDir(base, mapping):
+ """Get the mirror directory for the current test in the given mapping."""
+ lang = getDefaultMapping()
+ after = []
+ before = base
+ while len(before) > 0:
+ current = os.path.basename(before)
+ before = os.path.dirname(before)
+ if current == lang:
+ break
+ after.insert(0, current)
+ else:
+ raise "cannot find language dir"
+ return os.path.join(before, mapping, *after)
- if clientStatus or serverStatus():
- killServers()
- sys.exit(1)
-def mixedClientServerTestWithOptions(name, additionalServerOptions, additionalClientOptions):
+def clientServerTest(additionalServerOptions = "", additionalClientOptions = "",
+ server = None, client = None, serverenv = None, clientenv = None):
+ if server is None:
+ server = getDefaultServerFile()
+ if client is None:
+ client = getDefaultClientFile()
+ serverDesc = server
+ clientDesc = client
- testdir = os.path.join(findTopLevel(), getDefaultMapping(), "test", name)
lang = getDefaultMapping()
- server = getDefaultServerFile()
- client = getDefaultClientFile()
- if lang != "java":
- server = os.path.join(testdir, server)
- client = os.path.join(testdir, client)
+ testdir = os.getcwd()
- print "starting server...",
- serverCmd = getCommandLine(server, DriverConfig("server")) + ' ' + additionalServerOptions
- if debug:
- print "(" + serverCmd + ")",
- serverPipe = os.popen(serverCmd + " 2>&1")
+ # Setup the server.
+ if lang in ["rb", "php"]:
+ serverdir = getMirrorDir(testdir, "cpp")
+ else:
+ serverdir = testdir
if lang != "java":
- getServerPid(serverPipe)
- getAdapterReady(serverPipe)
- print "ok"
-
- print "starting client...",
- clientCmd = getCommandLine(client, DriverConfig("client")) + ' ' + additionalClientOptions
- if debug:
- print "(" + clientCmd + ")",
- clientPipe = os.popen(clientCmd + " 2>&1")
- ignorePid(clientPipe)
- getAdapterReady(clientPipe, False)
- print "ok"
+ server = os.path.join(serverdir, server)
+
+ if serverenv is None:
+ serverenv = copy.deepcopy(os.environ)
+ if lang == "cpp":
+ addLdPath(os.path.join(serverdir), serverenv)
+ elif lang == "java":
+ addClasspath(os.path.join(serverdir, "classes"), serverenv)
+
+ global cross
+ if len(cross) == 0:
+ cross.append(lang)
+
+ for clientLang in cross:
+ clientCfg = DriverConfig("client")
+ if clientLang != lang:
+ if clientDesc != getDefaultClientFile():
+ print "** skipping cross test"
+ return
- printOutputFromPipe(clientPipe)
+ clientCfg.lang = clientLang
+ client = getDefaultClientFile(clientLang)
+ clientdir = getMirrorDir(testdir, clientLang)
+ print clientdir
+ if not os.path.exists(clientdir):
+ print "** no matching test for %s" % clientLang
+ return
+ else:
+ clientdir = testdir
- clientStatus = closePipe(clientPipe)
+ if clientLang != "java":
+ client = os.path.join(clientdir, client)
- if clientStatus:
- killServers()
+ if clientenv is None:
+ clientenv = copy.deepcopy(os.environ)
+ if clientLang == "cpp":
+ addLdPath(os.path.join(clientdir), clientenv)
+ elif clientLang == "java":
+ addClasspath(os.path.join(clientdir, "classes"), clientenv)
- if clientStatus or serverStatus():
- sys.exit(1)
+ print "starting " + serverDesc + "...",
+ serverCfg = DriverConfig("server")
+ if lang in ["rb", "php"]:
+ serverCfg.lang = "cpp"
+ server = getCommandLine(server, serverCfg) + " " + additionalServerOptions
+ serverProc = spawnServer(server, env = serverenv)
+ print "ok"
-def mixedClientServerTest(name):
+ if lang == "php":
+ writePhpIni("php.ini", "tmp.ini")
- mixedClientServerTestWithOptions(name, "", "")
+ if clientLang == lang:
+ print "starting %s..." % clientDesc,
+ else:
+ print "starting %s %s ..." % (clientLang, clientDesc),
+ client = getCommandLine(client, clientCfg) + " " + additionalClientOptions
+ clientProc = spawnClient(client, env = clientenv)
+ print "ok"
-def collocatedTestWithOptions(name, additionalOptions):
+ clientProc.waitTestSuccess()
+ serverProc.waitTestSuccess()
- testdir = os.path.join(findTopLevel(), getDefaultMapping(), "test", name)
+def collocatedTest(additionalOptions = ""):
lang = getDefaultMapping()
+ if len(cross) > 1 or cross[0] != lang:
+ print "** skipping cross test"
+ return
+ testdir = os.getcwd()
+
collocated = getDefaultCollocatedFile()
if lang != "java":
collocated = os.path.join(testdir, collocated)
+ if lang == "cpp":
+ env = copy.deepcopy(os.environ)
+ addLdPath(os.path.join(testdir), env)
+ else:
+ env = None
+ else:
+ env = copy.deepcopy(os.environ)
+ addClasspath(os.path.join(testdir, "classes"), env)
print "starting collocated...",
- command = getCommandLine(collocated, DriverConfig("colloc")) + ' ' + additionalOptions
- if debug:
- print "(" + command + ")",
- collocatedPipe = os.popen(command + " 2>&1")
+ collocated = getCommandLine(collocated, DriverConfig("colloc")) + ' ' + additionalOptions
+ collocatedProc = spawnClient(collocated, env = env)
print "ok"
-
- printOutputFromPipe(collocatedPipe)
-
- collocatedStatus = closePipe(collocatedPipe)
-
- if collocatedStatus:
- sys.exit(1)
-
-def collocatedTest(name):
-
- collocatedTestWithOptions(name, "")
+ collocatedProc.waitTestSuccess()
def cleanDbDir(path):
for filename in [ os.path.join(path, f) for f in os.listdir(path) if f != ".gitignore" and f != "DB_CONFIG" ]:
os.remove(filename)
-def startClient(exe, args, config=None, env=None):
+def startClient(exe, args = "", config=None, env=None, echo = True):
if config == None:
config = DriverConfig("client")
- if debug:
- print "(" + getCommandLine(exe, config, env) + ' ' + args + ")",
-
+ cmd = getCommandLine(exe, config, env) + ' ' + args
if config.lang == "php":
- os.chdir(os.path.dirname(os.path.abspath(exe)))
writePhpIni("php.ini", "tmp.ini")
- return os.popen(getCommandLine(exe, config, env) + ' ' + args + " 2>&1")
+ return spawnClient(cmd, echo = echo)
-def startServer(exe, args, config=None, env=None):
+def startServer(exe, args = "", config=None, env=None, adapter = None, count = 1, echo = False):
if config == None:
config = DriverConfig("server")
- if debug:
- print "(" + getCommandLine(exe, config, env) + ' ' + args + ")",
- return os.popen(getCommandLine(exe, config, env) + ' ' +args + " 2>&1")
+ cmd = getCommandLine(exe, config, env) + ' ' + args
+ return spawnServer(cmd, adapter = adapter, count = count, echo = echo)
def startColloc(exe, args, config=None, env=None):
if config == None:
config = DriverConfig("colloc")
- if debug:
- print "(" + getCommandLine(exe, config, env) + ' ' + args + ")",
- return os.popen(getCommandLine(exe, config, env) + ' ' + args + " 2>&1")
+ cmd = getCommandLine(exe, config, env) + ' ' + args
+ return spawnClient(cmd)
-def getMappingDir(currentDir):
- return os.path.abspath(os.path.join(findTopLevel(), getDefaultMapping(currentDir)))
+def simpleTest(exe, options = ""):
+ print "starting client...",
+ command = exe + ' ' + options
+ client = spawnClient(command)
+ print "ok"
+ client.waitTestSuccess()
def getCppBinDir():
binDir = os.path.join(getIceDir("cpp"), "bin")
- if ice_home and x64:
+ if iceHome and x64:
if isHpUx():
binDir = os.path.join(binDir, "pa20_64")
elif isSolaris():
@@ -1205,10 +949,25 @@ def getCppBinDir():
binDir = os.path.join(binDir, "x64")
return binDir
+def getTestName():
+ lang = getDefaultMapping()
+ here = os.getcwd().split(os.sep)
+ here.reverse()
+ for i in range(0, len(here)):
+ if here[i] == lang:
+ break
+ else:
+ raise "cannot find language dir"
+ here = here[:i-1]
+ here.reverse()
+ # The crossTests list is in UNIX format.
+ return os.path.join(*here).replace(os.sep, '/')
+
def processCmdLine():
def usage():
print "usage: " + sys.argv[0] + """
--debug Display debugging information on each test.
+ --trace=<file> Display tracing.
--protocol=tcp|ssl Run with the given protocol.
--compress Run the tests with protocol compression.
--valgrind Run the tests with valgrind.
@@ -1217,13 +976,15 @@ def processCmdLine():
--ipv6 Use IPv6 addresses.
--ice-home=<path> Use the binary distribution from the given path.
--x64 Binary distribution is 64-bit.
+ --java2 Use Java 2 jar file.
+ --cross=lang Run cross language test.
"""
sys.exit(2)
try:
opts, args = getopt.getopt(
- sys.argv[1:], "", ["debug", "protocol=", "compress", "valgrind", "host=", "serialize", "ipv6", \
- "ice-home=", "x64"])
+ sys.argv[1:], "", ["debug", "trace=", "protocol=", "compress", "valgrind", "host=", "serialize", "ipv6", \
+ "ice-home=", "x64", "cross=", "java2"])
except getopt.GetoptError:
usage()
@@ -1232,11 +993,32 @@ def processCmdLine():
for o, a in opts:
if o == "--ice-home":
- global ice_home
- ice_home = a
+ global iceHome
+ iceHome = a
+ elif o == "--cross":
+ global cross
+ #testName = getTestName()
+ #if testName == "Ice/custom":
+ #if getTestName() not in crossTests:
+ cross.append(a)
+ if not a in ["cpp", "java", "cs", "py", "rb" ]:
+ print "cross must be one of cpp, java, cs, py or rb"
+ sys.exit(1)
+ if getTestName() not in crossTests:
+ print "*** This test does not support cross language testing"
+ sys.exit(0)
+ # Temporary.
+ lang = getDefaultMapping()
+ if getTestName() == "Ice/background" and (lang == "cs" or cross == "cs"):
+ print "*** This test does not support cross language testing"
+ sys.exit(0)
+
elif o == "--x64":
global x64
x64 = True
+ elif o == "--java2":
+ global java2
+ java2 = True
elif o == "--compress":
global compress
compress = True
@@ -1252,6 +1034,12 @@ def processCmdLine():
elif o == "--ipv6":
global ipv6
ipv6 = True
+ if o == "--trace":
+ global tracefile
+ if a == "stdout":
+ tracefile = sys.stdout
+ else:
+ tracefile = open(a, "w")
elif o == "--debug":
global debug
debug = True
@@ -1269,16 +1057,139 @@ def processCmdLine():
usage()
# Only use binary distribution from ICE_HOME environment variable if USE_BIN_DIST=yes
- if not ice_home and os.environ.get("USE_BIN_DIST", "no") == "yes":
+ if not iceHome and os.environ.get("USE_BIN_DIST", "no") == "yes":
if os.environ.get("ICE_HOME", "") != "":
- ice_home = os.environ["ICE_HOME"]
+ iceHome = os.environ["ICE_HOME"]
elif isLinux():
- ice_home = "/usr"
+ iceHome = "/usr"
if not x64:
x64 = isWin32() and os.environ.get("XTARGET") == "x64" or os.environ.get("LP64") == "yes"
configurePaths()
+def runTests(start, expanded, num = 0, script = False):
+ total = 0
+ for tests in expanded:
+ for i, args, config in tests:
+ total = total + 1
+ #
+ # The configs argument is a list containing one or more test configurations.
+ #
+ index = 0
+ for tests in expanded:
+ for i, args, config in tests:
+ index = index + 1
+ if index < start:
+ continue
+ i = os.path.normpath(i)
+ dir = os.path.join(toplevel, i)
+
+ print
+ if num > 0:
+ print "[" + str(num) + "]",
+ if script:
+ prefix = "echo \""
+ suffix = "\""
+ else:
+ prefix = ""
+ suffix = ""
+
+ print "%s*** running tests %d/%d in %s%s" % (prefix, index, total, dir, suffix)
+ print "%s*** configuration:" % prefix,
+ if len(args.strip()) == 0:
+ print "Default",
+ else:
+ print args.strip(),
+ print suffix
+
+ if args.find("cross") != -1:
+ test = os.path.join(*i.split(os.sep)[2:])
+ # The crossTests list is in UNIX format.
+ test = test.replace(os.sep, '/')
+ if not test in crossTests:
+ print "%s*** test does not support cross testing%s" % (prefix, suffix)
+ continue
+
+ #
+ # Skip tests not supported with IPv6 if necessary
+ #
+ if args.find("ipv6") != -1 and "noipv6" in config:
+ print "%s*** test not supported with IPv6%s" % (prefix, suffix)
+ continue
+
+ if isVista() and "novista" in config:
+ print "%s*** test not supported under Vista%s" % (prefix, suffix)
+ continue
+
+ if not isWin32() and "win32only" in config:
+ print "%s*** test only supported under Win32%s" % (prefix, suffix)
+ continue
+
+ # If this is mono and we're running ssl protocol tests
+ # then skip. This occurs when using --all.
+ if mono and ("nomono" in config or (i.find(os.path.join("cs","test")) != -1 and args.find("ssl") != -1)):
+ print "%s*** test not supported with mono%s" % (prefix, suffix)
+ continue
+
+ # If this is java and we're running ipv6 under windows then skip.
+ if isWin32() and i.find(os.path.join("java","test")) != -1 and args.find("ipv6") != -1:
+ print "%s*** test not supported under windows%s" % (prefix, suffix)
+ continue
+
+ # Skip tests not supported by valgrind
+ if args.find("valgrind") != -1 and ("novalgrind" in config or args.find("ssl") != -1):
+ print "%s*** test not supported with valgrind%s" % (prefix, suffix)
+ continue
+
+ if script:
+ print "echo \"*** test started: `date`\""
+ print "cd %s" % dir
+ else:
+ print "*** test started:", time.strftime("%x %X")
+ sys.stdout.flush()
+
+ os.chdir(dir)
+
+ global keepGoing
+ if script:
+ print "if ! python %s %s; then" % (os.path.join(dir, "run.py"), args)
+ print " echo 'test in %s failed'" % os.path.abspath(dir)
+ if not keepGoing:
+ print " exit 1"
+ print "fi"
+ else:
+ status = os.system("python " + os.path.join(dir, "run.py " + args))
+
+ if status:
+ if(num > 0):
+ print "[" + str(num) + "]",
+ message = "test in " + os.path.abspath(dir) + " failed with exit status", status,
+ print message
+ if not keepGoing:
+ sys.exit(status)
+ else:
+ print " ** Error logged and will be displayed again when suite is completed **"
+ global testErrors
+ testErrors.append(message)
+
+
if os.environ.has_key("ICE_CONFIG"):
os.unsetenv("ICE_CONFIG")
+
+import inspect
+frame = inspect.currentframe()
+# Move to the top-most frame in the callback.
+while frame.f_back is not None:
+ frame = frame.f_back
+if os.path.split(frame.f_code.co_filename)[1] == "run.py":
+ # If we're not in the test directory, chdir to the correct
+ # location.
+ if not os.path.isabs(sys.argv[0]):
+ d = os.path.join(os.getcwd(), sys.argv[0])
+ else:
+ d = sys.argv[0]
+ d = os.path.split(d)[0]
+ if os.path.normpath(d) != os.getcwd():
+ os.chdir(d)
+ processCmdLine()
diff --git a/scripts/__init__.py b/scripts/__init__.py
new file mode 100644
index 00000000000..870d6920ff5
--- /dev/null
+++ b/scripts/__init__.py
@@ -0,0 +1,10 @@
+# **********************************************************************
+#
+# 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.
+#
+# **********************************************************************
+
+__all__ = [ "Expect", "IceGridAdmin", "IceStormUtil", "TestUtil", "subprocess" ]
diff --git a/demoscript/subprocess.py b/scripts/subprocess.py
index aeca23d1a5d..81f44263ea7 100644
--- a/demoscript/subprocess.py
+++ b/scripts/subprocess.py
@@ -1,13 +1,11 @@
-# subprocess - Subprocesses with accessible I/O streams
+# **********************************************************************
#
-# For more information about this module, see PEP 324.
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
#
-# This module should remain compatible with Python 2.2, see PEP 291.
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
#
-# Copyright (c) 2003-2005 by Peter Astrand <astrand@lysator.liu.se>
-#
-# Licensed to PSF under a Contributor Agreement.
-# See http://www.python.org/2.4/license for licensing details.
+# **********************************************************************
r"""subprocess - Subprocesses with accessible I/O streams
diff --git a/slice/Freeze/BackgroundSaveEvictor.ice b/slice/Freeze/BackgroundSaveEvictor.ice
index d42269d9462..381c0c6ce55 100644
--- a/slice/Freeze/BackgroundSaveEvictor.ice
+++ b/slice/Freeze/BackgroundSaveEvictor.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/slice/Freeze/CatalogData.ice b/slice/Freeze/CatalogData.ice
index 0df388eab20..8df77614183 100644
--- a/slice/Freeze/CatalogData.ice
+++ b/slice/Freeze/CatalogData.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/slice/Freeze/Connection.ice b/slice/Freeze/Connection.ice
index f3b60d57995..4fe590a50d7 100644
--- a/slice/Freeze/Connection.ice
+++ b/slice/Freeze/Connection.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/slice/Freeze/ConnectionF.ice b/slice/Freeze/ConnectionF.ice
index 4f3390c43b9..9a9b1e52ed0 100644
--- a/slice/Freeze/ConnectionF.ice
+++ b/slice/Freeze/ConnectionF.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/slice/Freeze/DB.ice b/slice/Freeze/DB.ice
index ed11a0dc2bc..cd7d617ed56 100644
--- a/slice/Freeze/DB.ice
+++ b/slice/Freeze/DB.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/slice/Freeze/Evictor.ice b/slice/Freeze/Evictor.ice
index 7359de2f67c..2022e795772 100644
--- a/slice/Freeze/Evictor.ice
+++ b/slice/Freeze/Evictor.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/slice/Freeze/EvictorF.ice b/slice/Freeze/EvictorF.ice
index 1f3f340df61..a93f4d73c3c 100644
--- a/slice/Freeze/EvictorF.ice
+++ b/slice/Freeze/EvictorF.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/slice/Freeze/EvictorStorage.ice b/slice/Freeze/EvictorStorage.ice
index a36af6572e2..cb4f27e0953 100644
--- a/slice/Freeze/EvictorStorage.ice
+++ b/slice/Freeze/EvictorStorage.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/slice/Freeze/Exception.ice b/slice/Freeze/Exception.ice
index 885002c7394..53d9456cd37 100644
--- a/slice/Freeze/Exception.ice
+++ b/slice/Freeze/Exception.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/slice/Freeze/Transaction.ice b/slice/Freeze/Transaction.ice
index 047cc644e78..34eac416b5d 100644
--- a/slice/Freeze/Transaction.ice
+++ b/slice/Freeze/Transaction.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/slice/Freeze/TransactionalEvictor.ice b/slice/Freeze/TransactionalEvictor.ice
index 2e9e1143243..dfdf7fd45ea 100644
--- a/slice/Freeze/TransactionalEvictor.ice
+++ b/slice/Freeze/TransactionalEvictor.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/slice/Glacier2/PermissionsVerifier.ice b/slice/Glacier2/PermissionsVerifier.ice
index 107079b0697..733d5b56f79 100644
--- a/slice/Glacier2/PermissionsVerifier.ice
+++ b/slice/Glacier2/PermissionsVerifier.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/slice/Glacier2/PermissionsVerifierF.ice b/slice/Glacier2/PermissionsVerifierF.ice
index 212f409c1a6..1f20eb76b85 100644
--- a/slice/Glacier2/PermissionsVerifierF.ice
+++ b/slice/Glacier2/PermissionsVerifierF.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/slice/Glacier2/Router.ice b/slice/Glacier2/Router.ice
index 403b89b151e..2bc9a3ac317 100644
--- a/slice/Glacier2/Router.ice
+++ b/slice/Glacier2/Router.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/slice/Glacier2/RouterF.ice b/slice/Glacier2/RouterF.ice
index 09aa9dde934..70664f44801 100644
--- a/slice/Glacier2/RouterF.ice
+++ b/slice/Glacier2/RouterF.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/slice/Glacier2/SSLInfo.ice b/slice/Glacier2/SSLInfo.ice
index af332c17845..d1ae83b1433 100644
--- a/slice/Glacier2/SSLInfo.ice
+++ b/slice/Glacier2/SSLInfo.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/slice/Glacier2/Session.ice b/slice/Glacier2/Session.ice
index 74468d21e1b..ea687194350 100644
--- a/slice/Glacier2/Session.ice
+++ b/slice/Glacier2/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/slice/Glacier2/SessionF.ice b/slice/Glacier2/SessionF.ice
index 8d1ee11070e..74a4faa5309 100644
--- a/slice/Glacier2/SessionF.ice
+++ b/slice/Glacier2/SessionF.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/slice/Ice/BuiltinSequences.ice b/slice/Ice/BuiltinSequences.ice
index 749d5a4fb6e..87e26022fce 100644
--- a/slice/Ice/BuiltinSequences.ice
+++ b/slice/Ice/BuiltinSequences.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/slice/Ice/Communicator.ice b/slice/Ice/Communicator.ice
index e55f7a64441..4d464677612 100644
--- a/slice/Ice/Communicator.ice
+++ b/slice/Ice/Communicator.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.
@@ -475,7 +475,7 @@ local interface Communicator
* Get a proxy to the main facet of the Admin object. When Ice.Admin.DelayCreation
* is greater than 0, it is necessary to call getAdmin() after the communicator is
* initialized to create the Admin object. Otherwise, the Admin object is created
- * automatically after all the plugins are initialized.
+ * automatically after all the plug-ins are initialized.
*
* @return The main ("") facet of the Admin object; a null proxy if no
* Admin object is configured.
diff --git a/slice/Ice/CommunicatorF.ice b/slice/Ice/CommunicatorF.ice
index 713b70aa578..2ea5062d412 100644
--- a/slice/Ice/CommunicatorF.ice
+++ b/slice/Ice/CommunicatorF.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/slice/Ice/Connection.ice b/slice/Ice/Connection.ice
index 13056cb8214..8603a697994 100644
--- a/slice/Ice/Connection.ice
+++ b/slice/Ice/Connection.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/slice/Ice/ConnectionF.ice b/slice/Ice/ConnectionF.ice
index dd11b2c40b8..f8602c60c90 100644
--- a/slice/Ice/ConnectionF.ice
+++ b/slice/Ice/ConnectionF.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/slice/Ice/Current.ice b/slice/Ice/Current.ice
index a3240478f9f..a3af5456927 100644
--- a/slice/Ice/Current.ice
+++ b/slice/Ice/Current.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/slice/Ice/Endpoint.ice b/slice/Ice/Endpoint.ice
index d1bc7d3bfd7..84732f8b089 100644
--- a/slice/Ice/Endpoint.ice
+++ b/slice/Ice/Endpoint.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/slice/Ice/FacetMap.ice b/slice/Ice/FacetMap.ice
index 628d6587591..09aefe146f0 100644
--- a/slice/Ice/FacetMap.ice
+++ b/slice/Ice/FacetMap.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/slice/Ice/Identity.ice b/slice/Ice/Identity.ice
index 588e1904205..736759de678 100644
--- a/slice/Ice/Identity.ice
+++ b/slice/Ice/Identity.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/slice/Ice/ImplicitContext.ice b/slice/Ice/ImplicitContext.ice
index de5f62c6c69..2b26687aa33 100644
--- a/slice/Ice/ImplicitContext.ice
+++ b/slice/Ice/ImplicitContext.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/slice/Ice/ImplicitContextF.ice b/slice/Ice/ImplicitContextF.ice
index 1639452f33e..4e4a552d522 100644
--- a/slice/Ice/ImplicitContextF.ice
+++ b/slice/Ice/ImplicitContextF.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/slice/Ice/LocalException.ice b/slice/Ice/LocalException.ice
index e5aa4e586d2..b4cd5cba645 100644
--- a/slice/Ice/LocalException.ice
+++ b/slice/Ice/LocalException.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.
@@ -897,7 +897,7 @@ local exception FeatureNotSupportedException
/**
*
* This exception indicates a failure in a security subsystem,
- * such as the IceSSL plugin.
+ * such as the IceSSL plug-in.
*
**/
local exception SecurityException
diff --git a/slice/Ice/Locator.ice b/slice/Ice/Locator.ice
index 3933ef7ccec..8b5c74ea437 100644
--- a/slice/Ice/Locator.ice
+++ b/slice/Ice/Locator.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/slice/Ice/LocatorF.ice b/slice/Ice/LocatorF.ice
index 5ebeb24023e..2490e4a31e7 100644
--- a/slice/Ice/LocatorF.ice
+++ b/slice/Ice/LocatorF.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/slice/Ice/Logger.ice b/slice/Ice/Logger.ice
index 362eccb3af4..42d4bcf2407 100644
--- a/slice/Ice/Logger.ice
+++ b/slice/Ice/Logger.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/slice/Ice/LoggerF.ice b/slice/Ice/LoggerF.ice
index 16fb8674caf..a162f3eecbc 100644
--- a/slice/Ice/LoggerF.ice
+++ b/slice/Ice/LoggerF.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/slice/Ice/ObjectAdapter.ice b/slice/Ice/ObjectAdapter.ice
index 5f7089de33d..264aa046784 100644
--- a/slice/Ice/ObjectAdapter.ice
+++ b/slice/Ice/ObjectAdapter.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.
@@ -105,7 +105,9 @@ local interface ObjectAdapter
* otherwise. Attempts to use a deactivated object adapter raise
* [ObjectAdapterDeactivatedException]; however, attempts to
* [deactivate] an already deactivated object adapter are ignored
- * and do nothing.
+ * and do nothing. Once deactivated, it is possible to destroy the
+ * adapter to clean up resources and then create and activate a
+ * new adapter with the same name.
*
* <p class="Note"> After [deactivate] returns, no new requests are
* processed by the object adapter. However, requests that have
@@ -150,11 +152,11 @@ local interface ObjectAdapter
/**
*
* Destroys the object adapter and cleans up all resources
- * held by the object adapter. If object adapter has not yet
+ * held by the object adapter. If the object adapter has not yet
* been deactivated, [destroy] implicitly initiates the
- * deactivation and waits for it to finish. Once [destroy] has
- * returned it is possible to recreate an object adapter with
- * the same name. Subsequent calls to [destroy] are ignored.
+ * deactivation and waits for it to finish. Subsequent calls to
+ * [destroy] are ignored. Once [destroy] has returned, it is
+ * possible to create another object adapter with the same name.
*
* @see deactivate
* @see waitForDeactivate
diff --git a/slice/Ice/ObjectAdapterF.ice b/slice/Ice/ObjectAdapterF.ice
index 2b076f91a73..47413a198d6 100644
--- a/slice/Ice/ObjectAdapterF.ice
+++ b/slice/Ice/ObjectAdapterF.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/slice/Ice/ObjectFactory.ice b/slice/Ice/ObjectFactory.ice
index fc3481f4d2a..06593a58c24 100644
--- a/slice/Ice/ObjectFactory.ice
+++ b/slice/Ice/ObjectFactory.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/slice/Ice/ObjectFactoryF.ice b/slice/Ice/ObjectFactoryF.ice
index 2eb8f2cf300..9b8f7fad0c5 100644
--- a/slice/Ice/ObjectFactoryF.ice
+++ b/slice/Ice/ObjectFactoryF.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/slice/Ice/Plugin.ice b/slice/Ice/Plugin.ice
index 873be7c0b7b..a872ed658aa 100644
--- a/slice/Ice/Plugin.ice
+++ b/slice/Ice/Plugin.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.
@@ -17,11 +17,11 @@ module Ice
/**
*
- * A communicator plugin. A plugin generally adds a feature to a
+ * A communicator plug-in. A plug-in generally adds a feature to a
* communicator, such as support for a protocol.
*
- * The communicator loads its plugins in two stages: the first stage
- * creates the plugins, and the second stage invokes [initialize] on
+ * The communicator loads its plug-ins in two stages: the first stage
+ * creates the plug-ins, and the second stage invokes [initialize] on
* each one.
*
**/
@@ -44,49 +44,49 @@ local interface Plugin
/**
*
- * Each communicator has a plugin manager to administer the set of
- * plugins.
+ * Each communicator has a plug-in manager to administer the set of
+ * plug-ins.
*
**/
local interface PluginManager
{
/**
*
- * Initialize the configured plugins. The communicator automatically initializes
- * the plugins by default, but an application may need to interact directly with
- * a plugin prior to initialization. In this case, the application must set
+ * Initialize the configured plug-ins. The communicator automatically initializes
+ * the plug-ins by default, but an application may need to interact directly with
+ * a plug-in prior to initialization. In this case, the application must set
* <tt>Ice.InitPlugins=0</tt> and then invoke [initializePlugins]
- * manually. The plugins are initialized in the order in which they are loaded.
- * If a plugin raises an exception during initialization, the communicator
- * invokes destroy on the plugins that have already been initialized.
+ * manually. The plug-ins are initialized in the order in which they are loaded.
+ * If a plug-in raises an exception during initialization, the communicator
+ * invokes destroy on the plug-ins that have already been initialized.
*
- * @throws InitializationException Raised if the plugins have already been initialized.
+ * @throws InitializationException Raised if the plug-ins have already been initialized.
*
**/
void initializePlugins();
/**
*
- * Obtain a plugin by name.
+ * Obtain a plug-in by name.
*
- * @param name The plugin's name.
+ * @param name The plug-in's name.
*
- * @return The plugin.
+ * @return The plug-in.
*
- * @throws NotRegisteredException Raised if no plugin is found with the given name.
+ * @throws NotRegisteredException Raised if no plug-in is found with the given name.
*
**/
Plugin getPlugin(string name);
/**
*
- * Install a new plugin.
+ * Install a new plug-in.
*
- * @param name The plugin's name.
+ * @param name The plug-in's name.
*
- * @param pi The plugin.
+ * @param pi The plug-in.
*
- * @throws AlreadyRegisteredException Raised if a plugin already exists with the given name.
+ * @throws AlreadyRegisteredException Raised if a plug-in already exists with the given name.
*
**/
void addPlugin(string name, Plugin pi);
diff --git a/slice/Ice/PluginF.ice b/slice/Ice/PluginF.ice
index 621914be4e3..04aca2b7616 100644
--- a/slice/Ice/PluginF.ice
+++ b/slice/Ice/PluginF.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/slice/Ice/Process.ice b/slice/Ice/Process.ice
index 305e24256e5..162e13d3958 100644
--- a/slice/Ice/Process.ice
+++ b/slice/Ice/Process.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/slice/Ice/ProcessF.ice b/slice/Ice/ProcessF.ice
index 10a564825dd..86951dc6fee 100644
--- a/slice/Ice/ProcessF.ice
+++ b/slice/Ice/ProcessF.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/slice/Ice/Properties.ice b/slice/Ice/Properties.ice
index 185cc336cde..c391403c711 100644
--- a/slice/Ice/Properties.ice
+++ b/slice/Ice/Properties.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/slice/Ice/PropertiesF.ice b/slice/Ice/PropertiesF.ice
index 3db51b57dc3..cd93484aedb 100644
--- a/slice/Ice/PropertiesF.ice
+++ b/slice/Ice/PropertiesF.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/slice/Ice/Router.ice b/slice/Ice/Router.ice
index 33986638944..70b90801c31 100644
--- a/slice/Ice/Router.ice
+++ b/slice/Ice/Router.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/slice/Ice/RouterF.ice b/slice/Ice/RouterF.ice
index b07b4354a57..0bf87bd732b 100644
--- a/slice/Ice/RouterF.ice
+++ b/slice/Ice/RouterF.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/slice/Ice/ServantLocator.ice b/slice/Ice/ServantLocator.ice
index 5aa0513bab1..310c9c90ba5 100644
--- a/slice/Ice/ServantLocator.ice
+++ b/slice/Ice/ServantLocator.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/slice/Ice/ServantLocatorF.ice b/slice/Ice/ServantLocatorF.ice
index a765884539e..458eff0d057 100644
--- a/slice/Ice/ServantLocatorF.ice
+++ b/slice/Ice/ServantLocatorF.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/slice/Ice/SliceChecksumDict.ice b/slice/Ice/SliceChecksumDict.ice
index d18afc82c46..464081c54ea 100644
--- a/slice/Ice/SliceChecksumDict.ice
+++ b/slice/Ice/SliceChecksumDict.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/slice/Ice/Stats.ice b/slice/Ice/Stats.ice
index acb7ae521f5..c6f57fb9ed6 100644
--- a/slice/Ice/Stats.ice
+++ b/slice/Ice/Stats.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/slice/Ice/StatsF.ice b/slice/Ice/StatsF.ice
index 21573ad87c6..004858ab54c 100644
--- a/slice/Ice/StatsF.ice
+++ b/slice/Ice/StatsF.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/slice/IceBox/IceBox.ice b/slice/IceBox/IceBox.ice
index 42612f19c3f..b9c0c0cb118 100644
--- a/slice/IceBox/IceBox.ice
+++ b/slice/IceBox/IceBox.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/slice/IceGrid/Admin.ice b/slice/IceGrid/Admin.ice
index 2bf926a42a5..8660878aca6 100644
--- a/slice/IceGrid/Admin.ice
+++ b/slice/IceGrid/Admin.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/slice/IceGrid/Descriptor.ice b/slice/IceGrid/Descriptor.ice
index 5dd099cd1e4..3ac6dad3e41 100644
--- a/slice/IceGrid/Descriptor.ice
+++ b/slice/IceGrid/Descriptor.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/slice/IceGrid/Exception.ice b/slice/IceGrid/Exception.ice
index 7ba1e74dda0..cbccce90ac0 100644
--- a/slice/IceGrid/Exception.ice
+++ b/slice/IceGrid/Exception.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/slice/IceGrid/FileParser.ice b/slice/IceGrid/FileParser.ice
index af8fa83f417..d99633e116a 100644
--- a/slice/IceGrid/FileParser.ice
+++ b/slice/IceGrid/FileParser.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/slice/IceGrid/Locator.ice b/slice/IceGrid/Locator.ice
index 2dd37f6d04a..a236b37b6a9 100644
--- a/slice/IceGrid/Locator.ice
+++ b/slice/IceGrid/Locator.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/slice/IceGrid/Observer.ice b/slice/IceGrid/Observer.ice
index b01ac283630..abbd069664e 100644
--- a/slice/IceGrid/Observer.ice
+++ b/slice/IceGrid/Observer.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.
@@ -133,7 +133,7 @@ sequence<NodeDynamicInfo> NodeDynamicInfoSeq;
* nodes.
*
**/
-interface NodeObserver
+["ami"] interface NodeObserver
{
/**
*
@@ -143,7 +143,7 @@ interface NodeObserver
* @param nodes The current state of the nodes.
*
**/
- ["ami"] void nodeInit(NodeDynamicInfoSeq nodes);
+ void nodeInit(NodeDynamicInfoSeq nodes);
/**
*
@@ -187,7 +187,7 @@ interface NodeObserver
* @param updatedInfo The new adapter state.
*
**/
- void updateAdapter(string node, AdapterDynamicInfo updatedInfo);
+ void updateAdapter(string node, AdapterDynamicInfo updatedInfo);
};
/**
diff --git a/slice/IceGrid/Query.ice b/slice/IceGrid/Query.ice
index b3eeabe1b65..2304e7edc77 100644
--- a/slice/IceGrid/Query.ice
+++ b/slice/IceGrid/Query.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/slice/IceGrid/Registry.ice b/slice/IceGrid/Registry.ice
index 54739eef4cd..5ef47fae173 100644
--- a/slice/IceGrid/Registry.ice
+++ b/slice/IceGrid/Registry.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/slice/IceGrid/Session.ice b/slice/IceGrid/Session.ice
index 60bec777f82..ffd00c9f570 100644
--- a/slice/IceGrid/Session.ice
+++ b/slice/IceGrid/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/slice/IceGrid/UserAccountMapper.ice b/slice/IceGrid/UserAccountMapper.ice
index 3d7e906273c..d145b08af50 100644
--- a/slice/IceGrid/UserAccountMapper.ice
+++ b/slice/IceGrid/UserAccountMapper.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/slice/IcePatch2/FileInfo.ice b/slice/IcePatch2/FileInfo.ice
index d4607d57aec..194d1034851 100644
--- a/slice/IcePatch2/FileInfo.ice
+++ b/slice/IcePatch2/FileInfo.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/slice/IcePatch2/FileServer.ice b/slice/IcePatch2/FileServer.ice
index 812d39c34d1..e18fb043bc4 100644
--- a/slice/IcePatch2/FileServer.ice
+++ b/slice/IcePatch2/FileServer.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/slice/IceStorm/IceStorm.ice b/slice/IceStorm/IceStorm.ice
index 4469591d034..013ea0e6c23 100644
--- a/slice/IceStorm/IceStorm.ice
+++ b/slice/IceStorm/IceStorm.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/vb/CHANGES b/vb/CHANGES
index 629fb7c5e52..fae75dc8a66 100644
--- a/vb/CHANGES
+++ b/vb/CHANGES
@@ -61,8 +61,8 @@ Changes since version 3.1.1
logger for all communicators that do not have a logger explicitly
set.
-- Fixed a bug in the plugin property parsing code: if the file name of
- a plugin included a drive letter, the plugin did not load.
+- Fixed a bug in the plug-in property parsing code: if the file name of
+ a plug-in included a drive letter, the plug-in did not load.
- Added support for a user-defined signal handler in Ice.Application.
A subclass must override the interruptCallback method and invoke
@@ -154,9 +154,9 @@ Changes since version 3.1.1
NullReferenceException but instead causes an empty sequence to be
sent.
-- Fixed a bug where loading an Ice plugin or an IceBox service could
+- Fixed a bug where loading an Ice plug-in or an IceBox service could
result in a System.NullReferenceException if no constructors are
- available to create the plugin or service instance.
+ available to create the plug-in or service instance.
- New Slice metadata for operations:
diff --git a/vb/Makefile.mak b/vb/Makefile.mak
index fd8a09ab763..fdb75b30529 100644
--- a/vb/Makefile.mak
+++ b/vb/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/vb/allDemos.py b/vb/allDemos.py
index 1ffacaf9adf..aacdf52ff4a 100755
--- a/vb/allDemos.py
+++ b/vb/allDemos.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.
@@ -17,8 +17,8 @@ for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
else:
raise "can't find toplevel directory!"
-sys.path.append(os.path.join(toplevel, "demoscript"))
-import Util
+sys.path.append(os.path.join(toplevel))
+from demoscript import Util
#
# List of all basic demos.
diff --git a/vb/config/Make.rules.mak.vb b/vb/config/Make.rules.mak.vb
index eb5e663f471..b061e1e402b 100644
--- a/vb/config/Make.rules.mak.vb
+++ b/vb/config/Make.rules.mak.vb
@@ -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/vb/demo/Glacier2/Makefile.mak b/vb/demo/Glacier2/Makefile.mak
index a24ce68057f..5d1cda0bc38 100644
--- a/vb/demo/Glacier2/Makefile.mak
+++ b/vb/demo/Glacier2/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/vb/demo/Glacier2/callback/Callback.ice b/vb/demo/Glacier2/callback/Callback.ice
index cf88e72cb89..f6eb62c7fc9 100644
--- a/vb/demo/Glacier2/callback/Callback.ice
+++ b/vb/demo/Glacier2/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/vb/demo/Glacier2/callback/CallbackI.vb b/vb/demo/Glacier2/callback/CallbackI.vb
index e6d26dd9586..25f3a3853c6 100644
--- a/vb/demo/Glacier2/callback/CallbackI.vb
+++ b/vb/demo/Glacier2/callback/CallbackI.vb
@@ -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/vb/demo/Glacier2/callback/CallbackReceiverI.vb b/vb/demo/Glacier2/callback/CallbackReceiverI.vb
index 0372e716dbc..635de1e6dab 100644
--- a/vb/demo/Glacier2/callback/CallbackReceiverI.vb
+++ b/vb/demo/Glacier2/callback/CallbackReceiverI.vb
@@ -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/vb/demo/Glacier2/callback/Client.vb b/vb/demo/Glacier2/callback/Client.vb
index e2afb895b32..4060fde3860 100644
--- a/vb/demo/Glacier2/callback/Client.vb
+++ b/vb/demo/Glacier2/callback/Client.vb
@@ -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/vb/demo/Glacier2/callback/Makefile.mak b/vb/demo/Glacier2/callback/Makefile.mak
index f497d3ed69a..cf72339a01c 100644
--- a/vb/demo/Glacier2/callback/Makefile.mak
+++ b/vb/demo/Glacier2/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/vb/demo/Glacier2/callback/Server.vb b/vb/demo/Glacier2/callback/Server.vb
index 53bea5396a8..8759b4cc722 100644
--- a/vb/demo/Glacier2/callback/Server.vb
+++ b/vb/demo/Glacier2/callback/Server.vb
@@ -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/vb/demo/Glacier2/callback/SessionI.vb b/vb/demo/Glacier2/callback/SessionI.vb
index 9553a0ac4d1..b269c763535 100644
--- a/vb/demo/Glacier2/callback/SessionI.vb
+++ b/vb/demo/Glacier2/callback/SessionI.vb
@@ -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/vb/demo/Glacier2/callback/SessionManagerI.vb b/vb/demo/Glacier2/callback/SessionManagerI.vb
index b9fb1634976..8aa384f728e 100644
--- a/vb/demo/Glacier2/callback/SessionManagerI.vb
+++ b/vb/demo/Glacier2/callback/SessionManagerI.vb
@@ -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/vb/demo/Glacier2/callback/SessionServer.vb b/vb/demo/Glacier2/callback/SessionServer.vb
index 3f63caa2af4..2fb46b127f1 100644
--- a/vb/demo/Glacier2/callback/SessionServer.vb
+++ b/vb/demo/Glacier2/callback/SessionServer.vb
@@ -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/vb/demo/Glacier2/callback/expect.py b/vb/demo/Glacier2/callback/expect.py
index e23065dd0d4..a53d2f02678 100755
--- a/vb/demo/Glacier2/callback/expect.py
+++ b/vb/demo/Glacier2/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/vb/demo/Ice/Makefile.mak b/vb/demo/Ice/Makefile.mak
index dbef57ecf42..c4164b3fe94 100644
--- a/vb/demo/Ice/Makefile.mak
+++ b/vb/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.
diff --git a/vb/demo/Ice/async/Client.vb b/vb/demo/Ice/async/Client.vb
index c8152cd5777..f7ba9490168 100644
--- a/vb/demo/Ice/async/Client.vb
+++ b/vb/demo/Ice/async/Client.vb
@@ -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/vb/demo/Ice/async/Hello.ice b/vb/demo/Ice/async/Hello.ice
index 8eedeac8c76..a7584ebcdf7 100644
--- a/vb/demo/Ice/async/Hello.ice
+++ b/vb/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.
diff --git a/vb/demo/Ice/async/HelloI.vb b/vb/demo/Ice/async/HelloI.vb
index 752e3ea4f8a..03f376bcf15 100644
--- a/vb/demo/Ice/async/HelloI.vb
+++ b/vb/demo/Ice/async/HelloI.vb
@@ -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/vb/demo/Ice/async/Makefile.mak b/vb/demo/Ice/async/Makefile.mak
index b1a02e44a4e..54a2d1fbdd1 100644
--- a/vb/demo/Ice/async/Makefile.mak
+++ b/vb/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/vb/demo/Ice/async/Server.vb b/vb/demo/Ice/async/Server.vb
index e6b865f2195..e5a21675aa1 100644
--- a/vb/demo/Ice/async/Server.vb
+++ b/vb/demo/Ice/async/Server.vb
@@ -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/vb/demo/Ice/async/WorkQueue.vb b/vb/demo/Ice/async/WorkQueue.vb
index c01f69abdc5..552007c4513 100644
--- a/vb/demo/Ice/async/WorkQueue.vb
+++ b/vb/demo/Ice/async/WorkQueue.vb
@@ -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/vb/demo/Ice/async/expect.py b/vb/demo/Ice/async/expect.py
index 2ab63f39302..44117631861 100755
--- a/vb/demo/Ice/async/expect.py
+++ b/vb/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/vb/demo/Ice/bidir/Callback.ice b/vb/demo/Ice/bidir/Callback.ice
index eb9464a15a8..1e782f958a8 100644
--- a/vb/demo/Ice/bidir/Callback.ice
+++ b/vb/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/vb/demo/Ice/bidir/CallbackReceiverI.vb b/vb/demo/Ice/bidir/CallbackReceiverI.vb
index 6dac96b1777..0f11527204c 100644
--- a/vb/demo/Ice/bidir/CallbackReceiverI.vb
+++ b/vb/demo/Ice/bidir/CallbackReceiverI.vb
@@ -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/vb/demo/Ice/bidir/CallbackSenderI.vb b/vb/demo/Ice/bidir/CallbackSenderI.vb
index fd629e6699e..918fab826cc 100644
--- a/vb/demo/Ice/bidir/CallbackSenderI.vb
+++ b/vb/demo/Ice/bidir/CallbackSenderI.vb
@@ -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/vb/demo/Ice/bidir/Client.vb b/vb/demo/Ice/bidir/Client.vb
index 784e5ef4951..86f2054128b 100644
--- a/vb/demo/Ice/bidir/Client.vb
+++ b/vb/demo/Ice/bidir/Client.vb
@@ -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/vb/demo/Ice/bidir/Makefile.mak b/vb/demo/Ice/bidir/Makefile.mak
index 322d19399db..4a63c0a349a 100644
--- a/vb/demo/Ice/bidir/Makefile.mak
+++ b/vb/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/vb/demo/Ice/bidir/Server.vb b/vb/demo/Ice/bidir/Server.vb
index b43c363d394..ec58b1a33f2 100644
--- a/vb/demo/Ice/bidir/Server.vb
+++ b/vb/demo/Ice/bidir/Server.vb
@@ -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/vb/demo/Ice/bidir/expect.py b/vb/demo/Ice/bidir/expect.py
index fc5a68abc13..5bf952a33a4 100755
--- a/vb/demo/Ice/bidir/expect.py
+++ b/vb/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/vb/demo/Ice/callback/Callback.ice b/vb/demo/Ice/callback/Callback.ice
index c6c54eea561..464d203ddf9 100644
--- a/vb/demo/Ice/callback/Callback.ice
+++ b/vb/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/vb/demo/Ice/callback/CallbackReceiverI.vb b/vb/demo/Ice/callback/CallbackReceiverI.vb
index f2990377cb2..3cc4a814443 100644
--- a/vb/demo/Ice/callback/CallbackReceiverI.vb
+++ b/vb/demo/Ice/callback/CallbackReceiverI.vb
@@ -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/vb/demo/Ice/callback/CallbackSenderI.vb b/vb/demo/Ice/callback/CallbackSenderI.vb
index 2297604e591..93d60525758 100644
--- a/vb/demo/Ice/callback/CallbackSenderI.vb
+++ b/vb/demo/Ice/callback/CallbackSenderI.vb
@@ -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/vb/demo/Ice/callback/Client.vb b/vb/demo/Ice/callback/Client.vb
index 95445fc2967..6302ae342a9 100644
--- a/vb/demo/Ice/callback/Client.vb
+++ b/vb/demo/Ice/callback/Client.vb
@@ -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/vb/demo/Ice/callback/Makefile.mak b/vb/demo/Ice/callback/Makefile.mak
index 9376813fe71..6dfac6c7964 100644
--- a/vb/demo/Ice/callback/Makefile.mak
+++ b/vb/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/vb/demo/Ice/callback/Server.vb b/vb/demo/Ice/callback/Server.vb
index 00075fde9f0..46ee16671d1 100644
--- a/vb/demo/Ice/callback/Server.vb
+++ b/vb/demo/Ice/callback/Server.vb
@@ -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/vb/demo/Ice/callback/expect.py b/vb/demo/Ice/callback/expect.py
index 25d44386fef..bec3183c3c2 100755
--- a/vb/demo/Ice/callback/expect.py
+++ b/vb/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/vb/demo/Ice/hello/Client.vb b/vb/demo/Ice/hello/Client.vb
index be691a8e2d4..b696cc4ca5a 100644
--- a/vb/demo/Ice/hello/Client.vb
+++ b/vb/demo/Ice/hello/Client.vb
@@ -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/vb/demo/Ice/hello/Hello.ice b/vb/demo/Ice/hello/Hello.ice
index 11b714f01c8..50120520456 100644
--- a/vb/demo/Ice/hello/Hello.ice
+++ b/vb/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.
diff --git a/vb/demo/Ice/hello/HelloI.vb b/vb/demo/Ice/hello/HelloI.vb
index 868ac64399d..85bcf28db60 100644
--- a/vb/demo/Ice/hello/HelloI.vb
+++ b/vb/demo/Ice/hello/HelloI.vb
@@ -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/vb/demo/Ice/hello/Makefile.mak b/vb/demo/Ice/hello/Makefile.mak
index 9be061cd82b..780e290d1b7 100644
--- a/vb/demo/Ice/hello/Makefile.mak
+++ b/vb/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/vb/demo/Ice/hello/Server.vb b/vb/demo/Ice/hello/Server.vb
index 95457a1cf70..fee42891994 100644
--- a/vb/demo/Ice/hello/Server.vb
+++ b/vb/demo/Ice/hello/Server.vb
@@ -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/vb/demo/Ice/hello/config.server b/vb/demo/Ice/hello/config.server
index 65e704e21bb..fe9a2074a2a 100644
--- a/vb/demo/Ice/hello/config.server
+++ b/vb/demo/Ice/hello/config.server
@@ -42,7 +42,7 @@ Ice.ACM.Server=10
#IceSSL.Trace.Security=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/vb/demo/Ice/hello/expect.py b/vb/demo/Ice/hello/expect.py
index e780ed0cd48..c2e7d7834b8 100755
--- a/vb/demo/Ice/hello/expect.py
+++ b/vb/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.exe --Ice.PrintAdapterReady')
+server = Util.spawn('server.exe --Ice.PrintAdapterReady --Ice.Warn.Connections=0')
server.expect('.* ready')
-client = Util.spawn('client.exe')
+client = Util.spawn('client.exe --Ice.Warn.Connections=0')
client.expect('.*==>')
hello.run(client, server)
diff --git a/vb/demo/Ice/invoke/Client.vb b/vb/demo/Ice/invoke/Client.vb
index 678300e139c..71915e46cbd 100644
--- a/vb/demo/Ice/invoke/Client.vb
+++ b/vb/demo/Ice/invoke/Client.vb
@@ -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/vb/demo/Ice/invoke/Makefile.mak b/vb/demo/Ice/invoke/Makefile.mak
index 205cdcd56b6..d0c4a732d93 100644
--- a/vb/demo/Ice/invoke/Makefile.mak
+++ b/vb/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/vb/demo/Ice/invoke/Printer.ice b/vb/demo/Ice/invoke/Printer.ice
index 385fd55fa18..355c7c5f16d 100644
--- a/vb/demo/Ice/invoke/Printer.ice
+++ b/vb/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/vb/demo/Ice/invoke/PrinterI.vb b/vb/demo/Ice/invoke/PrinterI.vb
index ab3214d64d0..9dd7cbed777 100644
--- a/vb/demo/Ice/invoke/PrinterI.vb
+++ b/vb/demo/Ice/invoke/PrinterI.vb
@@ -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/vb/demo/Ice/invoke/Server.vb b/vb/demo/Ice/invoke/Server.vb
index 4360ee2e0fe..c5b03f82e1f 100644
--- a/vb/demo/Ice/invoke/Server.vb
+++ b/vb/demo/Ice/invoke/Server.vb
@@ -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/vb/demo/Ice/invoke/expect.py b/vb/demo/Ice/invoke/expect.py
index d8e00c9fe46..f0c4a81bc2c 100755
--- a/vb/demo/Ice/invoke/expect.py
+++ b/vb/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/vb/demo/Ice/latency/Client.vb b/vb/demo/Ice/latency/Client.vb
index e9848a82952..b2c212c7ada 100644
--- a/vb/demo/Ice/latency/Client.vb
+++ b/vb/demo/Ice/latency/Client.vb
@@ -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/vb/demo/Ice/latency/Latency.ice b/vb/demo/Ice/latency/Latency.ice
index 3a6bdad87ce..d4d6c02743f 100644
--- a/vb/demo/Ice/latency/Latency.ice
+++ b/vb/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/vb/demo/Ice/latency/Makefile.mak b/vb/demo/Ice/latency/Makefile.mak
index 7c3c7ca7597..e2268d4f0b3 100644
--- a/vb/demo/Ice/latency/Makefile.mak
+++ b/vb/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/vb/demo/Ice/latency/Server.vb b/vb/demo/Ice/latency/Server.vb
index b831aa6858a..e6f7460747a 100644
--- a/vb/demo/Ice/latency/Server.vb
+++ b/vb/demo/Ice/latency/Server.vb
@@ -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/vb/demo/Ice/latency/expect.py b/vb/demo/Ice/latency/expect.py
index 2fa6a30a436..919214ea78c 100755
--- a/vb/demo/Ice/latency/expect.py
+++ b/vb/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/vb/demo/Ice/minimal/Client.vb b/vb/demo/Ice/minimal/Client.vb
index 686ce4a2d81..47f71417f88 100644
--- a/vb/demo/Ice/minimal/Client.vb
+++ b/vb/demo/Ice/minimal/Client.vb
@@ -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/vb/demo/Ice/minimal/Hello.ice b/vb/demo/Ice/minimal/Hello.ice
index 71cff05a221..6cd2473fc45 100644
--- a/vb/demo/Ice/minimal/Hello.ice
+++ b/vb/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.
diff --git a/vb/demo/Ice/minimal/HelloI.vb b/vb/demo/Ice/minimal/HelloI.vb
index 3c84ff4dd32..308325d7bf0 100644
--- a/vb/demo/Ice/minimal/HelloI.vb
+++ b/vb/demo/Ice/minimal/HelloI.vb
@@ -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/vb/demo/Ice/minimal/Makefile.mak b/vb/demo/Ice/minimal/Makefile.mak
index 717e36c6cb4..ec5f6e092e1 100644
--- a/vb/demo/Ice/minimal/Makefile.mak
+++ b/vb/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/vb/demo/Ice/minimal/Server.vb b/vb/demo/Ice/minimal/Server.vb
index 4e106566165..9bf2a502bbd 100644
--- a/vb/demo/Ice/minimal/Server.vb
+++ b/vb/demo/Ice/minimal/Server.vb
@@ -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/vb/demo/Ice/minimal/expect.py b/vb/demo/Ice/minimal/expect.py
index ed3da1070de..843d49a9c7d 100755
--- a/vb/demo/Ice/minimal/expect.py
+++ b/vb/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/vb/demo/Ice/nested/Client.vb b/vb/demo/Ice/nested/Client.vb
index 4ca45a25a2f..56195679b94 100644
--- a/vb/demo/Ice/nested/Client.vb
+++ b/vb/demo/Ice/nested/Client.vb
@@ -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/vb/demo/Ice/nested/Makefile.mak b/vb/demo/Ice/nested/Makefile.mak
index c5e9f426d1e..de7fa84519f 100644
--- a/vb/demo/Ice/nested/Makefile.mak
+++ b/vb/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/vb/demo/Ice/nested/Nested.ice b/vb/demo/Ice/nested/Nested.ice
index fd5138e14c1..bd245a16432 100644
--- a/vb/demo/Ice/nested/Nested.ice
+++ b/vb/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/vb/demo/Ice/nested/NestedI.vb b/vb/demo/Ice/nested/NestedI.vb
index 1b70ab99af4..851bb469274 100644
--- a/vb/demo/Ice/nested/NestedI.vb
+++ b/vb/demo/Ice/nested/NestedI.vb
@@ -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/vb/demo/Ice/nested/Server.vb b/vb/demo/Ice/nested/Server.vb
index c0e7f5dca31..48c5fe6cbf6 100644
--- a/vb/demo/Ice/nested/Server.vb
+++ b/vb/demo/Ice/nested/Server.vb
@@ -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/vb/demo/Ice/nested/expect.py b/vb/demo/Ice/nested/expect.py
index a6234bd6d26..65e1c7f9c12 100755
--- a/vb/demo/Ice/nested/expect.py
+++ b/vb/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/vb/demo/Ice/session/Client.vb b/vb/demo/Ice/session/Client.vb
index 2c0084b1e82..67a3856fc80 100644
--- a/vb/demo/Ice/session/Client.vb
+++ b/vb/demo/Ice/session/Client.vb
@@ -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/vb/demo/Ice/session/HelloI.vb b/vb/demo/Ice/session/HelloI.vb
index d25d654c1d3..fdb3a3d9f27 100644
--- a/vb/demo/Ice/session/HelloI.vb
+++ b/vb/demo/Ice/session/HelloI.vb
@@ -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/vb/demo/Ice/session/Makefile.mak b/vb/demo/Ice/session/Makefile.mak
index 13d97ab9e5b..25cbf4c5d06 100644
--- a/vb/demo/Ice/session/Makefile.mak
+++ b/vb/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/vb/demo/Ice/session/ReapThread.vb b/vb/demo/Ice/session/ReapThread.vb
index c77b89e1d08..d89b2b84f8e 100644
--- a/vb/demo/Ice/session/ReapThread.vb
+++ b/vb/demo/Ice/session/ReapThread.vb
@@ -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/vb/demo/Ice/session/Server.vb b/vb/demo/Ice/session/Server.vb
index df3d1010f27..827c3194a13 100644
--- a/vb/demo/Ice/session/Server.vb
+++ b/vb/demo/Ice/session/Server.vb
@@ -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/vb/demo/Ice/session/Session.ice b/vb/demo/Ice/session/Session.ice
index 1ef9d6ece54..dc1ca46fb15 100644
--- a/vb/demo/Ice/session/Session.ice
+++ b/vb/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/vb/demo/Ice/session/SessionFactoryI.vb b/vb/demo/Ice/session/SessionFactoryI.vb
index 2423a845fc7..93ecca946c5 100644
--- a/vb/demo/Ice/session/SessionFactoryI.vb
+++ b/vb/demo/Ice/session/SessionFactoryI.vb
@@ -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/vb/demo/Ice/session/SessionI.vb b/vb/demo/Ice/session/SessionI.vb
index 5bf1c199155..4da52495510 100644
--- a/vb/demo/Ice/session/SessionI.vb
+++ b/vb/demo/Ice/session/SessionI.vb
@@ -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/vb/demo/Ice/session/expect.py b/vb/demo/Ice/session/expect.py
index 7e9e539d4fc..4fb207c3f51 100755
--- a/vb/demo/Ice/session/expect.py
+++ b/vb/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/vb/demo/Ice/throughput/Client.vb b/vb/demo/Ice/throughput/Client.vb
index 14f000ff8d4..13be4fcd63a 100644
--- a/vb/demo/Ice/throughput/Client.vb
+++ b/vb/demo/Ice/throughput/Client.vb
@@ -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/vb/demo/Ice/throughput/Makefile.mak b/vb/demo/Ice/throughput/Makefile.mak
index 4c453705f49..85cac59f80f 100644
--- a/vb/demo/Ice/throughput/Makefile.mak
+++ b/vb/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/vb/demo/Ice/throughput/Server.vb b/vb/demo/Ice/throughput/Server.vb
index 9130d51938c..5e320308733 100644
--- a/vb/demo/Ice/throughput/Server.vb
+++ b/vb/demo/Ice/throughput/Server.vb
@@ -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/vb/demo/Ice/throughput/Throughput.ice b/vb/demo/Ice/throughput/Throughput.ice
index 8e4e60fcedd..a4d4b0bd4a5 100644
--- a/vb/demo/Ice/throughput/Throughput.ice
+++ b/vb/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/vb/demo/Ice/throughput/ThroughputI.vb b/vb/demo/Ice/throughput/ThroughputI.vb
index 54685fa2ecb..f6380101c57 100644
--- a/vb/demo/Ice/throughput/ThroughputI.vb
+++ b/vb/demo/Ice/throughput/ThroughputI.vb
@@ -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/vb/demo/Ice/throughput/expect.py b/vb/demo/Ice/throughput/expect.py
index 999c6030e70..9f39f2f84ee 100755
--- a/vb/demo/Ice/throughput/expect.py
+++ b/vb/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/vb/demo/Ice/value/Client.vb b/vb/demo/Ice/value/Client.vb
index b7cc9a5aa2a..4d7bd2787b8 100644
--- a/vb/demo/Ice/value/Client.vb
+++ b/vb/demo/Ice/value/Client.vb
@@ -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/vb/demo/Ice/value/DerivedPrinterI.vb b/vb/demo/Ice/value/DerivedPrinterI.vb
index c99ca26483d..3541216d0a0 100644
--- a/vb/demo/Ice/value/DerivedPrinterI.vb
+++ b/vb/demo/Ice/value/DerivedPrinterI.vb
@@ -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/vb/demo/Ice/value/InitialI.vb b/vb/demo/Ice/value/InitialI.vb
index bf273abe8ac..c9aa2b63201 100644
--- a/vb/demo/Ice/value/InitialI.vb
+++ b/vb/demo/Ice/value/InitialI.vb
@@ -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.
@@ -10,7 +10,7 @@
Imports Demo
Public Class InitialI
- Inherits Initial
+ Inherits InitialDisp_
Public Sub New(ByVal adapter As Ice.ObjectAdapter)
_simple = New Simple
diff --git a/vb/demo/Ice/value/Makefile.mak b/vb/demo/Ice/value/Makefile.mak
index ae9e7e636aa..34001c0e2c0 100644
--- a/vb/demo/Ice/value/Makefile.mak
+++ b/vb/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/vb/demo/Ice/value/ObjectFactory.vb b/vb/demo/Ice/value/ObjectFactory.vb
index 9cfa9ce3d2f..e131b19e91b 100644
--- a/vb/demo/Ice/value/ObjectFactory.vb
+++ b/vb/demo/Ice/value/ObjectFactory.vb
@@ -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/vb/demo/Ice/value/PrinterI.vb b/vb/demo/Ice/value/PrinterI.vb
index d61178c6078..00335c70600 100644
--- a/vb/demo/Ice/value/PrinterI.vb
+++ b/vb/demo/Ice/value/PrinterI.vb
@@ -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/vb/demo/Ice/value/Server.vb b/vb/demo/Ice/value/Server.vb
index f3e7ed458bc..e7431f9b426 100644
--- a/vb/demo/Ice/value/Server.vb
+++ b/vb/demo/Ice/value/Server.vb
@@ -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/vb/demo/Ice/value/Value.ice b/vb/demo/Ice/value/Value.ice
index aa35ff3c6da..fe8aefd3e22 100644
--- a/vb/demo/Ice/value/Value.ice
+++ b/vb/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/vb/demo/Ice/value/expect.py b/vb/demo/Ice/value/expect.py
index af4fbe0dbb1..3361e5347ec 100755
--- a/vb/demo/Ice/value/expect.py
+++ b/vb/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.
diff --git a/vb/demo/IceBox/Makefile.mak b/vb/demo/IceBox/Makefile.mak
index cc8ad91021d..d45572e4c7e 100644
--- a/vb/demo/IceBox/Makefile.mak
+++ b/vb/demo/IceBox/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/vb/demo/IceBox/hello/Client.vb b/vb/demo/IceBox/hello/Client.vb
index 6152795e7d3..9bb168449e4 100644
--- a/vb/demo/IceBox/hello/Client.vb
+++ b/vb/demo/IceBox/hello/Client.vb
@@ -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/vb/demo/IceBox/hello/Hello.ice b/vb/demo/IceBox/hello/Hello.ice
index ac9d5f5283e..9993682f06d 100644
--- a/vb/demo/IceBox/hello/Hello.ice
+++ b/vb/demo/IceBox/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.
diff --git a/vb/demo/IceBox/hello/HelloI.vb b/vb/demo/IceBox/hello/HelloI.vb
index f2a04878887..796fc2372f0 100644
--- a/vb/demo/IceBox/hello/HelloI.vb
+++ b/vb/demo/IceBox/hello/HelloI.vb
@@ -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/vb/demo/IceBox/hello/HelloServiceI.vb b/vb/demo/IceBox/hello/HelloServiceI.vb
index c9304c22d24..f77ac9b437f 100644
--- a/vb/demo/IceBox/hello/HelloServiceI.vb
+++ b/vb/demo/IceBox/hello/HelloServiceI.vb
@@ -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/vb/demo/IceBox/hello/Makefile.mak b/vb/demo/IceBox/hello/Makefile.mak
index e0dd909ef99..e7b429fe1ce 100644
--- a/vb/demo/IceBox/hello/Makefile.mak
+++ b/vb/demo/IceBox/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/vb/demo/IceBox/hello/config.client b/vb/demo/IceBox/hello/config.client
index 90f80506f66..9c723be482a 100644
--- a/vb/demo/IceBox/hello/config.client
+++ b/vb/demo/IceBox/hello/config.client
@@ -28,7 +28,7 @@ Ice.Warn.Connections=1
#Ice.Trace.Protocol=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/vb/demo/IceBox/hello/config.icebox b/vb/demo/IceBox/hello/config.icebox
index 3f1fdc039a8..bf69d8b2bcd 100644
--- a/vb/demo/IceBox/hello/config.icebox
+++ b/vb/demo/IceBox/hello/config.icebox
@@ -61,7 +61,7 @@ Ice.Warn.Connections=1
#Ice.Trace.Protocol=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/vb/demo/IceBox/hello/config.service b/vb/demo/IceBox/hello/config.service
index c9e44b54c58..b204c808cf0 100644
--- a/vb/demo/IceBox/hello/config.service
+++ b/vb/demo/IceBox/hello/config.service
@@ -29,7 +29,7 @@ Ice.Warn.Connections=1
#Ice.Trace.Protocol=1
#
-# SSL plugin configuration
+# SSL plug-in configuration
#
Ice.Plugin.IceSSL=IceSSL:IceSSL.PluginFactory
IceSSL.DefaultDir=../../../../certs
diff --git a/vb/demo/IceBox/hello/expect.py b/vb/demo/IceBox/hello/expect.py
index 4b53c4656ee..7c57bacc812 100755
--- a/vb/demo/IceBox/hello/expect.py
+++ b/vb/demo/IceBox/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.
@@ -23,22 +23,11 @@ from demoscript import *
from demoscript.IceBox import hello
if Util.defaultHost:
- args = ' --IceBox.UseSharedCommunicator.IceStorm=1'
+ args = ' --IceBox.Service.Hello="helloservice.dll:HelloIceBox.HelloIceBoxS+HelloServiceI --Ice.Config=config.service %s"' % Util.defaultHost
else:
args = ''
-iceboxnet = "iceboxnet.exe"
-prefix = [ "../../../../cs", "/usr" ]
-if os.environ.has_key("ICE_HOME"):
- prefix.append(os.environ["ICE_HOME"])
-for p in prefix:
- path = os.path.join(p, "bin", iceboxnet)
- if os.path.exists(path):
- iceboxnet = path
- break
-
-# TODO: This doesn't setup LD_LIBRARY_PATH
-server = Util.spawn('%s --Ice.Config=config.icebox --Ice.PrintAdapterReady %s' % (iceboxnet, args))
+server = Util.spawn('%s --Ice.Config=config.icebox --Ice.PrintAdapterReady %s' % (Util.getIceBox("cs"), args))
server.expect('.* ready')
client = Util.spawn('client.exe')
client.expect('.*==>')
diff --git a/vb/demo/IceGrid/Makefile.mak b/vb/demo/IceGrid/Makefile.mak
index 8283b07d7e1..73aabb1cc00 100644
--- a/vb/demo/IceGrid/Makefile.mak
+++ b/vb/demo/IceGrid/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/vb/demo/IceGrid/simple/Client.vb b/vb/demo/IceGrid/simple/Client.vb
index d070e451d4c..cb86eca8952 100644
--- a/vb/demo/IceGrid/simple/Client.vb
+++ b/vb/demo/IceGrid/simple/Client.vb
@@ -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/vb/demo/IceGrid/simple/Hello.ice b/vb/demo/IceGrid/simple/Hello.ice
index b30e06e02fc..4b123a06908 100644
--- a/vb/demo/IceGrid/simple/Hello.ice
+++ b/vb/demo/IceGrid/simple/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/vb/demo/IceGrid/simple/HelloI.vb b/vb/demo/IceGrid/simple/HelloI.vb
index 3c218300375..ff30c173c1e 100644
--- a/vb/demo/IceGrid/simple/HelloI.vb
+++ b/vb/demo/IceGrid/simple/HelloI.vb
@@ -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/vb/demo/IceGrid/simple/Makefile.mak b/vb/demo/IceGrid/simple/Makefile.mak
index 010acc1c76e..ffa025e8571 100644
--- a/vb/demo/IceGrid/simple/Makefile.mak
+++ b/vb/demo/IceGrid/simple/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/vb/demo/IceGrid/simple/Server.vb b/vb/demo/IceGrid/simple/Server.vb
index 5122fceebee..a1f7a4c4dfd 100644
--- a/vb/demo/IceGrid/simple/Server.vb
+++ b/vb/demo/IceGrid/simple/Server.vb
@@ -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/vb/demo/IceGrid/simple/application.xml b/vb/demo/IceGrid/simple/application.xml
index cc429d7559b..9eb6536ebbd 100644
--- a/vb/demo/IceGrid/simple/application.xml
+++ b/vb/demo/IceGrid/simple/application.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/vb/demo/IceGrid/simple/application_with_replication.xml b/vb/demo/IceGrid/simple/application_with_replication.xml
index 37cc420e9a7..cd4cc8eaf96 100644
--- a/vb/demo/IceGrid/simple/application_with_replication.xml
+++ b/vb/demo/IceGrid/simple/application_with_replication.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/vb/demo/IceGrid/simple/application_with_template.xml b/vb/demo/IceGrid/simple/application_with_template.xml
index 353c687e45e..bc060686fc5 100644
--- a/vb/demo/IceGrid/simple/application_with_template.xml
+++ b/vb/demo/IceGrid/simple/application_with_template.xml
@@ -1,7 +1,7 @@
<!--
**********************************************************************
- 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/vb/demo/IceGrid/simple/expect.py b/vb/demo/IceGrid/simple/expect.py
index 3f918aed91e..033c21a902f 100755
--- a/vb/demo/IceGrid/simple/expect.py
+++ b/vb/demo/IceGrid/simple/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/vb/demo/IceStorm/Makefile.mak b/vb/demo/IceStorm/Makefile.mak
index 84c5db3d5d2..07df276a0fc 100644
--- a/vb/demo/IceStorm/Makefile.mak
+++ b/vb/demo/IceStorm/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/vb/demo/IceStorm/clock/Clock.ice b/vb/demo/IceStorm/clock/Clock.ice
index 284e39a1630..d4a526884cf 100644
--- a/vb/demo/IceStorm/clock/Clock.ice
+++ b/vb/demo/IceStorm/clock/Clock.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/vb/demo/IceStorm/clock/Makefile.mak b/vb/demo/IceStorm/clock/Makefile.mak
index 1b35c843b31..b5f892cb9f1 100644
--- a/vb/demo/IceStorm/clock/Makefile.mak
+++ b/vb/demo/IceStorm/clock/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/vb/demo/IceStorm/clock/Publisher.vb b/vb/demo/IceStorm/clock/Publisher.vb
index 582527dbcd1..100790ef156 100644
--- a/vb/demo/IceStorm/clock/Publisher.vb
+++ b/vb/demo/IceStorm/clock/Publisher.vb
@@ -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/vb/demo/IceStorm/clock/Subscriber.vb b/vb/demo/IceStorm/clock/Subscriber.vb
index 528ecf0f0bf..f6a6279085a 100644
--- a/vb/demo/IceStorm/clock/Subscriber.vb
+++ b/vb/demo/IceStorm/clock/Subscriber.vb
@@ -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/vb/demo/IceStorm/clock/expect.py b/vb/demo/IceStorm/clock/expect.py
index 817a1d6608b..b82d88ee384 100755
--- a/vb/demo/IceStorm/clock/expect.py
+++ b/vb/demo/IceStorm/clock/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/vb/demo/Makefile.mak b/vb/demo/Makefile.mak
index e37fe7b1b45..81e1aa5a426 100644
--- a/vb/demo/Makefile.mak
+++ b/vb/demo/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/vb/demo/book/Makefile.mak b/vb/demo/book/Makefile.mak
index 9dd0fc9c5ff..2ead0f6e039 100644
--- a/vb/demo/book/Makefile.mak
+++ b/vb/demo/book/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/vb/demo/book/printer/Client.vb b/vb/demo/book/printer/Client.vb
index b4508051db1..ec91f25105a 100644
--- a/vb/demo/book/printer/Client.vb
+++ b/vb/demo/book/printer/Client.vb
@@ -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/vb/demo/book/printer/Makefile.mak b/vb/demo/book/printer/Makefile.mak
index 44a8bdea84a..5e50160088f 100644
--- a/vb/demo/book/printer/Makefile.mak
+++ b/vb/demo/book/printer/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/vb/demo/book/printer/Printer.ice b/vb/demo/book/printer/Printer.ice
index a1c7ce62497..b393d1bce0f 100644
--- a/vb/demo/book/printer/Printer.ice
+++ b/vb/demo/book/printer/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/vb/demo/book/printer/Server.vb b/vb/demo/book/printer/Server.vb
index c6aeaa3b1d6..0e7e5caee87 100644
--- a/vb/demo/book/printer/Server.vb
+++ b/vb/demo/book/printer/Server.vb
@@ -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/vb/demo/book/printer/expect.py b/vb/demo/book/printer/expect.py
index 0b4c50ed1a8..f3bd4a54f7c 100755
--- a/vb/demo/book/printer/expect.py
+++ b/vb/demo/book/printer/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/vb/demo/book/simple_filesystem/Filesystem.ice b/vb/demo/book/simple_filesystem/Filesystem.ice
index 9a828640802..0cf8dcc7b1b 100644
--- a/vb/demo/book/simple_filesystem/Filesystem.ice
+++ b/vb/demo/book/simple_filesystem/Filesystem.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/vb/demo/book/simple_filesystem/Makefile.mak b/vb/demo/book/simple_filesystem/Makefile.mak
index 32a8dd6e2a4..ad346529da8 100644
--- a/vb/demo/book/simple_filesystem/Makefile.mak
+++ b/vb/demo/book/simple_filesystem/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/vb/demo/book/simple_filesystem/expect.py b/vb/demo/book/simple_filesystem/expect.py
index 10c947e61a6..afa35753f1d 100755
--- a/vb/demo/book/simple_filesystem/expect.py
+++ b/vb/demo/book/simple_filesystem/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.