From 5a639074d976304fbd3052bc776cd928c198c91f Mon Sep 17 00:00:00 2001 From: Aleksandar Fabijanic Date: Sun, 29 Apr 2012 18:52:25 +0000 Subject: [PATCH] change EOL to 'native' --- ApacheConnector/ApacheConnector.progen | 34 +- ApacheConnector/ApacheConnector_VS71.sln | 42 +- ApacheConnector/ApacheConnector_VS71.vcproj | 362 +- ApacheConnector/ApacheConnector_VS80.sln | 42 +- ApacheConnector/ApacheConnector_VS80.vcproj | 388 +- ApacheConnector/ApacheConnector_vs100.sln | 42 +- ApacheConnector/ApacheConnector_vs100.vcxproj | 266 +- .../ApacheConnector_vs100.vcxproj.filters | 112 +- ApacheConnector/ApacheConnector_vs90.sln | 42 +- ApacheConnector/ApacheConnector_vs90.vcproj | 386 +- ApacheConnector/ApacheConnector_x64_vs100.sln | 42 +- .../ApacheConnector_x64_vs100.vcxproj | 266 +- .../ApacheConnector_x64_vs100.vcxproj.filters | 112 +- ApacheConnector/ApacheConnector_x64_vs90.sln | 42 +- .../ApacheConnector_x64_vs90.vcproj | 388 +- .../samples/FormServer/FormServer.progen | 22 +- .../FormServer/FormServer_vs100.vcxproj | 230 +- .../FormServer_vs100.vcxproj.filters | 32 +- .../samples/FormServer/FormServer_vs71.vcproj | 302 +- .../samples/FormServer/FormServer_vs80.vcproj | 330 +- .../samples/FormServer/FormServer_vs90.vcproj | 330 +- .../FormServer/FormServer_x64_vs100.vcxproj | 230 +- .../FormServer_x64_vs100.vcxproj.filters | 32 +- .../FormServer/FormServer_x64_vs90.vcproj | 330 +- .../samples/TimeServer/TimeServer.progen | 22 +- .../TimeServer/TimeServer_vs100.vcxproj | 230 +- .../TimeServer_vs100.vcxproj.filters | 32 +- .../samples/TimeServer/TimeServer_vs71.vcproj | 302 +- .../samples/TimeServer/TimeServer_vs80.vcproj | 330 +- .../samples/TimeServer/TimeServer_vs90.vcproj | 330 +- .../TimeServer/TimeServer_x64_vs100.vcxproj | 230 +- .../TimeServer_x64_vs100.vcxproj.filters | 32 +- .../TimeServer/TimeServer_x64_vs90.vcproj | 330 +- ApacheConnector/samples/samples.progen | 12 +- ApacheConnector/samples/samples_vs100.sln | 58 +- ApacheConnector/samples/samples_vs71.sln | 58 +- ApacheConnector/samples/samples_vs80.sln | 58 +- ApacheConnector/samples/samples_vs90.sln | 58 +- ApacheConnector/samples/samples_x64_vs100.sln | 58 +- ApacheConnector/samples/samples_x64_vs90.sln | 58 +- CHANGELOG | 3390 ++-- CONTRIBUTORS | 52 +- CppParser/CppParser.progen | 34 +- CppParser/CppParser_vs100.sln | 120 +- CppParser/CppParser_vs100.vcxproj | 616 +- CppParser/CppParser_vs100.vcxproj.filters | 268 +- CppParser/CppParser_vs71.sln | 100 +- CppParser/CppParser_vs71.vcproj | 916 +- CppParser/CppParser_vs80.sln | 120 +- CppParser/CppParser_vs80.vcproj | 958 +- CppParser/CppParser_vs90.sln | 120 +- CppParser/CppParser_vs90.vcproj | 956 +- CppParser/CppParser_x64_vs100.sln | 120 +- CppParser/CppParser_x64_vs100.vcxproj | 612 +- CppParser/CppParser_x64_vs100.vcxproj.filters | 268 +- CppParser/CppParser_x64_vs90.sln | 120 +- CppParser/CppParser_x64_vs90.vcproj | 966 +- CppParser/testsuite/TestSuite.progen | 24 +- CppParser/testsuite/TestSuite_CE_vs90.vcproj | 1024 +- CppParser/testsuite/TestSuite_vs100.vcxproj | 634 +- .../testsuite/TestSuite_vs100.vcxproj.filters | 136 +- CppParser/testsuite/TestSuite_vs71.vcproj | 894 +- CppParser/testsuite/TestSuite_vs80.vcproj | 974 +- CppParser/testsuite/TestSuite_vs90.vcproj | 974 +- .../testsuite/TestSuite_x64_vs100.vcxproj | 634 +- .../TestSuite_x64_vs100.vcxproj.filters | 136 +- CppParser/testsuite/TestSuite_x64_vs90.vcproj | 974 +- CppUnit/CppUnit_vs71.sln | 100 +- CppUnit/CppUnit_vs71.vcproj | 1082 +- CppUnit/CppUnit_vs80.sln | 96 +- CppUnit/CppUnit_vs80.vcproj | 1448 +- CppUnit/CppUnit_vs90.sln | 96 +- CppUnit/CppUnit_vs90.vcproj | 1340 +- CppUnit/Makefile | 36 +- .../WinTestRunner/WinTestRunner_vs71.vcproj | 1008 +- .../WinTestRunner/WinTestRunner_vs80.vcproj | 1356 +- .../WinTestRunner/WinTestRunner_vs90.vcproj | 1348 +- .../include/WinTestRunner/WinTestRunner.h | 154 +- CppUnit/WinTestRunner/res/Resource.h | 54 +- CppUnit/WinTestRunner/src/ActiveTest.cpp | 88 +- CppUnit/WinTestRunner/src/ActiveTest.h | 178 +- CppUnit/WinTestRunner/src/DLLMain.cpp | 100 +- CppUnit/WinTestRunner/src/GUITestResult.cpp | 104 +- CppUnit/WinTestRunner/src/GUITestResult.h | 166 +- CppUnit/WinTestRunner/src/ProgressBar.cpp | 280 +- CppUnit/WinTestRunner/src/ProgressBar.h | 148 +- .../src/SynchronizedTestResult.h | 212 +- .../WinTestRunner/src/TestResultDecorator.h | 204 +- CppUnit/WinTestRunner/src/TestRunnerDlg.cpp | 878 +- CppUnit/WinTestRunner/src/TestRunnerDlg.h | 188 +- CppUnit/WinTestRunner/src/WinTestRunner.cpp | 192 +- CppUnit/include/CppUnit/CppUnit.h | 112 +- CppUnit/include/CppUnit/CppUnitException.h | 282 +- CppUnit/include/CppUnit/Guards.h | 38 +- CppUnit/include/CppUnit/Orthodox.h | 210 +- CppUnit/include/CppUnit/RepeatedTest.h | 154 +- CppUnit/include/CppUnit/Test.h | 130 +- CppUnit/include/CppUnit/TestCaller.h | 190 +- CppUnit/include/CppUnit/TestCase.h | 498 +- CppUnit/include/CppUnit/TestDecorator.h | 104 +- CppUnit/include/CppUnit/TestFailure.h | 172 +- CppUnit/include/CppUnit/TestResult.h | 462 +- CppUnit/include/CppUnit/TestRunner.h | 206 +- CppUnit/include/CppUnit/TestSetup.h | 114 +- CppUnit/include/CppUnit/TestSuite.h | 196 +- CppUnit/include/CppUnit/TextTestResult.h | 106 +- CppUnit/include/CppUnit/estring.h | 146 +- CppUnit/src/CppUnitException.cpp | 36 +- CppUnit/src/TestCase.cpp | 364 +- CppUnit/src/TestDecorator.cpp | 86 +- CppUnit/src/TestFailure.cpp | 44 +- CppUnit/src/TestResult.cpp | 58 +- CppUnit/src/TestRunner.cpp | 376 +- CppUnit/src/TestSuite.cpp | 98 +- CppUnit/src/TextTestResult.cpp | 372 +- Crypto/Crypto_vs100.vcxproj | 618 +- Crypto/testsuite/TestSuite_vs100.vcxproj | 628 +- Data/CMakeLists.txt | 104 +- Data/Data.progen | 32 +- Data/Data_VS71.sln | 84 +- Data/Data_VS71.vcproj | 1080 +- Data/Data_VS80.sln | 76 +- Data/Data_VS80.vcproj | 1442 +- Data/Data_VS90.sln | 76 +- Data/Data_VS90.vcproj | 1452 +- Data/Data_vs100.sln | 180 +- Data/Data_vs100.vcxproj | 1232 +- Data/Data_vs100.vcxproj.filters | 574 +- Data/Makefile | 48 +- Data/MySQL/MySQL.progen | 34 +- Data/MySQL/MySQL_VS80.sln | 72 +- Data/MySQL/MySQL_VS80.vcproj | 558 +- Data/MySQL/MySQL_VS90.sln | 78 +- Data/MySQL/MySQL_VS90.vcproj | 556 +- Data/MySQL/MySQL_vs100.sln | 180 +- Data/MySQL/MySQL_vs100.vcxproj | 1096 +- .../include/Poco/Data/MySQL/SessionImpl.h | 504 +- Data/MySQL/src/SessionImpl.cpp | 578 +- Data/MySQL/testsuite/TestSuite.progen | 20 +- Data/MySQL/testsuite/TestSuite_VS80.vcproj | 518 +- Data/MySQL/testsuite/TestSuite_VS90.vcproj | 516 +- Data/MySQL/testsuite/TestSuite_vs100.vcxproj | 1196 +- Data/MySQL/testsuite/src/SQLExecutor.cpp | 3692 ++--- Data/ODBC/Makefile | 102 +- Data/ODBC/ODBC.progen | 34 +- Data/ODBC/ODBC_VS71.sln | 84 +- Data/ODBC/ODBC_VS71.vcproj | 930 +- Data/ODBC/ODBC_VS80.sln | 76 +- Data/ODBC/ODBC_VS80.vcproj | 1146 +- Data/ODBC/ODBC_VS90.sln | 76 +- Data/ODBC/ODBC_VS90.vcproj | 1134 +- Data/ODBC/ODBC_vs100.sln | 180 +- Data/ODBC/ODBC_vs100.vcxproj | 1120 +- Data/ODBC/ODBC_vs100.vcxproj.filters | 220 +- Data/ODBC/include/Poco/Data/ODBC/Binder.h | 2780 ++-- .../include/Poco/Data/ODBC/ConnectionHandle.h | 236 +- Data/ODBC/include/Poco/Data/ODBC/Connector.h | 186 +- .../ODBC/include/Poco/Data/ODBC/Diagnostics.h | 522 +- .../Poco/Data/ODBC/EnvironmentHandle.h | 232 +- Data/ODBC/include/Poco/Data/ODBC/Error.h | 292 +- Data/ODBC/include/Poco/Data/ODBC/Extractor.h | 1374 +- Data/ODBC/include/Poco/Data/ODBC/Handle.h | 262 +- Data/ODBC/include/Poco/Data/ODBC/ODBC.h | 198 +- .../include/Poco/Data/ODBC/ODBCException.h | 342 +- .../include/Poco/Data/ODBC/ODBCMetaColumn.h | 222 +- .../Poco/Data/ODBC/ODBCStatementImpl.h | 456 +- Data/ODBC/include/Poco/Data/ODBC/Parameter.h | 266 +- Data/ODBC/include/Poco/Data/ODBC/Preparator.h | 2452 +-- .../ODBC/include/Poco/Data/ODBC/SessionImpl.h | 562 +- Data/ODBC/include/Poco/Data/ODBC/TypeInfo.h | 278 +- Data/ODBC/include/Poco/Data/ODBC/Unicode.h | 2014 +-- .../include/Poco/Data/ODBC/Unicode_UNIXODBC.h | 146 +- .../include/Poco/Data/ODBC/Unicode_WIN32.h | 174 +- Data/ODBC/include/Poco/Data/ODBC/Utility.h | 458 +- Data/ODBC/src/Binder.cpp | 946 +- Data/ODBC/src/ConnectionHandle.cpp | 144 +- Data/ODBC/src/Connector.cpp | 158 +- Data/ODBC/src/EnvironmentHandle.cpp | 138 +- Data/ODBC/src/Extractor.cpp | 2430 +-- Data/ODBC/src/ODBCException.cpp | 104 +- Data/ODBC/src/ODBCMetaColumn.cpp | 326 +- Data/ODBC/src/ODBCStatementImpl.cpp | 932 +- Data/ODBC/src/Parameter.cpp | 150 +- Data/ODBC/src/Preparator.cpp | 424 +- Data/ODBC/src/SessionImpl.cpp | 842 +- Data/ODBC/src/TypeInfo.cpp | 574 +- Data/ODBC/src/Unicode.cpp | 88 +- Data/ODBC/src/Unicode_UNIXODBC.cpp | 1594 +- Data/ODBC/src/Unicode_WIN32.cpp | 1562 +- Data/ODBC/testsuite/Makefile | 88 +- Data/ODBC/testsuite/TestSuite.progen | 20 +- Data/ODBC/testsuite/TestSuite_VS71.vcproj | 702 +- Data/ODBC/testsuite/TestSuite_VS80.vcproj | 982 +- Data/ODBC/testsuite/TestSuite_VS90.vcproj | 976 +- Data/ODBC/testsuite/TestSuite_vs100.vcxproj | 1224 +- .../testsuite/TestSuite_vs100.vcxproj.filters | 190 +- Data/ODBC/testsuite/src/Driver.cpp | 78 +- Data/ODBC/testsuite/src/ODBCAccessTest.cpp | 474 +- Data/ODBC/testsuite/src/ODBCAccessTest.h | 160 +- Data/ODBC/testsuite/src/ODBCDB2Test.cpp | 1380 +- Data/ODBC/testsuite/src/ODBCDB2Test.h | 188 +- Data/ODBC/testsuite/src/ODBCMySQLTest.cpp | 1012 +- Data/ODBC/testsuite/src/ODBCMySQLTest.h | 198 +- Data/ODBC/testsuite/src/ODBCOracleTest.cpp | 1884 +-- Data/ODBC/testsuite/src/ODBCOracleTest.h | 224 +- .../ODBC/testsuite/src/ODBCPostgreSQLTest.cpp | 1336 +- Data/ODBC/testsuite/src/ODBCPostgreSQLTest.h | 232 +- Data/ODBC/testsuite/src/ODBCSQLServerTest.cpp | 1636 +- Data/ODBC/testsuite/src/ODBCSQLServerTest.h | 214 +- Data/ODBC/testsuite/src/ODBCSQLiteTest.cpp | 818 +- Data/ODBC/testsuite/src/ODBCSQLiteTest.h | 172 +- Data/ODBC/testsuite/src/ODBCTest.cpp | 2608 +-- Data/ODBC/testsuite/src/ODBCTest.h | 834 +- Data/ODBC/testsuite/src/ODBCTestSuite.cpp | 162 +- Data/ODBC/testsuite/src/ODBCTestSuite.h | 104 +- Data/ODBC/testsuite/src/SQLExecutor.cpp | 7654 ++++----- Data/ODBC/testsuite/src/SQLExecutor.h | 1084 +- Data/ODBC/testsuite/src/WinDriver.cpp | 100 +- Data/SQLite/CMakeLists.txt | 96 +- Data/SQLite/SQLite.progen | 36 +- Data/SQLite/SQLite_VS71.sln | 84 +- Data/SQLite/SQLite_VS71.vcproj | 656 +- Data/SQLite/SQLite_VS80.sln | 76 +- Data/SQLite/SQLite_VS80.vcproj | 898 +- Data/SQLite/SQLite_VS90.sln | 76 +- Data/SQLite/SQLite_VS90.vcproj | 892 +- Data/SQLite/SQLite_vs100.sln | 180 +- Data/SQLite/SQLite_vs100.vcxproj | 1092 +- Data/SQLite/include/Poco/Data/SQLite/Binder.h | 478 +- .../include/Poco/Data/SQLite/Connector.h | 202 +- .../include/Poco/Data/SQLite/Extractor.h | 656 +- Data/SQLite/include/Poco/Data/SQLite/SQLite.h | 184 +- .../Poco/Data/SQLite/SQLiteException.h | 164 +- .../Poco/Data/SQLite/SQLiteStatementImpl.h | 354 +- .../include/Poco/Data/SQLite/SessionImpl.h | 326 +- .../SQLite/include/Poco/Data/SQLite/Utility.h | 208 +- Data/SQLite/src/Binder.cpp | 284 +- Data/SQLite/src/SQLiteException.cpp | 146 +- Data/SQLite/src/SessionImpl.cpp | 458 +- Data/SQLite/src/Utility.cpp | 516 +- Data/SQLite/testsuite/Makefile | 36 +- Data/SQLite/testsuite/TestSuite.progen | 18 +- Data/SQLite/testsuite/TestSuite_VS71.vcproj | 606 +- Data/SQLite/testsuite/TestSuite_VS80.vcproj | 852 +- Data/SQLite/testsuite/TestSuite_VS90.vcproj | 840 +- Data/SQLite/testsuite/TestSuite_vs100.vcxproj | 1192 +- Data/SQLite/testsuite/src/Driver.cpp | 78 +- Data/SQLite/testsuite/src/SQLiteTest.cpp | 5162 +++--- Data/SQLite/testsuite/src/SQLiteTest.h | 288 +- Data/SQLite/testsuite/src/SQLiteTestSuite.cpp | 88 +- Data/SQLite/testsuite/src/SQLiteTestSuite.h | 98 +- Data/SQLite/testsuite/src/WinDriver.cpp | 100 +- Data/doc/DataDeveloperManual.page | 858 +- Data/doc/DataReleaseNotes.page | 52 +- Data/doc/DataUserManual.page | 1058 +- Data/doc/info.txt | 4 +- Data/include/Poco/Data/AbstractBinder.h | 758 +- Data/include/Poco/Data/AbstractBinding.h | 328 +- Data/include/Poco/Data/AbstractExtraction.h | 530 +- Data/include/Poco/Data/AbstractExtractor.h | 710 +- Data/include/Poco/Data/AbstractPreparation.h | 174 +- Data/include/Poco/Data/AbstractPreparator.h | 784 +- Data/include/Poco/Data/AbstractSessionImpl.h | 668 +- Data/include/Poco/Data/ArchiveStrategy.h | 488 +- Data/include/Poco/Data/AutoTransaction.h | 114 +- Data/include/Poco/Data/Binding.h | 2944 ++-- Data/include/Poco/Data/Bulk.h | 236 +- Data/include/Poco/Data/BulkBinding.h | 340 +- Data/include/Poco/Data/BulkExtraction.h | 578 +- Data/include/Poco/Data/Column.h | 1024 +- Data/include/Poco/Data/Connector.h | 156 +- Data/include/Poco/Data/Constants.h | 116 +- Data/include/Poco/Data/Data.h | 184 +- Data/include/Poco/Data/DataException.h | 144 +- Data/include/Poco/Data/Date.h | 494 +- Data/include/Poco/Data/DynamicDateTime.h | 138 +- Data/include/Poco/Data/DynamicLOB.h | 134 +- Data/include/Poco/Data/Extraction.h | 1630 +- Data/include/Poco/Data/LOB.h | 660 +- Data/include/Poco/Data/LOBStream.h | 344 +- Data/include/Poco/Data/Limit.h | 266 +- Data/include/Poco/Data/MetaColumn.h | 418 +- Data/include/Poco/Data/PooledSessionHolder.h | 242 +- Data/include/Poco/Data/PooledSessionImpl.h | 238 +- Data/include/Poco/Data/Position.h | 194 +- Data/include/Poco/Data/Preparation.h | 366 +- Data/include/Poco/Data/Range.h | 252 +- Data/include/Poco/Data/RecordSet.h | 1352 +- Data/include/Poco/Data/Row.h | 674 +- Data/include/Poco/Data/RowFilter.h | 570 +- Data/include/Poco/Data/RowFormatter.h | 512 +- Data/include/Poco/Data/RowIterator.h | 342 +- Data/include/Poco/Data/SQLChannel.h | 478 +- Data/include/Poco/Data/Session.h | 1012 +- Data/include/Poco/Data/SessionFactory.h | 238 +- Data/include/Poco/Data/SessionImpl.h | 486 +- Data/include/Poco/Data/SessionPool.h | 478 +- Data/include/Poco/Data/SessionPoolContainer.h | 240 +- Data/include/Poco/Data/SimpleRowFormatter.h | 266 +- Data/include/Poco/Data/Statement.h | 1694 +- Data/include/Poco/Data/StatementCreator.h | 190 +- Data/include/Poco/Data/StatementImpl.h | 1290 +- Data/include/Poco/Data/Time.h | 502 +- Data/include/Poco/Data/Transaction.h | 432 +- Data/include/Poco/Data/TypeHandler.h | 4234 ++--- Data/samples/Binding/Binding.progen | 20 +- Data/samples/Binding/Binding_vs71.vcproj | 526 +- Data/samples/Binding/Binding_vs80.vcproj | 772 +- Data/samples/Binding/Binding_vs90.vcproj | 752 +- Data/samples/Binding/Makefile | 34 +- Data/samples/Binding/src/Binding.cpp | 230 +- Data/samples/Makefile | 32 +- Data/samples/RecordSet/Makefile | 34 +- Data/samples/RecordSet/RecordSet.progen | 20 +- Data/samples/RecordSet/RecordSet_vs71.vcproj | 526 +- Data/samples/RecordSet/RecordSet_vs80.vcproj | 772 +- Data/samples/RecordSet/RecordSet_vs90.vcproj | 752 +- Data/samples/RecordSet/src/RecordSet.cpp | 202 +- Data/samples/RowFormatter/Makefile | 34 +- .../RowFormatter/RowFormatter_vs71.vcproj | 526 +- .../RowFormatter/RowFormatter_vs80.vcproj | 772 +- .../RowFormatter/RowFormatter_vs90.vcproj | 752 +- .../samples/RowFormatter/src/RowFormatter.cpp | 274 +- Data/samples/Tuple/Makefile | 34 +- Data/samples/Tuple/Tuple.progen | 20 +- Data/samples/Tuple/Tuple_vs71.vcproj | 526 +- Data/samples/Tuple/Tuple_vs80.vcproj | 772 +- Data/samples/Tuple/Tuple_vs90.vcproj | 752 +- Data/samples/Tuple/src/Tuple.cpp | 180 +- Data/samples/TypeHandler/Makefile | 34 +- Data/samples/TypeHandler/TypeHandler.progen | 20 +- .../TypeHandler/TypeHandler_vs71.vcproj | 526 +- .../TypeHandler/TypeHandler_vs80.vcproj | 764 +- .../TypeHandler/TypeHandler_vs90.vcproj | 752 +- Data/samples/TypeHandler/src/TypeHandler.cpp | 310 +- Data/samples/samples.progen | 16 +- Data/samples/samples_vs71.sln | 154 +- Data/samples/samples_vs80.sln | 132 +- Data/samples/samples_vs90.sln | 132 +- Data/src/AbstractBinder.cpp | 1034 +- Data/src/AbstractBinding.cpp | 134 +- Data/src/AbstractExtraction.cpp | 146 +- Data/src/AbstractExtractor.cpp | 870 +- Data/src/AbstractPreparation.cpp | 112 +- Data/src/AbstractPreparator.cpp | 872 +- Data/src/ArchiveStrategy.cpp | 336 +- Data/src/Bulk.cpp | 118 +- Data/src/Connector.cpp | 108 +- Data/src/DataException.cpp | 126 +- Data/src/Date.cpp | 300 +- Data/src/DynamicLOB.cpp | 170 +- Data/src/Limit.cpp | 114 +- Data/src/MetaColumn.cpp | 140 +- Data/src/PooledSessionHolder.cpp | 112 +- Data/src/PooledSessionImpl.cpp | 414 +- Data/src/Position.cpp | 108 +- Data/src/Range.cpp | 124 +- Data/src/RecordSet.cpp | 780 +- Data/src/Row.cpp | 820 +- Data/src/RowFilter.cpp | 460 +- Data/src/RowFormatter.cpp | 204 +- Data/src/RowIterator.cpp | 458 +- Data/src/SQLChannel.cpp | 612 +- Data/src/Session.cpp | 200 +- Data/src/SessionFactory.cpp | 224 +- Data/src/SessionImpl.cpp | 148 +- Data/src/SessionPool.cpp | 634 +- Data/src/SessionPoolContainer.cpp | 256 +- Data/src/SimpleRowFormatter.cpp | 260 +- Data/src/Statement.cpp | 636 +- Data/src/StatementCreator.cpp | 164 +- Data/src/StatementImpl.cpp | 966 +- Data/src/Time.cpp | 294 +- Data/src/Transaction.cpp | 268 +- Data/testsuite/Makefile | 54 +- Data/testsuite/TestSuite.progen | 18 +- Data/testsuite/TestSuite.vmsbuild | 30 +- Data/testsuite/TestSuite_VS71.vcproj | 738 +- Data/testsuite/TestSuite_VS80.vcproj | 1014 +- Data/testsuite/TestSuite_VS90.vcproj | 1008 +- Data/testsuite/TestSuite_vs100.vcxproj | 1220 +- .../testsuite/TestSuite_vs100.vcxproj.filters | 214 +- Data/testsuite/src/Binder.cpp | 330 +- Data/testsuite/src/Binder.h | 258 +- Data/testsuite/src/Connector.cpp | 150 +- Data/testsuite/src/Connector.h | 174 +- Data/testsuite/src/DataTest.cpp | 2840 ++-- Data/testsuite/src/DataTest.h | 178 +- Data/testsuite/src/DataTestSuite.cpp | 92 +- Data/testsuite/src/DataTestSuite.h | 98 +- Data/testsuite/src/Driver.cpp | 78 +- Data/testsuite/src/Extractor.cpp | 390 +- Data/testsuite/src/Extractor.h | 286 +- Data/testsuite/src/Preparator.cpp | 320 +- Data/testsuite/src/Preparator.h | 256 +- Data/testsuite/src/SessionImpl.cpp | 380 +- Data/testsuite/src/SessionImpl.h | 266 +- Data/testsuite/src/SessionPoolTest.cpp | 550 +- Data/testsuite/src/SessionPoolTest.h | 122 +- Data/testsuite/src/StatementImpl.cpp | 208 +- Data/testsuite/src/StatementImpl.h | 226 +- Data/testsuite/src/TestStatementImpl.cpp | 246 +- Data/testsuite/src/TestStatementImpl.h | 278 +- Data/testsuite/src/WinDriver.cpp | 100 +- Foundation/Foundation_CE_vs90.vcproj | 13466 ++++++++-------- Foundation/Foundation_vs100.sln | 170 +- Foundation/Foundation_vs100.vcxproj.filters | 3632 ++--- Foundation/Foundation_vs71.sln | 170 +- Foundation/Foundation_vs71.vcproj | 9280 +++++------ Foundation/Foundation_vs80.sln | 162 +- Foundation/Foundation_vs80.vcproj | 12026 +++++++------- Foundation/Foundation_vs90.sln | 162 +- Foundation/Foundation_vs90.vcproj | 12020 +++++++------- Foundation/Makefile | 124 +- Foundation/include/Poco/ASCIIEncoding.h | 146 +- Foundation/include/Poco/AbstractCache.h | 762 +- Foundation/include/Poco/AbstractDelegate.h | 184 +- Foundation/include/Poco/AbstractEvent.h | 702 +- Foundation/include/Poco/AbstractObserver.h | 144 +- .../include/Poco/AbstractPriorityDelegate.h | 170 +- Foundation/include/Poco/AbstractStrategy.h | 198 +- Foundation/include/Poco/ActiveDispatcher.h | 276 +- Foundation/include/Poco/ActiveMethod.h | 480 +- Foundation/include/Poco/ActiveResult.h | 1034 +- Foundation/include/Poco/ActiveRunnable.h | 506 +- Foundation/include/Poco/ActiveStarter.h | 140 +- Foundation/include/Poco/Activity.h | 436 +- Foundation/include/Poco/Any.h | 572 +- Foundation/include/Poco/ArchiveStrategy.h | 336 +- Foundation/include/Poco/Array.h | 542 +- Foundation/include/Poco/AsyncChannel.h | 244 +- Foundation/include/Poco/AutoPtr.h | 756 +- Foundation/include/Poco/AutoReleasePool.h | 216 +- Foundation/include/Poco/Base64Decoder.h | 252 +- Foundation/include/Poco/Base64Encoder.h | 288 +- Foundation/include/Poco/BasicEvent.h | 164 +- Foundation/include/Poco/BinaryReader.h | 440 +- Foundation/include/Poco/BinaryWriter.h | 458 +- Foundation/include/Poco/Buffer.h | 322 +- Foundation/include/Poco/BufferAllocator.h | 148 +- .../Poco/BufferedBidirectionalStreamBuf.h | 392 +- Foundation/include/Poco/BufferedStreamBuf.h | 376 +- Foundation/include/Poco/Bugcheck.h | 368 +- Foundation/include/Poco/ByteOrder.h | 454 +- Foundation/include/Poco/Channel.h | 200 +- Foundation/include/Poco/Checksum.h | 260 +- Foundation/include/Poco/ClassLibrary.h | 246 +- Foundation/include/Poco/ClassLoader.h | 770 +- Foundation/include/Poco/Condition.h | 318 +- Foundation/include/Poco/Config.h | 244 +- Foundation/include/Poco/Configurable.h | 184 +- Foundation/include/Poco/ConsoleChannel.h | 178 +- Foundation/include/Poco/CountingStream.h | 482 +- Foundation/include/Poco/DateTime.h | 874 +- Foundation/include/Poco/DateTimeFormat.h | 262 +- Foundation/include/Poco/DateTimeFormatter.h | 474 +- Foundation/include/Poco/DateTimeParser.h | 260 +- Foundation/include/Poco/Debugger.h | 190 +- Foundation/include/Poco/DefaultStrategy.h | 270 +- Foundation/include/Poco/DeflatingStream.h | 446 +- Foundation/include/Poco/Delegate.h | 538 +- Foundation/include/Poco/DigestStream.h | 244 +- Foundation/include/Poco/DirectoryIterator.h | 346 +- .../include/Poco/DirectoryIterator_UNIX.h | 188 +- .../include/Poco/DirectoryIterator_VMS.h | 194 +- .../include/Poco/DirectoryIterator_WIN32.h | 190 +- .../include/Poco/DirectoryIterator_WIN32U.h | 190 +- Foundation/include/Poco/DynamicFactory.h | 316 +- Foundation/include/Poco/Environment.h | 262 +- Foundation/include/Poco/Environment_UNIX.h | 156 +- Foundation/include/Poco/Environment_VMS.h | 158 +- Foundation/include/Poco/Environment_WIN32.h | 140 +- Foundation/include/Poco/Environment_WIN32U.h | 140 +- Foundation/include/Poco/ErrorHandler.h | 284 +- Foundation/include/Poco/Event.h | 290 +- Foundation/include/Poco/EventArgs.h | 134 +- Foundation/include/Poco/EventLogChannel.h | 254 +- Foundation/include/Poco/Event_POSIX.h | 198 +- Foundation/include/Poco/Event_WIN32.h | 180 +- Foundation/include/Poco/Exception.h | 560 +- Foundation/include/Poco/ExpirationDecorator.h | 228 +- Foundation/include/Poco/Expire.h | 270 +- Foundation/include/Poco/ExpireCache.h | 174 +- Foundation/include/Poco/ExpireLRUCache.h | 168 +- Foundation/include/Poco/ExpireStrategy.h | 304 +- Foundation/include/Poco/FIFOBuffer.h | 616 +- Foundation/include/Poco/FIFOEvent.h | 170 +- Foundation/include/Poco/FIFOStrategy.h | 162 +- Foundation/include/Poco/FPEnvironment.h | 454 +- Foundation/include/Poco/FPEnvironment_C99.h | 294 +- Foundation/include/Poco/FPEnvironment_DEC.h | 222 +- Foundation/include/Poco/FPEnvironment_DUMMY.h | 294 +- Foundation/include/Poco/FPEnvironment_SUN.h | 192 +- Foundation/include/Poco/FPEnvironment_WIN32.h | 306 +- Foundation/include/Poco/File.h | 604 +- Foundation/include/Poco/FileChannel.h | 518 +- Foundation/include/Poco/FileStream.h | 396 +- Foundation/include/Poco/FileStreamFactory.h | 166 +- Foundation/include/Poco/FileStream_POSIX.h | 188 +- Foundation/include/Poco/FileStream_WIN32.h | 186 +- Foundation/include/Poco/File_UNIX.h | 204 +- Foundation/include/Poco/File_VMS.h | 202 +- Foundation/include/Poco/File_WIN32.h | 208 +- Foundation/include/Poco/File_WIN32U.h | 210 +- Foundation/include/Poco/Format.h | 304 +- Foundation/include/Poco/Formatter.h | 192 +- Foundation/include/Poco/FormattingChannel.h | 236 +- Foundation/include/Poco/Foundation.h | 300 +- Foundation/include/Poco/Glob.h | 324 +- Foundation/include/Poco/HMACEngine.h | 336 +- Foundation/include/Poco/Hash.h | 254 +- Foundation/include/Poco/HashFunction.h | 158 +- Foundation/include/Poco/HashMap.h | 488 +- Foundation/include/Poco/HashSet.h | 398 +- Foundation/include/Poco/HashStatistic.h | 296 +- Foundation/include/Poco/HashTable.h | 784 +- Foundation/include/Poco/HexBinaryDecoder.h | 232 +- Foundation/include/Poco/HexBinaryEncoder.h | 278 +- Foundation/include/Poco/InflatingStream.h | 464 +- Foundation/include/Poco/Instantiator.h | 208 +- Foundation/include/Poco/KeyValueArgs.h | 190 +- Foundation/include/Poco/LRUCache.h | 156 +- Foundation/include/Poco/LRUStrategy.h | 324 +- Foundation/include/Poco/Latin1Encoding.h | 146 +- Foundation/include/Poco/Latin9Encoding.h | 152 +- Foundation/include/Poco/LineEndingConverter.h | 406 +- Foundation/include/Poco/LinearHashTable.h | 1018 +- Foundation/include/Poco/LocalDateTime.h | 820 +- Foundation/include/Poco/LogFile.h | 230 +- Foundation/include/Poco/LogFile_STD.h | 148 +- Foundation/include/Poco/LogFile_VMS.h | 150 +- Foundation/include/Poco/LogFile_WIN32.h | 152 +- Foundation/include/Poco/LogFile_WIN32U.h | 152 +- Foundation/include/Poco/LogStream.h | 414 +- Foundation/include/Poco/Logger.h | 1544 +- Foundation/include/Poco/LoggingFactory.h | 230 +- Foundation/include/Poco/LoggingRegistry.h | 242 +- Foundation/include/Poco/MD4Engine.h | 234 +- Foundation/include/Poco/MD5Engine.h | 234 +- Foundation/include/Poco/Manifest.h | 404 +- Foundation/include/Poco/MemoryPool.h | 270 +- Foundation/include/Poco/Message.h | 552 +- Foundation/include/Poco/MetaObject.h | 446 +- Foundation/include/Poco/MetaProgramming.h | 332 +- Foundation/include/Poco/Mutex.h | 584 +- Foundation/include/Poco/Mutex_POSIX.h | 216 +- Foundation/include/Poco/Mutex_WIN32.h | 214 +- Foundation/include/Poco/NObserver.h | 296 +- Foundation/include/Poco/NamedEvent.h | 240 +- Foundation/include/Poco/NamedEvent_UNIX.h | 154 +- Foundation/include/Poco/NamedEvent_VMS.h | 132 +- Foundation/include/Poco/NamedEvent_WIN32.h | 134 +- Foundation/include/Poco/NamedEvent_WIN32U.h | 136 +- Foundation/include/Poco/NamedMutex.h | 268 +- Foundation/include/Poco/NamedMutex_UNIX.h | 160 +- Foundation/include/Poco/NamedMutex_VMS.h | 140 +- Foundation/include/Poco/NamedMutex_WIN32.h | 136 +- Foundation/include/Poco/NamedMutex_WIN32U.h | 138 +- Foundation/include/Poco/NamedTuple.h | 8968 +++++----- .../include/Poco/NestedDiagnosticContext.h | 392 +- Foundation/include/Poco/Notification.h | 154 +- Foundation/include/Poco/NotificationCenter.h | 316 +- Foundation/include/Poco/NotificationQueue.h | 354 +- .../include/Poco/NotificationStrategy.h | 174 +- Foundation/include/Poco/NullChannel.h | 154 +- Foundation/include/Poco/NullStream.h | 224 +- Foundation/include/Poco/Observer.h | 292 +- Foundation/include/Poco/OpcomChannel.h | 204 +- Foundation/include/Poco/Path.h | 990 +- Foundation/include/Poco/Path_UNIX.h | 130 +- Foundation/include/Poco/Path_VMS.h | 130 +- Foundation/include/Poco/Path_WIN32.h | 130 +- Foundation/include/Poco/Path_WIN32U.h | 140 +- Foundation/include/Poco/PatternFormatter.h | 298 +- Foundation/include/Poco/Pipe.h | 328 +- Foundation/include/Poco/PipeImpl.h | 118 +- Foundation/include/Poco/PipeImpl_DUMMY.h | 142 +- Foundation/include/Poco/PipeImpl_POSIX.h | 150 +- Foundation/include/Poco/PipeImpl_WIN32.h | 152 +- Foundation/include/Poco/PipeStream.h | 284 +- Foundation/include/Poco/Platform.h | 418 +- Foundation/include/Poco/Platform_POSIX.h | 114 +- Foundation/include/Poco/Platform_VMS.h | 184 +- Foundation/include/Poco/Platform_WIN32.h | 186 +- Foundation/include/Poco/Poco.h | 92 +- Foundation/include/Poco/PriorityDelegate.h | 548 +- Foundation/include/Poco/PriorityEvent.h | 166 +- Foundation/include/Poco/PriorityExpire.h | 272 +- Foundation/include/Poco/Process.h | 562 +- Foundation/include/Poco/Process_UNIX.h | 212 +- Foundation/include/Poco/Process_VMS.h | 194 +- Foundation/include/Poco/Process_WIN32.h | 204 +- Foundation/include/Poco/Process_WIN32U.h | 204 +- Foundation/include/Poco/PurgeStrategy.h | 238 +- Foundation/include/Poco/RWLock.h | 436 +- Foundation/include/Poco/RWLock_POSIX.h | 242 +- Foundation/include/Poco/RWLock_WIN32.h | 158 +- Foundation/include/Poco/Random.h | 374 +- Foundation/include/Poco/RandomStream.h | 190 +- Foundation/include/Poco/RefCountedObject.h | 218 +- Foundation/include/Poco/RegularExpression.h | 558 +- Foundation/include/Poco/RotateStrategy.h | 374 +- Foundation/include/Poco/Runnable.h | 134 +- Foundation/include/Poco/RunnableAdapter.h | 200 +- Foundation/include/Poco/SHA1Engine.h | 206 +- Foundation/include/Poco/ScopedLock.h | 258 +- Foundation/include/Poco/ScopedUnlock.h | 158 +- Foundation/include/Poco/Semaphore.h | 318 +- Foundation/include/Poco/Semaphore_POSIX.h | 194 +- Foundation/include/Poco/Semaphore_WIN32.h | 160 +- Foundation/include/Poco/SharedLibrary.h | 312 +- Foundation/include/Poco/SharedLibrary_HPUX.h | 146 +- Foundation/include/Poco/SharedLibrary_UNIX.h | 156 +- Foundation/include/Poco/SharedLibrary_VMS.h | 142 +- Foundation/include/Poco/SharedLibrary_WIN32.h | 144 +- .../include/Poco/SharedLibrary_WIN32U.h | 144 +- Foundation/include/Poco/SharedMemory.h | 270 +- Foundation/include/Poco/SharedMemory_DUMMY.h | 220 +- Foundation/include/Poco/SharedMemory_POSIX.h | 258 +- Foundation/include/Poco/SharedMemory_WIN32.h | 250 +- Foundation/include/Poco/SharedPtr.h | 874 +- Foundation/include/Poco/SignalHandler.h | 302 +- Foundation/include/Poco/SimpleFileChannel.h | 312 +- Foundation/include/Poco/SimpleHashTable.h | 838 +- Foundation/include/Poco/SingletonHolder.h | 182 +- Foundation/include/Poco/SplitterChannel.h | 198 +- Foundation/include/Poco/Stopwatch.h | 270 +- Foundation/include/Poco/StrategyCollection.h | 310 +- Foundation/include/Poco/StreamChannel.h | 162 +- Foundation/include/Poco/StreamConverter.h | 300 +- Foundation/include/Poco/StreamCopier.h | 214 +- Foundation/include/Poco/StreamTokenizer.h | 238 +- Foundation/include/Poco/StreamUtil.h | 228 +- Foundation/include/Poco/String.h | 1198 +- Foundation/include/Poco/SynchronizedObject.h | 306 +- Foundation/include/Poco/SyslogChannel.h | 262 +- Foundation/include/Poco/Task.h | 422 +- Foundation/include/Poco/TaskManager.h | 318 +- Foundation/include/Poco/TaskNotification.h | 384 +- Foundation/include/Poco/TeeStream.h | 308 +- Foundation/include/Poco/TemporaryFile.h | 212 +- Foundation/include/Poco/TextConverter.h | 230 +- Foundation/include/Poco/TextEncoding.h | 410 +- Foundation/include/Poco/TextIterator.h | 326 +- Foundation/include/Poco/Thread.h | 636 +- Foundation/include/Poco/ThreadLocal.h | 358 +- Foundation/include/Poco/ThreadPool.h | 460 +- Foundation/include/Poco/ThreadTarget.h | 218 +- Foundation/include/Poco/Thread_POSIX.h | 450 +- Foundation/include/Poco/Thread_WIN32.h | 436 +- Foundation/include/Poco/Timer.h | 502 +- Foundation/include/Poco/Timespan.h | 640 +- Foundation/include/Poco/Timestamp.h | 530 +- Foundation/include/Poco/Timezone.h | 178 +- Foundation/include/Poco/Token.h | 366 +- Foundation/include/Poco/Tuple.h | 3538 ++-- Foundation/include/Poco/TypeList.h | 974 +- Foundation/include/Poco/Types.h | 452 +- Foundation/include/Poco/URI.h | 730 +- Foundation/include/Poco/URIStreamFactory.h | 238 +- Foundation/include/Poco/URIStreamOpener.h | 314 +- Foundation/include/Poco/UTF16Encoding.h | 214 +- Foundation/include/Poco/UTF8Encoding.h | 166 +- Foundation/include/Poco/UTF8String.h | 160 +- Foundation/include/Poco/UUID.h | 478 +- Foundation/include/Poco/UUIDGenerator.h | 238 +- Foundation/include/Poco/UnWindows.h | 220 +- Foundation/include/Poco/UnbufferedStreamBuf.h | 388 +- Foundation/include/Poco/Unicode.h | 580 +- Foundation/include/Poco/UnicodeConverter.h | 162 +- Foundation/include/Poco/UniqueExpireCache.h | 188 +- .../include/Poco/UniqueExpireLRUCache.h | 184 +- .../include/Poco/UniqueExpireStrategy.h | 320 +- Foundation/include/Poco/ValidArgs.h | 192 +- Foundation/include/Poco/Void.h | 190 +- Foundation/include/Poco/Windows1252Encoding.h | 146 +- .../include/Poco/WindowsConsoleChannel.h | 178 +- Foundation/include/Poco/zconf.h | 860 +- Foundation/include/Poco/zlib.h | 3226 ++-- .../ActiveMethod/ActiveMethod_vs71.vcproj | 790 +- .../ActiveMethod/ActiveMethod_vs80.vcproj | 870 +- .../ActiveMethod/ActiveMethod_vs90.vcproj | 870 +- Foundation/samples/ActiveMethod/Makefile | 34 +- .../samples/ActiveMethod/src/ActiveMethod.cpp | 156 +- .../samples/Activity/Activity_vs71.vcproj | 790 +- .../samples/Activity/Activity_vs80.vcproj | 870 +- .../samples/Activity/Activity_vs90.vcproj | 870 +- Foundation/samples/Activity/Makefile | 34 +- Foundation/samples/Activity/src/Activity.cpp | 180 +- .../BinaryReaderWriter_vs71.vcproj | 790 +- .../BinaryReaderWriter_vs80.vcproj | 870 +- .../BinaryReaderWriter_vs90.vcproj | 870 +- .../samples/BinaryReaderWriter/Makefile | 34 +- .../src/BinaryReaderWriter.cpp | 152 +- .../samples/DateTime/DateTime_vs71.vcproj | 790 +- .../samples/DateTime/DateTime_vs80.vcproj | 870 +- .../samples/DateTime/DateTime_vs90.vcproj | 870 +- Foundation/samples/DateTime/Makefile | 34 +- Foundation/samples/DateTime/src/DateTime.cpp | 122 +- .../samples/LogRotation/LogRotation.vmsbuild | 16 +- .../LogRotation/LogRotation_vs71.vcproj | 790 +- .../LogRotation/LogRotation_vs80.vcproj | 870 +- .../LogRotation/LogRotation_vs90.vcproj | 870 +- Foundation/samples/LogRotation/Makefile | 34 +- .../samples/LogRotation/src/LogRotation.cpp | 176 +- Foundation/samples/Logger/Logger_vs71.vcproj | 790 +- Foundation/samples/Logger/Logger_vs80.vcproj | 870 +- Foundation/samples/Logger/Logger_vs90.vcproj | 870 +- Foundation/samples/Logger/Makefile | 34 +- Foundation/samples/Logger/src/Logger.cpp | 170 +- Foundation/samples/Makefile | 58 +- Foundation/samples/NotificationQueue/Makefile | 34 +- .../NotificationQueue_vs71.vcproj | 790 +- .../NotificationQueue_vs80.vcproj | 870 +- .../NotificationQueue_vs90.vcproj | 870 +- .../src/NotificationQueue.cpp | 300 +- Foundation/samples/StringTokenizer/Makefile | 34 +- .../StringTokenizer_vs71.vcproj | 790 +- .../StringTokenizer_vs80.vcproj | 870 +- .../StringTokenizer_vs90.vcproj | 870 +- .../StringTokenizer/src/StringTokenizer.cpp | 102 +- Foundation/samples/Timer/Makefile | 34 +- Foundation/samples/Timer/Timer_vs71.vcproj | 790 +- Foundation/samples/Timer/Timer_vs80.vcproj | 870 +- Foundation/samples/Timer/Timer_vs90.vcproj | 870 +- Foundation/samples/Timer/src/Timer.cpp | 154 +- Foundation/samples/URI/Makefile | 34 +- Foundation/samples/URI/URI_vs71.vcproj | 790 +- Foundation/samples/URI/URI_vs80.vcproj | 870 +- Foundation/samples/URI/URI_vs90.vcproj | 870 +- Foundation/samples/URI/src/URI.cpp | 120 +- Foundation/samples/base64decode/Makefile | 34 +- .../base64decode/base64decode_vs71.vcproj | 790 +- .../base64decode/base64decode_vs80.vcproj | 870 +- .../base64decode/base64decode_vs90.vcproj | 870 +- .../samples/base64decode/src/base64decode.cpp | 156 +- Foundation/samples/base64encode/Makefile | 34 +- .../base64encode/base64encode_vs71.vcproj | 790 +- .../base64encode/base64encode_vs80.vcproj | 870 +- .../base64encode/base64encode_vs90.vcproj | 870 +- .../samples/base64encode/src/base64encode.cpp | 156 +- Foundation/samples/deflate/Makefile | 34 +- .../samples/deflate/deflate_vs71.vcproj | 790 +- .../samples/deflate/deflate_vs80.vcproj | 870 +- .../samples/deflate/deflate_vs90.vcproj | 870 +- Foundation/samples/deflate/src/deflate.cpp | 156 +- Foundation/samples/dir/Makefile | 34 +- Foundation/samples/dir/dir_vs71.vcproj | 790 +- Foundation/samples/dir/dir_vs80.vcproj | 870 +- Foundation/samples/dir/dir_vs90.vcproj | 870 +- Foundation/samples/dir/src/dir.cpp | 168 +- Foundation/samples/grep/Makefile | 34 +- Foundation/samples/grep/grep_vs71.vcproj | 790 +- Foundation/samples/grep/grep_vs80.vcproj | 870 +- Foundation/samples/grep/grep_vs90.vcproj | 870 +- Foundation/samples/grep/src/grep.cpp | 166 +- Foundation/samples/hmacmd5/Makefile | 34 +- .../samples/hmacmd5/hmacmd5_vs71.vcproj | 790 +- .../samples/hmacmd5/hmacmd5_vs80.vcproj | 870 +- .../samples/hmacmd5/hmacmd5_vs90.vcproj | 870 +- Foundation/samples/hmacmd5/src/hmacmd5.cpp | 154 +- Foundation/samples/inflate/Makefile | 34 +- .../samples/inflate/inflate_vs71.vcproj | 790 +- .../samples/inflate/inflate_vs80.vcproj | 870 +- .../samples/inflate/inflate_vs90.vcproj | 870 +- Foundation/samples/inflate/src/inflate.cpp | 156 +- Foundation/samples/md5/Makefile | 34 +- Foundation/samples/md5/md5_vs71.vcproj | 790 +- Foundation/samples/md5/md5_vs80.vcproj | 870 +- Foundation/samples/md5/md5_vs90.vcproj | 870 +- Foundation/samples/md5/src/md5.cpp | 148 +- Foundation/samples/samples_vs71.sln | 642 +- Foundation/samples/samples_vs80.sln | 794 +- Foundation/samples/samples_vs90.sln | 794 +- Foundation/samples/uuidgen/Makefile | 34 +- Foundation/samples/uuidgen/src/uuidgen.cpp | 144 +- .../samples/uuidgen/uuidgen_vs71.vcproj | 790 +- .../samples/uuidgen/uuidgen_vs80.vcproj | 870 +- .../samples/uuidgen/uuidgen_vs90.vcproj | 870 +- Foundation/src/ASCIIEncoding.cpp | 276 +- Foundation/src/AbstractObserver.cpp | 128 +- Foundation/src/ActiveDispatcher.cpp | 266 +- Foundation/src/ArchiveStrategy.cpp | 422 +- Foundation/src/AsyncChannel.cpp | 366 +- Foundation/src/Base64Decoder.cpp | 316 +- Foundation/src/Base64Encoder.cpp | 368 +- Foundation/src/BinaryReader.cpp | 618 +- Foundation/src/BinaryWriter.cpp | 746 +- Foundation/src/Bugcheck.cpp | 206 +- Foundation/src/ByteOrder.cpp | 74 +- Foundation/src/Channel.cpp | 150 +- Foundation/src/Checksum.cpp | 160 +- Foundation/src/Condition.cpp | 202 +- Foundation/src/Configurable.cpp | 106 +- Foundation/src/ConsoleChannel.cpp | 142 +- Foundation/src/CountingStream.cpp | 370 +- Foundation/src/DateTime.cpp | 846 +- Foundation/src/DateTimeFormat.cpp | 166 +- Foundation/src/DateTimeFormatter.cpp | 354 +- Foundation/src/DateTimeParser.cpp | 802 +- Foundation/src/Debugger.cpp | 368 +- Foundation/src/DeflatingStream.cpp | 798 +- Foundation/src/DigestStream.cpp | 344 +- Foundation/src/DirectoryIterator.cpp | 338 +- Foundation/src/DirectoryIterator_UNIX.cpp | 172 +- Foundation/src/DirectoryIterator_VMS.cpp | 174 +- Foundation/src/DirectoryIterator_WIN32.cpp | 176 +- Foundation/src/DirectoryIterator_WIN32U.cpp | 194 +- Foundation/src/Environment.cpp | 308 +- Foundation/src/Environment_UNIX.cpp | 662 +- Foundation/src/Environment_VMS.cpp | 480 +- Foundation/src/Environment_VX.cpp | 362 +- Foundation/src/Environment_WIN32.cpp | 484 +- Foundation/src/Environment_WIN32U.cpp | 512 +- Foundation/src/ErrorHandler.cpp | 272 +- Foundation/src/Event.cpp | 124 +- Foundation/src/EventArgs.cpp | 110 +- Foundation/src/EventLogChannel.cpp | 630 +- Foundation/src/Event_POSIX.cpp | 276 +- Foundation/src/Event_WIN32.cpp | 166 +- Foundation/src/Exception.cpp | 398 +- Foundation/src/FPEnvironment.cpp | 214 +- Foundation/src/FPEnvironment_C99.cpp | 208 +- Foundation/src/FPEnvironment_DEC.cpp | 434 +- Foundation/src/FPEnvironment_DUMMY.cpp | 202 +- Foundation/src/FPEnvironment_SUN.cpp | 322 +- Foundation/src/FPEnvironment_WIN32.cpp | 196 +- Foundation/src/File.cpp | 716 +- Foundation/src/FileStream.cpp | 286 +- Foundation/src/FileStreamFactory.cpp | 172 +- Foundation/src/FileStream_POSIX.cpp | 384 +- Foundation/src/FileStream_WIN32.cpp | 460 +- Foundation/src/File_UNIX.cpp | 948 +- Foundation/src/File_VMS.cpp | 814 +- Foundation/src/File_WIN32.cpp | 844 +- Foundation/src/File_WIN32U.cpp | 860 +- Foundation/src/Format.cpp | 808 +- Foundation/src/Formatter.cpp | 132 +- Foundation/src/FormattingChannel.cpp | 296 +- Foundation/src/Glob.cpp | 590 +- Foundation/src/Hash.cpp | 112 +- Foundation/src/HashStatistic.cpp | 172 +- Foundation/src/HexBinaryDecoder.cpp | 232 +- Foundation/src/HexBinaryEncoder.cpp | 278 +- Foundation/src/InflatingStream.cpp | 734 +- Foundation/src/Latin1Encoding.cpp | 280 +- Foundation/src/Latin9Encoding.cpp | 302 +- Foundation/src/LineEndingConverter.cpp | 408 +- Foundation/src/LocalDateTime.cpp | 678 +- Foundation/src/LogFile.cpp | 128 +- Foundation/src/LogFile_STD.cpp | 172 +- Foundation/src/LogFile_VMS.cpp | 182 +- Foundation/src/LogFile_WIN32.cpp | 260 +- Foundation/src/LogFile_WIN32U.cpp | 270 +- Foundation/src/LogStream.cpp | 474 +- Foundation/src/Logger.cpp | 972 +- Foundation/src/LoggingFactory.cpp | 282 +- Foundation/src/LoggingRegistry.cpp | 278 +- Foundation/src/MD4Engine.cpp | 600 +- Foundation/src/MD5Engine.cpp | 662 +- Foundation/src/Manifest.cpp | 106 +- Foundation/src/MemoryPool.cpp | 208 +- Foundation/src/Message.cpp | 486 +- Foundation/src/Mutex.cpp | 152 +- Foundation/src/Mutex_POSIX.cpp | 354 +- Foundation/src/Mutex_WIN32.cpp | 162 +- Foundation/src/NamedEvent.cpp | 134 +- Foundation/src/NamedEvent_UNIX.cpp | 338 +- Foundation/src/NamedEvent_VMS.cpp | 170 +- Foundation/src/NamedEvent_WIN32.cpp | 156 +- Foundation/src/NamedEvent_WIN32U.cpp | 160 +- Foundation/src/NamedMutex.cpp | 134 +- Foundation/src/NamedMutex_UNIX.cpp | 366 +- Foundation/src/NamedMutex_VMS.cpp | 174 +- Foundation/src/NamedMutex_WIN32.cpp | 190 +- Foundation/src/NamedMutex_WIN32U.cpp | 194 +- Foundation/src/NestedDiagnosticContext.cpp | 302 +- Foundation/src/Notification.cpp | 120 +- Foundation/src/NotificationCenter.cpp | 242 +- Foundation/src/NotificationQueue.cpp | 452 +- Foundation/src/NullChannel.cpp | 126 +- Foundation/src/NullStream.cpp | 192 +- Foundation/src/OpcomChannel.cpp | 398 +- Foundation/src/Path.cpp | 2120 +-- Foundation/src/Path_UNIX.cpp | 346 +- Foundation/src/Path_VMS.cpp | 278 +- Foundation/src/Path_WIN32.cpp | 244 +- Foundation/src/Path_WIN32U.cpp | 278 +- Foundation/src/PatternFormatter.cpp | 396 +- Foundation/src/Pipe.cpp | 184 +- Foundation/src/PipeImpl.cpp | 100 +- Foundation/src/PipeImpl_DUMMY.cpp | 174 +- Foundation/src/PipeImpl_POSIX.cpp | 266 +- Foundation/src/PipeImpl_WIN32.cpp | 238 +- Foundation/src/PipeStream.cpp | 298 +- Foundation/src/Process.cpp | 442 +- Foundation/src/Process_UNIX.cpp | 492 +- Foundation/src/Process_VMS.cpp | 344 +- Foundation/src/Process_WIN32.cpp | 568 +- Foundation/src/Process_WIN32U.cpp | 580 +- Foundation/src/PurgeStrategy.cpp | 306 +- Foundation/src/RWLock.cpp | 136 +- Foundation/src/RWLock_POSIX.cpp | 112 +- Foundation/src/RWLock_WIN32.cpp | 458 +- Foundation/src/Random.cpp | 772 +- Foundation/src/RandomStream.cpp | 298 +- Foundation/src/RefCountedObject.cpp | 106 +- Foundation/src/RegularExpression.cpp | 610 +- Foundation/src/RotateStrategy.cpp | 270 +- Foundation/src/Runnable.cpp | 106 +- Foundation/src/SHA1Engine.cpp | 610 +- Foundation/src/Semaphore.cpp | 134 +- Foundation/src/Semaphore_POSIX.cpp | 278 +- Foundation/src/Semaphore_WIN32.cpp | 174 +- Foundation/src/SharedLibrary.cpp | 266 +- Foundation/src/SharedLibrary_HPUX.cpp | 232 +- Foundation/src/SharedLibrary_UNIX.cpp | 304 +- Foundation/src/SharedLibrary_VMS.cpp | 278 +- Foundation/src/SharedLibrary_WIN32.cpp | 240 +- Foundation/src/SharedLibrary_WIN32U.cpp | 262 +- Foundation/src/SharedMemory.cpp | 236 +- Foundation/src/SharedMemory_DUMMY.cpp | 116 +- Foundation/src/SharedMemory_POSIX.cpp | 312 +- Foundation/src/SharedMemory_WIN32.cpp | 332 +- Foundation/src/SignalHandler.cpp | 266 +- Foundation/src/SimpleFileChannel.cpp | 456 +- Foundation/src/SplitterChannel.cpp | 256 +- Foundation/src/Stopwatch.cpp | 164 +- Foundation/src/StreamChannel.cpp | 124 +- Foundation/src/StreamConverter.cpp | 428 +- Foundation/src/StreamCopier.cpp | 344 +- Foundation/src/StreamTokenizer.cpp | 254 +- Foundation/src/String.cpp | 442 +- Foundation/src/StringTokenizer.cpp | 262 +- Foundation/src/SynchronizedObject.cpp | 106 +- Foundation/src/SyslogChannel.cpp | 556 +- Foundation/src/Task.cpp | 302 +- Foundation/src/TaskManager.cpp | 354 +- Foundation/src/TaskNotification.cpp | 228 +- Foundation/src/TeeStream.cpp | 310 +- Foundation/src/TemporaryFile.cpp | 342 +- Foundation/src/TextConverter.cpp | 300 +- Foundation/src/TextEncoding.cpp | 472 +- Foundation/src/TextIterator.cpp | 394 +- Foundation/src/Thread.cpp | 350 +- Foundation/src/ThreadLocal.cpp | 214 +- Foundation/src/ThreadPool.cpp | 1080 +- Foundation/src/ThreadTarget.cpp | 130 +- Foundation/src/Thread_POSIX.cpp | 910 +- Foundation/src/Thread_WIN32.cpp | 588 +- Foundation/src/Timer.cpp | 496 +- Foundation/src/Timespan.cpp | 344 +- Foundation/src/Timestamp.cpp | 588 +- Foundation/src/Timezone.cpp | 126 +- Foundation/src/Timezone_UNIX.cpp | 242 +- Foundation/src/Timezone_WIN32.cpp | 246 +- Foundation/src/Token.cpp | 336 +- Foundation/src/URI.cpp | 1720 +- Foundation/src/URIStreamFactory.cpp | 160 +- Foundation/src/URIStreamOpener.cpp | 406 +- Foundation/src/UTF16Encoding.cpp | 590 +- Foundation/src/UTF8Encoding.cpp | 544 +- Foundation/src/UTF8String.cpp | 402 +- Foundation/src/UUID.cpp | 740 +- Foundation/src/UUIDGenerator.cpp | 328 +- Foundation/src/Unicode.cpp | 154 +- Foundation/src/UnicodeConverter.cpp | 330 +- Foundation/src/Void.cpp | 128 +- Foundation/src/Windows1252Encoding.cpp | 342 +- Foundation/src/WindowsConsoleChannel.cpp | 176 +- Foundation/src/adler32.c | 338 +- Foundation/src/compress.c | 160 +- Foundation/src/crc32.c | 884 +- Foundation/src/crc32.h | 882 +- Foundation/src/deflate.c | 3668 ++--- Foundation/src/deflate.h | 684 +- Foundation/src/infback.c | 1264 +- Foundation/src/inffast.c | 680 +- Foundation/src/inffast.h | 22 +- Foundation/src/inffixed.h | 188 +- Foundation/src/inflate.c | 2960 ++-- Foundation/src/inflate.h | 244 +- Foundation/src/inftrees.c | 660 +- Foundation/src/inftrees.h | 124 +- Foundation/src/pcre.h | 608 +- Foundation/src/pcre_chartables.c | 390 +- Foundation/src/pcre_compile.c | 12760 +++++++-------- Foundation/src/pcre_config.h | 550 +- Foundation/src/pcre_exec.c | 9994 ++++++------ Foundation/src/pcre_fullinfo.c | 324 +- Foundation/src/pcre_globals.c | 120 +- Foundation/src/pcre_internal.h | 2352 +-- Foundation/src/pcre_maketables.c | 282 +- Foundation/src/pcre_newline.c | 322 +- Foundation/src/pcre_ord2utf8.c | 168 +- Foundation/src/pcre_study.c | 1170 +- Foundation/src/pcre_tables.c | 706 +- Foundation/src/pcre_try_flipped.c | 268 +- Foundation/src/pcre_ucd.c | 5216 +++--- Foundation/src/pcre_valid_utf8.c | 324 +- Foundation/src/pcre_xclass.c | 288 +- Foundation/src/trees.c | 2488 +-- Foundation/src/trees.h | 256 +- Foundation/src/ucp.h | 292 +- Foundation/src/zconf.h | 860 +- Foundation/src/zlib.h | 3226 ++-- Foundation/src/zutil.c | 636 +- Foundation/src/zutil.h | 548 +- Foundation/testsuite/Makefile | 28 +- Foundation/testsuite/Makefile-TestApp | 34 +- Foundation/testsuite/Makefile-TestLibrary | 34 +- Foundation/testsuite/TestApp_vs71.vcproj | 780 +- Foundation/testsuite/TestApp_vs80.vcproj | 1110 +- Foundation/testsuite/TestApp_vs90.vcproj | 1082 +- Foundation/testsuite/TestLibrary_vs71.vcproj | 324 +- Foundation/testsuite/TestLibrary_vs80.vcproj | 450 +- Foundation/testsuite/TestLibrary_vs90.vcproj | 438 +- Foundation/testsuite/TestSuite_vs100.vcxproj | 1126 +- .../testsuite/TestSuite_vs100.vcxproj.filters | 1900 +-- Foundation/testsuite/TestSuite_vs71.vcproj | 2760 ++-- Foundation/testsuite/TestSuite_vs80.vcproj | 3582 ++-- Foundation/testsuite/TestSuite_vs90.vcproj | 3546 ++-- .../testsuite/src/ActiveDispatcherTest.cpp | 512 +- .../testsuite/src/ActiveDispatcherTest.h | 158 +- Foundation/testsuite/src/ActiveMethodTest.cpp | 566 +- Foundation/testsuite/src/ActiveMethodTest.h | 134 +- Foundation/testsuite/src/ActivityTest.cpp | 248 +- Foundation/testsuite/src/ActivityTest.h | 120 +- Foundation/testsuite/src/AnyTest.cpp | 290 +- Foundation/testsuite/src/AnyTest.h | 116 +- Foundation/testsuite/src/ArrayTest.cpp | 506 +- Foundation/testsuite/src/ArrayTest.h | 132 +- Foundation/testsuite/src/AutoPtrTest.cpp | 416 +- Foundation/testsuite/src/AutoPtrTest.h | 122 +- .../testsuite/src/AutoReleasePoolTest.cpp | 252 +- .../testsuite/src/AutoReleasePoolTest.h | 120 +- Foundation/testsuite/src/Base64Test.cpp | 398 +- Foundation/testsuite/src/Base64Test.h | 124 +- Foundation/testsuite/src/BasicEventTest.cpp | 854 +- Foundation/testsuite/src/BasicEventTest.h | 188 +- .../testsuite/src/BinaryReaderWriterTest.cpp | 534 +- .../testsuite/src/BinaryReaderWriterTest.h | 132 +- Foundation/testsuite/src/ByteOrderTest.cpp | 1266 +- Foundation/testsuite/src/ByteOrderTest.h | 126 +- Foundation/testsuite/src/CacheTestSuite.cpp | 102 +- Foundation/testsuite/src/CacheTestSuite.h | 98 +- Foundation/testsuite/src/ChannelTest.cpp | 320 +- Foundation/testsuite/src/ChannelTest.h | 128 +- Foundation/testsuite/src/ClassLoaderTest.cpp | 468 +- Foundation/testsuite/src/ClassLoaderTest.h | 124 +- Foundation/testsuite/src/ConditionTest.cpp | 428 +- Foundation/testsuite/src/ConditionTest.h | 122 +- Foundation/testsuite/src/CoreTest.cpp | 1604 +- Foundation/testsuite/src/CoreTest.h | 156 +- Foundation/testsuite/src/CoreTestSuite.cpp | 184 +- Foundation/testsuite/src/CoreTestSuite.h | 98 +- .../testsuite/src/CountingStreamTest.cpp | 248 +- Foundation/testsuite/src/CountingStreamTest.h | 122 +- Foundation/testsuite/src/CryptTestSuite.cpp | 112 +- Foundation/testsuite/src/CryptTestSuite.h | 98 +- .../testsuite/src/DateTimeFormatterTest.cpp | 500 +- .../testsuite/src/DateTimeFormatterTest.h | 140 +- .../testsuite/src/DateTimeParserTest.cpp | 1522 +- Foundation/testsuite/src/DateTimeParserTest.h | 144 +- Foundation/testsuite/src/DateTimeTest.cpp | 1762 +- Foundation/testsuite/src/DateTimeTest.h | 150 +- .../testsuite/src/DateTimeTestSuite.cpp | 112 +- Foundation/testsuite/src/DateTimeTestSuite.h | 98 +- Foundation/testsuite/src/Driver.cpp | 78 +- Foundation/testsuite/src/DummyDelegate.cpp | 110 +- Foundation/testsuite/src/DummyDelegate.h | 100 +- Foundation/testsuite/src/DynamicAnyTest.h | 336 +- .../testsuite/src/DynamicFactoryTest.cpp | 276 +- Foundation/testsuite/src/DynamicFactoryTest.h | 120 +- Foundation/testsuite/src/DynamicTestSuite.cpp | 88 +- Foundation/testsuite/src/DynamicTestSuite.h | 98 +- Foundation/testsuite/src/EventTestSuite.cpp | 94 +- Foundation/testsuite/src/EventTestSuite.h | 98 +- Foundation/testsuite/src/ExpireCacheTest.cpp | 468 +- Foundation/testsuite/src/ExpireCacheTest.h | 124 +- .../testsuite/src/ExpireLRUCacheTest.cpp | 706 +- Foundation/testsuite/src/ExpireLRUCacheTest.h | 128 +- Foundation/testsuite/src/FIFOEventTest.cpp | 878 +- Foundation/testsuite/src/FIFOEventTest.h | 182 +- Foundation/testsuite/src/FPETest.cpp | 344 +- Foundation/testsuite/src/FPETest.h | 124 +- Foundation/testsuite/src/FileChannelTest.cpp | 1290 +- Foundation/testsuite/src/FileChannelTest.h | 172 +- Foundation/testsuite/src/FileStreamTest.cpp | 710 +- Foundation/testsuite/src/FileStreamTest.h | 140 +- Foundation/testsuite/src/FileTest.cpp | 1100 +- Foundation/testsuite/src/FileTest.h | 144 +- .../testsuite/src/FilesystemTestSuite.cpp | 96 +- .../testsuite/src/FilesystemTestSuite.h | 98 +- Foundation/testsuite/src/FormatTest.cpp | 796 +- Foundation/testsuite/src/FormatTest.h | 162 +- .../testsuite/src/FoundationTestSuite.cpp | 160 +- .../testsuite/src/FoundationTestSuite.h | 98 +- Foundation/testsuite/src/GlobTest.cpp | 1098 +- Foundation/testsuite/src/GlobTest.h | 140 +- Foundation/testsuite/src/HMACEngineTest.cpp | 198 +- Foundation/testsuite/src/HMACEngineTest.h | 120 +- Foundation/testsuite/src/HashMapTest.cpp | 484 +- Foundation/testsuite/src/HashMapTest.h | 128 +- Foundation/testsuite/src/HashSetTest.cpp | 412 +- Foundation/testsuite/src/HashSetTest.h | 126 +- Foundation/testsuite/src/HashTableTest.cpp | 448 +- Foundation/testsuite/src/HashTableTest.h | 130 +- Foundation/testsuite/src/HashingTestSuite.cpp | 104 +- Foundation/testsuite/src/HashingTestSuite.h | 98 +- Foundation/testsuite/src/HexBinaryTest.cpp | 454 +- Foundation/testsuite/src/HexBinaryTest.h | 124 +- Foundation/testsuite/src/LRUCacheTest.cpp | 574 +- Foundation/testsuite/src/LRUCacheTest.h | 146 +- .../testsuite/src/LineEndingConverterTest.cpp | 330 +- .../testsuite/src/LineEndingConverterTest.h | 134 +- .../testsuite/src/LinearHashTableTest.cpp | 756 +- .../testsuite/src/LinearHashTableTest.h | 130 +- .../testsuite/src/LocalDateTimeTest.cpp | 1002 +- Foundation/testsuite/src/LocalDateTimeTest.h | 140 +- Foundation/testsuite/src/LogStreamTest.cpp | 218 +- Foundation/testsuite/src/LogStreamTest.h | 146 +- Foundation/testsuite/src/LoggerTest.cpp | 502 +- Foundation/testsuite/src/LoggerTest.h | 124 +- .../testsuite/src/LoggingFactoryTest.cpp | 334 +- Foundation/testsuite/src/LoggingFactoryTest.h | 122 +- .../testsuite/src/LoggingRegistryTest.cpp | 376 +- .../testsuite/src/LoggingRegistryTest.h | 124 +- Foundation/testsuite/src/LoggingTestSuite.cpp | 116 +- Foundation/testsuite/src/LoggingTestSuite.h | 98 +- Foundation/testsuite/src/MD2EngineTest.cpp | 200 +- Foundation/testsuite/src/MD2EngineTest.h | 120 +- Foundation/testsuite/src/MD4EngineTest.cpp | 200 +- Foundation/testsuite/src/MD4EngineTest.h | 120 +- Foundation/testsuite/src/MD5EngineTest.cpp | 200 +- Foundation/testsuite/src/MD5EngineTest.h | 120 +- Foundation/testsuite/src/ManifestTest.cpp | 272 +- Foundation/testsuite/src/ManifestTest.h | 120 +- Foundation/testsuite/src/MemoryPoolTest.cpp | 220 +- Foundation/testsuite/src/MemoryPoolTest.h | 120 +- Foundation/testsuite/src/NDCTest.cpp | 214 +- Foundation/testsuite/src/NDCTest.h | 122 +- Foundation/testsuite/src/NamedEventTest.cpp | 244 +- Foundation/testsuite/src/NamedEventTest.h | 120 +- Foundation/testsuite/src/NamedMutexTest.cpp | 320 +- Foundation/testsuite/src/NamedMutexTest.h | 122 +- Foundation/testsuite/src/NamedTuplesTest.cpp | 3326 ++-- Foundation/testsuite/src/NamedTuplesTest.h | 158 +- .../testsuite/src/NotificationCenterTest.cpp | 456 +- .../testsuite/src/NotificationCenterTest.h | 160 +- .../testsuite/src/NotificationQueueTest.cpp | 504 +- .../testsuite/src/NotificationQueueTest.h | 146 +- .../testsuite/src/NotificationsTestSuite.cpp | 100 +- .../testsuite/src/NotificationsTestSuite.h | 98 +- Foundation/testsuite/src/NullStreamTest.cpp | 182 +- Foundation/testsuite/src/NullStreamTest.h | 122 +- .../testsuite/src/NumberFormatterTest.h | 126 +- Foundation/testsuite/src/NumberParserTest.h | 122 +- Foundation/testsuite/src/PathTest.cpp | 3344 ++-- Foundation/testsuite/src/PathTest.h | 172 +- .../testsuite/src/PatternFormatterTest.cpp | 242 +- .../testsuite/src/PatternFormatterTest.h | 120 +- .../testsuite/src/PriorityEventTest.cpp | 1024 +- Foundation/testsuite/src/PriorityEventTest.h | 190 +- Foundation/testsuite/src/ProcessTest.cpp | 400 +- Foundation/testsuite/src/ProcessTest.h | 126 +- .../testsuite/src/ProcessesTestSuite.cpp | 100 +- Foundation/testsuite/src/ProcessesTestSuite.h | 98 +- Foundation/testsuite/src/RWLockTest.cpp | 476 +- Foundation/testsuite/src/RWLockTest.h | 122 +- Foundation/testsuite/src/RandomStreamTest.cpp | 194 +- Foundation/testsuite/src/RandomStreamTest.h | 120 +- Foundation/testsuite/src/RandomTest.cpp | 344 +- Foundation/testsuite/src/RandomTest.h | 128 +- .../testsuite/src/RegularExpressionTest.cpp | 638 +- .../testsuite/src/RegularExpressionTest.h | 148 +- Foundation/testsuite/src/SHA1EngineTest.cpp | 176 +- Foundation/testsuite/src/SHA1EngineTest.h | 120 +- Foundation/testsuite/src/SemaphoreTest.cpp | 334 +- Foundation/testsuite/src/SemaphoreTest.h | 122 +- .../testsuite/src/SharedLibraryTest.cpp | 342 +- Foundation/testsuite/src/SharedLibraryTest.h | 124 +- .../testsuite/src/SharedLibraryTestSuite.cpp | 102 +- .../testsuite/src/SharedLibraryTestSuite.h | 98 +- Foundation/testsuite/src/SharedMemoryTest.cpp | 232 +- Foundation/testsuite/src/SharedMemoryTest.h | 128 +- Foundation/testsuite/src/SharedPtrTest.cpp | 478 +- Foundation/testsuite/src/SharedPtrTest.h | 126 +- .../testsuite/src/SimpleFileChannelTest.cpp | 294 +- .../testsuite/src/SimpleFileChannelTest.h | 124 +- .../testsuite/src/SimpleHashTableTest.cpp | 354 +- .../testsuite/src/SimpleHashTableTest.h | 130 +- Foundation/testsuite/src/StopwatchTest.cpp | 196 +- Foundation/testsuite/src/StopwatchTest.h | 120 +- .../testsuite/src/StreamConverterTest.cpp | 670 +- .../testsuite/src/StreamConverterTest.h | 138 +- Foundation/testsuite/src/StreamCopierTest.cpp | 420 +- Foundation/testsuite/src/StreamCopierTest.h | 134 +- .../testsuite/src/StreamTokenizerTest.cpp | 622 +- .../testsuite/src/StreamTokenizerTest.h | 132 +- Foundation/testsuite/src/StreamsTestSuite.cpp | 132 +- Foundation/testsuite/src/StreamsTestSuite.h | 98 +- Foundation/testsuite/src/StringTest.cpp | 760 +- Foundation/testsuite/src/StringTest.h | 146 +- .../testsuite/src/StringTokenizerTest.h | 114 +- Foundation/testsuite/src/TaskManagerTest.cpp | 1042 +- Foundation/testsuite/src/TaskManagerTest.h | 142 +- Foundation/testsuite/src/TaskTest.cpp | 322 +- Foundation/testsuite/src/TaskTest.h | 124 +- Foundation/testsuite/src/TaskTestSuite.cpp | 92 +- Foundation/testsuite/src/TaskTestSuite.h | 98 +- Foundation/testsuite/src/TeeStreamTest.cpp | 192 +- Foundation/testsuite/src/TeeStreamTest.h | 122 +- Foundation/testsuite/src/TestApp.cpp | 132 +- Foundation/testsuite/src/TestChannel.cpp | 122 +- Foundation/testsuite/src/TestChannel.h | 122 +- Foundation/testsuite/src/TestLibrary.cpp | 234 +- Foundation/testsuite/src/TestPlugin.cpp | 86 +- Foundation/testsuite/src/TestPlugin.h | 102 +- .../testsuite/src/TextConverterTest.cpp | 480 +- Foundation/testsuite/src/TextConverterTest.h | 128 +- Foundation/testsuite/src/TextEncodingTest.cpp | 188 +- Foundation/testsuite/src/TextEncodingTest.h | 120 +- Foundation/testsuite/src/TextIteratorTest.cpp | 584 +- Foundation/testsuite/src/TextIteratorTest.h | 136 +- Foundation/testsuite/src/TextTestSuite.cpp | 120 +- Foundation/testsuite/src/TextTestSuite.h | 98 +- Foundation/testsuite/src/ThreadLocalTest.cpp | 288 +- Foundation/testsuite/src/ThreadLocalTest.h | 122 +- Foundation/testsuite/src/ThreadPoolTest.cpp | 368 +- Foundation/testsuite/src/ThreadPoolTest.h | 136 +- Foundation/testsuite/src/ThreadTest.cpp | 678 +- Foundation/testsuite/src/ThreadTest.h | 136 +- .../testsuite/src/ThreadingTestSuite.cpp | 124 +- Foundation/testsuite/src/ThreadingTestSuite.h | 98 +- Foundation/testsuite/src/TimerTest.cpp | 236 +- Foundation/testsuite/src/TimerTest.h | 134 +- Foundation/testsuite/src/TimespanTest.cpp | 360 +- Foundation/testsuite/src/TimespanTest.h | 126 +- Foundation/testsuite/src/TimestampTest.cpp | 244 +- Foundation/testsuite/src/TimestampTest.h | 120 +- Foundation/testsuite/src/TimezoneTest.cpp | 166 +- Foundation/testsuite/src/TimezoneTest.h | 120 +- Foundation/testsuite/src/TuplesTest.cpp | 1214 +- Foundation/testsuite/src/TuplesTest.h | 176 +- Foundation/testsuite/src/TypeListTest.cpp | 646 +- Foundation/testsuite/src/TypeListTest.h | 118 +- .../testsuite/src/URIStreamOpenerTest.cpp | 492 +- .../testsuite/src/URIStreamOpenerTest.h | 132 +- Foundation/testsuite/src/URITest.cpp | 1588 +- Foundation/testsuite/src/URITest.h | 134 +- Foundation/testsuite/src/URITestSuite.cpp | 92 +- Foundation/testsuite/src/URITestSuite.h | 98 +- Foundation/testsuite/src/UTF8StringTest.cpp | 252 +- Foundation/testsuite/src/UTF8StringTest.h | 122 +- .../testsuite/src/UUIDGeneratorTest.cpp | 258 +- Foundation/testsuite/src/UUIDGeneratorTest.h | 124 +- Foundation/testsuite/src/UUIDTest.cpp | 400 +- Foundation/testsuite/src/UUIDTest.h | 132 +- Foundation/testsuite/src/UUIDTestSuite.cpp | 92 +- Foundation/testsuite/src/UUIDTestSuite.h | 98 +- .../testsuite/src/UniqueExpireCacheTest.cpp | 552 +- .../testsuite/src/UniqueExpireCacheTest.h | 128 +- .../src/UniqueExpireLRUCacheTest.cpp | 694 +- .../testsuite/src/UniqueExpireLRUCacheTest.h | 128 +- Foundation/testsuite/src/WinDriver.cpp | 100 +- Foundation/testsuite/src/ZLibTest.cpp | 408 +- Foundation/testsuite/src/ZLibTest.h | 130 +- LICENSE | 46 +- MANIFEST | 6886 ++++---- Net/Makefile | 80 +- Net/Net.progen | 38 +- Net/Net_vs100.sln | 120 +- Net/Net_vs71.sln | 100 +- Net/Net_vs71.vcproj | 1788 +- Net/Net_vs80.sln | 120 +- Net/Net_vs80.vcproj | 1830 +-- Net/Net_vs90.sln | 120 +- Net/Net_vs90.vcproj | 1828 +-- .../Poco/Net/AbstractHTTPRequestHandler.h | 316 +- Net/include/Poco/Net/DNS.h | 286 +- Net/include/Poco/Net/DatagramSocket.h | 338 +- Net/include/Poco/Net/DatagramSocketImpl.h | 162 +- Net/include/Poco/Net/DialogSocket.h | 462 +- Net/include/Poco/Net/FTPClientSession.h | 774 +- Net/include/Poco/Net/FTPStreamFactory.h | 276 +- Net/include/Poco/Net/FilePartSource.h | 190 +- Net/include/Poco/Net/HTMLForm.h | 520 +- Net/include/Poco/Net/HTTPBasicCredentials.h | 266 +- Net/include/Poco/Net/HTTPBasicStreamBuf.h | 116 +- Net/include/Poco/Net/HTTPBufferAllocator.h | 144 +- Net/include/Poco/Net/HTTPChunkedStream.h | 254 +- Net/include/Poco/Net/HTTPClientSession.h | 766 +- Net/include/Poco/Net/HTTPCookie.h | 558 +- Net/include/Poco/Net/HTTPFixedLengthStream.h | 252 +- Net/include/Poco/Net/HTTPHeaderStream.h | 248 +- Net/include/Poco/Net/HTTPIOStream.h | 220 +- Net/include/Poco/Net/HTTPMessage.h | 396 +- Net/include/Poco/Net/HTTPRequest.h | 422 +- Net/include/Poco/Net/HTTPRequestHandler.h | 178 +- .../Poco/Net/HTTPRequestHandlerFactory.h | 168 +- Net/include/Poco/Net/HTTPResponse.h | 542 +- Net/include/Poco/Net/HTTPServer.h | 188 +- Net/include/Poco/Net/HTTPServerConnection.h | 166 +- .../Poco/Net/HTTPServerConnectionFactory.h | 154 +- Net/include/Poco/Net/HTTPServerParams.h | 352 +- Net/include/Poco/Net/HTTPServerRequest.h | 200 +- Net/include/Poco/Net/HTTPServerRequestImpl.h | 310 +- Net/include/Poco/Net/HTTPServerResponse.h | 276 +- Net/include/Poco/Net/HTTPServerResponseImpl.h | 298 +- Net/include/Poco/Net/HTTPServerSession.h | 196 +- Net/include/Poco/Net/HTTPSession.h | 510 +- Net/include/Poco/Net/HTTPSessionFactory.h | 354 +- .../Poco/Net/HTTPSessionInstantiator.h | 278 +- Net/include/Poco/Net/HTTPStream.h | 250 +- Net/include/Poco/Net/HTTPStreamFactory.h | 228 +- Net/include/Poco/Net/HostEntry.h | 274 +- Net/include/Poco/Net/ICMPClient.h | 214 +- Net/include/Poco/Net/ICMPEventArgs.h | 370 +- Net/include/Poco/Net/ICMPPacket.h | 222 +- Net/include/Poco/Net/ICMPPacketImpl.h | 326 +- Net/include/Poco/Net/ICMPSocket.h | 278 +- Net/include/Poco/Net/ICMPSocketImpl.h | 170 +- Net/include/Poco/Net/ICMPv4PacketImpl.h | 372 +- Net/include/Poco/Net/IPAddress.h | 760 +- Net/include/Poco/Net/MailMessage.h | 586 +- Net/include/Poco/Net/MailRecipient.h | 284 +- Net/include/Poco/Net/MailStream.h | 336 +- Net/include/Poco/Net/MediaType.h | 382 +- Net/include/Poco/Net/MessageHeader.h | 362 +- Net/include/Poco/Net/MulticastSocket.h | 276 +- Net/include/Poco/Net/MultipartReader.h | 364 +- Net/include/Poco/Net/MultipartWriter.h | 262 +- Net/include/Poco/Net/NameValueCollection.h | 310 +- Net/include/Poco/Net/Net.h | 198 +- Net/include/Poco/Net/NetException.h | 158 +- Net/include/Poco/Net/NetworkInterface.h | 394 +- Net/include/Poco/Net/NullPartHandler.h | 138 +- Net/include/Poco/Net/POP3ClientSession.h | 414 +- Net/include/Poco/Net/PartHandler.h | 180 +- Net/include/Poco/Net/PartSource.h | 250 +- Net/include/Poco/Net/QuotedPrintableDecoder.h | 216 +- Net/include/Poco/Net/QuotedPrintableEncoder.h | 214 +- Net/include/Poco/Net/RawSocket.h | 338 +- Net/include/Poco/Net/RawSocketImpl.h | 156 +- Net/include/Poco/Net/RemoteSyslogChannel.h | 344 +- Net/include/Poco/Net/RemoteSyslogListener.h | 276 +- Net/include/Poco/Net/SMTPClientSession.h | 440 +- Net/include/Poco/Net/ServerSocket.h | 378 +- Net/include/Poco/Net/ServerSocketImpl.h | 134 +- Net/include/Poco/Net/Socket.h | 1272 +- Net/include/Poco/Net/SocketAcceptor.h | 368 +- Net/include/Poco/Net/SocketAddress.h | 372 +- Net/include/Poco/Net/SocketConnector.h | 454 +- Net/include/Poco/Net/SocketDefs.h | 552 +- Net/include/Poco/Net/SocketImpl.h | 974 +- Net/include/Poco/Net/SocketNotification.h | 350 +- Net/include/Poco/Net/SocketNotifier.h | 246 +- Net/include/Poco/Net/SocketReactor.h | 490 +- Net/include/Poco/Net/SocketStream.h | 398 +- Net/include/Poco/Net/StreamSocket.h | 336 +- Net/include/Poco/Net/StreamSocketImpl.h | 162 +- Net/include/Poco/Net/StringPartSource.h | 180 +- Net/include/Poco/Net/TCPServer.h | 384 +- Net/include/Poco/Net/TCPServerConnection.h | 216 +- .../Poco/Net/TCPServerConnectionFactory.h | 222 +- Net/include/Poco/Net/TCPServerDispatcher.h | 290 +- Net/include/Poco/Net/TCPServerParams.h | 318 +- Net/samples/EchoServer/EchoServer_vs71.vcproj | 796 +- Net/samples/EchoServer/EchoServer_vs80.vcproj | 876 +- Net/samples/EchoServer/EchoServer_vs90.vcproj | 876 +- Net/samples/EchoServer/Makefile | 34 +- Net/samples/EchoServer/src/EchoServer.cpp | 456 +- .../HTTPFormServer/HTTPFormServer_vs71.vcproj | 796 +- .../HTTPFormServer/HTTPFormServer_vs80.vcproj | 876 +- .../HTTPFormServer/HTTPFormServer_vs90.vcproj | 876 +- Net/samples/HTTPFormServer/Makefile | 34 +- .../HTTPFormServer/src/HTTPFormServer.cpp | 652 +- .../HTTPLoadTest/HTTPLoadTest_vs71.vcproj | 786 +- .../HTTPLoadTest/HTTPLoadTest_vs80.vcproj | 866 +- .../HTTPLoadTest/HTTPLoadTest_vs90.vcproj | 866 +- Net/samples/HTTPLoadTest/Makefile | 34 +- Net/samples/HTTPLoadTest/src/HTTPLoadTest.cpp | 790 +- .../HTTPTimeServer/HTTPTimeServer_vs71.vcproj | 796 +- .../HTTPTimeServer/HTTPTimeServer_vs80.vcproj | 876 +- .../HTTPTimeServer/HTTPTimeServer_vs90.vcproj | 876 +- Net/samples/HTTPTimeServer/Makefile | 34 +- .../HTTPTimeServer/src/HTTPTimeServer.cpp | 472 +- Net/samples/Mail/Mail_vs71.vcproj | 790 +- Net/samples/Mail/Mail_vs80.vcproj | 870 +- Net/samples/Mail/Mail_vs90.vcproj | 870 +- Net/samples/Mail/Makefile | 34 +- Net/samples/Mail/src/Mail.cpp | 198 +- Net/samples/Makefile | 46 +- Net/samples/Ping/Makefile | 34 +- Net/samples/Ping/Ping_vs71.vcproj | 796 +- Net/samples/Ping/Ping_vs80.vcproj | 876 +- Net/samples/Ping/Ping_vs90.vcproj | 876 +- Net/samples/Ping/src/Ping.cpp | 438 +- Net/samples/TimeServer/Makefile | 34 +- Net/samples/TimeServer/TimeServer_vs71.vcproj | 796 +- Net/samples/TimeServer/TimeServer_vs80.vcproj | 876 +- Net/samples/TimeServer/TimeServer_vs90.vcproj | 876 +- Net/samples/TimeServer/src/TimeServer.cpp | 444 +- Net/samples/dict/Makefile | 34 +- Net/samples/dict/dict_vs71.vcproj | 786 +- Net/samples/dict/dict_vs80.vcproj | 866 +- Net/samples/dict/dict_vs90.vcproj | 866 +- Net/samples/dict/src/dict.cpp | 170 +- Net/samples/download/Makefile | 34 +- Net/samples/download/download_vs71.vcproj | 786 +- Net/samples/download/download_vs80.vcproj | 866 +- Net/samples/download/download_vs90.vcproj | 866 +- Net/samples/download/src/download.cpp | 164 +- Net/samples/httpget/Makefile | 34 +- Net/samples/httpget/httpget_vs71.vcproj | 786 +- Net/samples/httpget/httpget_vs80.vcproj | 866 +- Net/samples/httpget/httpget_vs90.vcproj | 866 +- Net/samples/httpget/src/httpget.cpp | 232 +- Net/samples/samples_vs71.sln | 418 +- Net/samples/samples_vs80.sln | 514 +- Net/samples/samples_vs90.sln | 514 +- Net/src/AbstractHTTPRequestHandler.cpp | 262 +- Net/src/DNS.cpp | 608 +- Net/src/DatagramSocket.cpp | 260 +- Net/src/DatagramSocketImpl.cpp | 164 +- Net/src/DialogSocket.cpp | 620 +- Net/src/FTPClientSession.cpp | 1018 +- Net/src/FTPStreamFactory.cpp | 514 +- Net/src/FilePartSource.cpp | 198 +- Net/src/HTMLForm.cpp | 800 +- Net/src/HTTPBasicCredentials.cpp | 298 +- Net/src/HTTPBufferAllocator.cpp | 132 +- Net/src/HTTPChunkedStream.cpp | 440 +- Net/src/HTTPClientSession.cpp | 882 +- Net/src/HTTPCookie.cpp | 682 +- Net/src/HTTPFixedLengthStream.cpp | 378 +- Net/src/HTTPHeaderStream.cpp | 372 +- Net/src/HTTPIOStream.cpp | 170 +- Net/src/HTTPMessage.cpp | 412 +- Net/src/HTTPRequest.cpp | 536 +- Net/src/HTTPRequestHandler.cpp | 108 +- Net/src/HTTPRequestHandlerFactory.cpp | 108 +- Net/src/HTTPResponse.cpp | 686 +- Net/src/HTTPServer.cpp | 124 +- Net/src/HTTPServerConnection.cpp | 254 +- Net/src/HTTPServerConnectionFactory.cpp | 130 +- Net/src/HTTPServerParams.cpp | 190 +- Net/src/HTTPServerRequest.cpp | 108 +- Net/src/HTTPServerRequestImpl.cpp | 212 +- Net/src/HTTPServerResponse.cpp | 108 +- Net/src/HTTPServerResponseImpl.cpp | 362 +- Net/src/HTTPServerSession.cpp | 184 +- Net/src/HTTPSession.cpp | 488 +- Net/src/HTTPSessionFactory.cpp | 336 +- Net/src/HTTPSessionInstantiator.cpp | 192 +- Net/src/HTTPStream.cpp | 360 +- Net/src/HTTPStreamFactory.cpp | 366 +- Net/src/HostEntry.cpp | 314 +- Net/src/ICMPClient.cpp | 332 +- Net/src/ICMPEventArgs.cpp | 380 +- Net/src/ICMPPacket.cpp | 264 +- Net/src/ICMPPacketImpl.cpp | 250 +- Net/src/ICMPSocket.cpp | 202 +- Net/src/ICMPSocketImpl.cpp | 240 +- Net/src/ICMPv4PacketImpl.cpp | 568 +- Net/src/IPAddress.cpp | 1788 +- Net/src/MailMessage.cpp | 1154 +- Net/src/MailRecipient.cpp | 232 +- Net/src/MailStream.cpp | 482 +- Net/src/MediaType.cpp | 426 +- Net/src/MessageHeader.cpp | 526 +- Net/src/MulticastSocket.cpp | 526 +- Net/src/MultipartReader.cpp | 640 +- Net/src/MultipartWriter.cpp | 216 +- Net/src/NameValueCollection.cpp | 350 +- Net/src/NetException.cpp | 146 +- Net/src/NetworkInterface.cpp | 1778 +- Net/src/NullPartHandler.cpp | 136 +- Net/src/POP3ClientSession.cpp | 604 +- Net/src/PartHandler.cpp | 108 +- Net/src/PartSource.cpp | 146 +- Net/src/QuotedPrintableDecoder.cpp | 248 +- Net/src/QuotedPrintableEncoder.cpp | 344 +- Net/src/RawSocket.cpp | 266 +- Net/src/RawSocketImpl.cpp | 182 +- Net/src/RemoteSyslogChannel.cpp | 710 +- Net/src/RemoteSyslogListener.cpp | 1158 +- Net/src/SMTPClientSession.cpp | 746 +- Net/src/ServerSocket.cpp | 288 +- Net/src/ServerSocketImpl.cpp | 108 +- Net/src/Socket.cpp | 836 +- Net/src/SocketAddress.cpp | 844 +- Net/src/SocketImpl.cpp | 2164 +-- Net/src/SocketNotification.cpp | 254 +- Net/src/SocketNotifier.cpp | 222 +- Net/src/SocketReactor.cpp | 576 +- Net/src/SocketStream.cpp | 356 +- Net/src/StreamSocket.cpp | 296 +- Net/src/StreamSocketImpl.cpp | 190 +- Net/src/StringPartSource.cpp | 166 +- Net/src/TCPServer.cpp | 358 +- Net/src/TCPServerConnection.cpp | 164 +- Net/src/TCPServerConnectionFactory.cpp | 108 +- Net/src/TCPServerDispatcher.cpp | 516 +- Net/src/TCPServerParams.cpp | 172 +- Net/testsuite/Makefile | 70 +- Net/testsuite/TestSuite.progen | 24 +- Net/testsuite/TestSuite_vs71.vcproj | 1518 +- Net/testsuite/TestSuite_vs80.vcproj | 1598 +- Net/testsuite/TestSuite_vs90.vcproj | 1598 +- Net/testsuite/src/DNSTest.cpp | 270 +- Net/testsuite/src/DNSTest.h | 124 +- Net/testsuite/src/DatagramSocketTest.cpp | 282 +- Net/testsuite/src/DatagramSocketTest.h | 124 +- Net/testsuite/src/DialogServer.cpp | 380 +- Net/testsuite/src/DialogServer.h | 206 +- Net/testsuite/src/DialogSocketTest.cpp | 264 +- Net/testsuite/src/DialogSocketTest.h | 120 +- Net/testsuite/src/Driver.cpp | 78 +- Net/testsuite/src/EchoServer.cpp | 188 +- Net/testsuite/src/EchoServer.h | 140 +- Net/testsuite/src/FTPClientSessionTest.cpp | 1100 +- Net/testsuite/src/FTPClientSessionTest.h | 138 +- Net/testsuite/src/FTPClientTestSuite.cpp | 92 +- Net/testsuite/src/FTPClientTestSuite.h | 98 +- Net/testsuite/src/FTPStreamFactoryTest.cpp | 558 +- Net/testsuite/src/FTPStreamFactoryTest.h | 128 +- Net/testsuite/src/HTMLFormTest.cpp | 746 +- Net/testsuite/src/HTMLFormTest.h | 138 +- Net/testsuite/src/HTMLTestSuite.cpp | 88 +- Net/testsuite/src/HTMLTestSuite.h | 98 +- Net/testsuite/src/HTTPClientSessionTest.cpp | 656 +- Net/testsuite/src/HTTPClientSessionTest.h | 142 +- Net/testsuite/src/HTTPClientTestSuite.cpp | 92 +- Net/testsuite/src/HTTPClientTestSuite.h | 98 +- Net/testsuite/src/HTTPCookieTest.cpp | 242 +- Net/testsuite/src/HTTPCookieTest.h | 124 +- Net/testsuite/src/HTTPCredentialsTest.cpp | 662 +- Net/testsuite/src/HTTPCredentialsTest.h | 144 +- Net/testsuite/src/HTTPRequestTest.cpp | 550 +- Net/testsuite/src/HTTPRequestTest.h | 140 +- Net/testsuite/src/HTTPResponseTest.cpp | 470 +- Net/testsuite/src/HTTPResponseTest.h | 134 +- Net/testsuite/src/HTTPServerTest.cpp | 1160 +- Net/testsuite/src/HTTPServerTest.h | 146 +- Net/testsuite/src/HTTPServerTestSuite.cpp | 88 +- Net/testsuite/src/HTTPServerTestSuite.h | 98 +- Net/testsuite/src/HTTPStreamFactoryTest.cpp | 308 +- Net/testsuite/src/HTTPStreamFactoryTest.h | 128 +- Net/testsuite/src/HTTPTestServer.cpp | 488 +- Net/testsuite/src/HTTPTestServer.h | 162 +- Net/testsuite/src/HTTPTestSuite.cpp | 100 +- Net/testsuite/src/HTTPTestSuite.h | 98 +- Net/testsuite/src/ICMPClientTest.cpp | 304 +- Net/testsuite/src/ICMPClientTest.h | 136 +- Net/testsuite/src/ICMPClientTestSuite.cpp | 88 +- Net/testsuite/src/ICMPClientTestSuite.h | 98 +- Net/testsuite/src/ICMPSocketTest.cpp | 230 +- Net/testsuite/src/ICMPSocketTest.h | 122 +- Net/testsuite/src/IPAddressTest.cpp | 1146 +- Net/testsuite/src/IPAddressTest.h | 140 +- Net/testsuite/src/MailMessageTest.cpp | 932 +- Net/testsuite/src/MailMessageTest.h | 136 +- Net/testsuite/src/MailStreamTest.cpp | 282 +- Net/testsuite/src/MailStreamTest.h | 122 +- Net/testsuite/src/MailTestSuite.cpp | 100 +- Net/testsuite/src/MailTestSuite.h | 98 +- Net/testsuite/src/MediaTypeTest.cpp | 308 +- Net/testsuite/src/MediaTypeTest.h | 126 +- Net/testsuite/src/MessageHeaderTest.cpp | 834 +- Net/testsuite/src/MessageHeaderTest.h | 150 +- Net/testsuite/src/MessagesTestSuite.cpp | 108 +- Net/testsuite/src/MessagesTestSuite.h | 98 +- Net/testsuite/src/MulticastEchoServer.cpp | 234 +- Net/testsuite/src/MulticastEchoServer.h | 170 +- Net/testsuite/src/MulticastSocketTest.cpp | 192 +- Net/testsuite/src/MulticastSocketTest.h | 120 +- Net/testsuite/src/MultipartReaderTest.cpp | 800 +- Net/testsuite/src/MultipartReaderTest.h | 136 +- Net/testsuite/src/MultipartWriterTest.cpp | 232 +- Net/testsuite/src/MultipartWriterTest.h | 124 +- Net/testsuite/src/NameValueCollectionTest.cpp | 296 +- Net/testsuite/src/NameValueCollectionTest.h | 120 +- Net/testsuite/src/NetCoreTestSuite.cpp | 96 +- Net/testsuite/src/NetCoreTestSuite.h | 98 +- Net/testsuite/src/NetTestSuite.cpp | 140 +- Net/testsuite/src/NetTestSuite.h | 98 +- Net/testsuite/src/NetworkInterfaceTest.cpp | 248 +- Net/testsuite/src/NetworkInterfaceTest.h | 126 +- Net/testsuite/src/POP3ClientSessionTest.cpp | 636 +- Net/testsuite/src/POP3ClientSessionTest.h | 134 +- Net/testsuite/src/QuotedPrintableTest.cpp | 244 +- Net/testsuite/src/QuotedPrintableTest.h | 122 +- Net/testsuite/src/RawSocketTest.cpp | 254 +- Net/testsuite/src/RawSocketTest.h | 122 +- Net/testsuite/src/ReactorTestSuite.cpp | 88 +- Net/testsuite/src/ReactorTestSuite.h | 98 +- Net/testsuite/src/SMTPClientSessionTest.cpp | 432 +- Net/testsuite/src/SMTPClientSessionTest.h | 128 +- Net/testsuite/src/SocketAddressTest.cpp | 332 +- Net/testsuite/src/SocketAddressTest.h | 122 +- Net/testsuite/src/SocketReactorTest.cpp | 600 +- Net/testsuite/src/SocketReactorTest.h | 124 +- Net/testsuite/src/SocketStreamTest.cpp | 274 +- Net/testsuite/src/SocketStreamTest.h | 122 +- Net/testsuite/src/SocketTest.cpp | 986 +- Net/testsuite/src/SocketTest.h | 148 +- Net/testsuite/src/SocketsTestSuite.cpp | 112 +- Net/testsuite/src/SocketsTestSuite.h | 98 +- Net/testsuite/src/SyslogTest.cpp | 430 +- Net/testsuite/src/SyslogTest.h | 122 +- Net/testsuite/src/TCPServerTest.cpp | 552 +- Net/testsuite/src/TCPServerTest.h | 124 +- Net/testsuite/src/TCPServerTestSuite.cpp | 88 +- Net/testsuite/src/TCPServerTestSuite.h | 98 +- Net/testsuite/src/UDPEchoServer.cpp | 210 +- Net/testsuite/src/UDPEchoServer.h | 156 +- Net/testsuite/src/WinDriver.cpp | 100 +- NetSSL_OpenSSL/Makefile | 54 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs71.sln | 100 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs71.vcproj | 1096 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs80.sln | 120 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs80.vcproj | 1138 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs90.sln | 120 +- NetSSL_OpenSSL/NetSSL_OpenSSL_vs90.vcproj | 1136 +- .../Poco/Net/AcceptCertificateHandler.h | 148 +- .../Poco/Net/CertificateHandlerFactory.h | 230 +- .../Poco/Net/CertificateHandlerFactoryMgr.h | 172 +- .../Poco/Net/ConsoleCertificateHandler.h | 144 +- NetSSL_OpenSSL/include/Poco/Net/Context.h | 664 +- .../include/Poco/Net/HTTPSClientSession.h | 372 +- .../Poco/Net/HTTPSSessionInstantiator.h | 154 +- .../include/Poco/Net/HTTPSStreamFactory.h | 202 +- .../Poco/Net/InvalidCertificateHandler.h | 204 +- .../include/Poco/Net/KeyConsoleHandler.h | 138 +- .../include/Poco/Net/KeyFileHandler.h | 146 +- NetSSL_OpenSSL/include/Poco/Net/NetSSL.h | 218 +- .../include/Poco/Net/PrivateKeyFactory.h | 234 +- .../include/Poco/Net/PrivateKeyFactoryMgr.h | 172 +- .../Poco/Net/PrivateKeyPassphraseHandler.h | 212 +- .../include/Poco/Net/SSLException.h | 122 +- NetSSL_OpenSSL/include/Poco/Net/SSLManager.h | 774 +- .../include/Poco/Net/SecureServerSocket.h | 316 +- .../include/Poco/Net/SecureServerSocketImpl.h | 336 +- .../include/Poco/Net/SecureSocketImpl.h | 542 +- .../include/Poco/Net/SecureStreamSocket.h | 588 +- .../include/Poco/Net/SecureStreamSocketImpl.h | 642 +- NetSSL_OpenSSL/include/Poco/Net/Utility.h | 148 +- .../include/Poco/Net/VerificationErrorArgs.h | 260 +- .../include/Poco/Net/X509Certificate.h | 248 +- .../HTTPSTimeServer_vs71.vcproj | 796 +- .../HTTPSTimeServer_vs80.vcproj | 876 +- .../HTTPSTimeServer_vs90.vcproj | 876 +- .../samples/HTTPSTimeServer/Makefile | 38 +- .../HTTPSTimeServer/src/HTTPSTimeServer.cpp | 512 +- NetSSL_OpenSSL/samples/Makefile | 24 +- NetSSL_OpenSSL/samples/download/Makefile | 38 +- .../samples/download/download_vs71.vcproj | 786 +- .../samples/download/download_vs80.vcproj | 866 +- .../samples/download/download_vs90.vcproj | 866 +- .../samples/download/src/download.cpp | 234 +- NetSSL_OpenSSL/samples/samples_vs71.sln | 130 +- NetSSL_OpenSSL/samples/samples_vs80.sln | 154 +- NetSSL_OpenSSL/samples/samples_vs90.sln | 154 +- .../src/AcceptCertificateHandler.cpp | 120 +- .../src/CertificateHandlerFactory.cpp | 132 +- .../src/CertificateHandlerFactoryMgr.cpp | 182 +- .../src/ConsoleCertificateHandler.cpp | 150 +- NetSSL_OpenSSL/src/Context.cpp | 724 +- NetSSL_OpenSSL/src/HTTPSClientSession.cpp | 398 +- .../src/HTTPSSessionInstantiator.cpp | 156 +- NetSSL_OpenSSL/src/HTTPSStreamFactory.cpp | 378 +- .../src/InvalidCertificateHandler.cpp | 134 +- NetSSL_OpenSSL/src/KeyConsoleHandler.cpp | 124 +- NetSSL_OpenSSL/src/KeyFileHandler.cpp | 166 +- NetSSL_OpenSSL/src/PrivateKeyFactory.cpp | 132 +- NetSSL_OpenSSL/src/PrivateKeyFactoryMgr.cpp | 178 +- .../src/PrivateKeyPassphraseHandler.cpp | 122 +- NetSSL_OpenSSL/src/SSLException.cpp | 104 +- NetSSL_OpenSSL/src/SSLManager.cpp | 794 +- NetSSL_OpenSSL/src/SecureServerSocket.cpp | 286 +- NetSSL_OpenSSL/src/SecureServerSocketImpl.cpp | 272 +- NetSSL_OpenSSL/src/SecureSocketImpl.cpp | 1000 +- NetSSL_OpenSSL/src/SecureStreamSocket.cpp | 582 +- NetSSL_OpenSSL/src/SecureStreamSocketImpl.cpp | 522 +- NetSSL_OpenSSL/src/Utility.cpp | 186 +- NetSSL_OpenSSL/src/VerificationErrorArgs.cpp | 118 +- NetSSL_OpenSSL/src/X509Certificate.cpp | 390 +- NetSSL_OpenSSL/testsuite/Makefile | 42 +- .../testsuite/TestSuite_vs71.vcproj | 970 +- .../testsuite/TestSuite_vs80.vcproj | 1050 +- .../testsuite/TestSuite_vs90.vcproj | 1050 +- NetSSL_OpenSSL/testsuite/src/Driver.cpp | 194 +- .../testsuite/src/HTTPSClientSessionTest.cpp | 930 +- .../testsuite/src/HTTPSClientSessionTest.h | 142 +- .../testsuite/src/HTTPSClientTestSuite.cpp | 92 +- .../testsuite/src/HTTPSClientTestSuite.h | 98 +- .../testsuite/src/HTTPSServerTest.cpp | 742 +- .../testsuite/src/HTTPSServerTest.h | 134 +- .../testsuite/src/HTTPSServerTestSuite.cpp | 88 +- .../testsuite/src/HTTPSServerTestSuite.h | 98 +- .../testsuite/src/HTTPSStreamFactoryTest.cpp | 318 +- .../testsuite/src/HTTPSStreamFactoryTest.h | 128 +- .../testsuite/src/HTTPSTestServer.cpp | 504 +- .../testsuite/src/HTTPSTestServer.h | 168 +- .../testsuite/src/NetSSLTestSuite.cpp | 100 +- .../testsuite/src/NetSSLTestSuite.h | 98 +- .../testsuite/src/TCPServerTest.cpp | 854 +- NetSSL_OpenSSL/testsuite/src/TCPServerTest.h | 128 +- .../testsuite/src/TCPServerTestSuite.cpp | 88 +- .../testsuite/src/TCPServerTestSuite.h | 98 +- NetSSL_OpenSSL/testsuite/src/WinDriver.cpp | 194 +- PDF/PDF_vs80.sln | 52 +- PDF/PDF_vs80.vcproj | 1614 +- PDF/include/Poco/PDF/Destination.h | 304 +- PDF/include/Poco/PDF/Document.h | 1012 +- PDF/include/Poco/PDF/Encoder.h | 270 +- PDF/include/Poco/PDF/Font.h | 342 +- PDF/include/Poco/PDF/Image.h | 282 +- PDF/include/Poco/PDF/LinkAnnotation.h | 206 +- PDF/include/Poco/PDF/Outline.h | 212 +- PDF/include/Poco/PDF/PDF.h | 186 +- PDF/include/Poco/PDF/PDFException.h | 126 +- PDF/include/Poco/PDF/Page.h | 2322 +-- PDF/include/Poco/PDF/Resource.h | 298 +- PDF/include/Poco/PDF/TextAnnotation.h | 220 +- PDF/include/Poco/PDF/adler32.c | 298 +- PDF/include/Poco/PDF/crc32.h | 882 +- PDF/include/Poco/PDF/deflate.c | 3472 ++-- PDF/include/Poco/PDF/deflate.h | 662 +- PDF/include/Poco/PDF/inffast.h | 22 +- PDF/include/Poco/PDF/inffixed.h | 188 +- PDF/include/Poco/PDF/inflate.h | 230 +- PDF/include/Poco/PDF/inftrees.h | 110 +- PDF/include/Poco/PDF/png.h | 7098 ++++---- PDF/include/Poco/PDF/pngconf.h | 2962 ++-- PDF/include/Poco/PDF/trees.h | 256 +- PDF/include/Poco/PDF/zconf.h | 664 +- PDF/include/Poco/PDF/zlib.h | 2714 ++-- PDF/include/Poco/PDF/zutil.h | 538 +- PDF/samples/Image/Image_vs80.vcproj | 424 +- PDF/samples/Image/Makefile | 34 +- PDF/samples/Image/src/Image.cpp | 130 +- PDF/samples/Makefile | 26 +- PDF/samples/Text/Makefile | 34 +- PDF/samples/Text/Text_vs80.vcproj | 424 +- PDF/samples/Text/src/Text.cpp | 106 +- PDF/samples/samples_vs80.sln | 52 +- PDF/src/Destination.cpp | 116 +- PDF/src/Document.cpp | 732 +- PDF/src/Encoder.cpp | 116 +- PDF/src/Font.cpp | 112 +- PDF/src/Image.cpp | 112 +- PDF/src/LinkAnnotation.cpp | 116 +- PDF/src/Outline.cpp | 142 +- PDF/src/PDFException.cpp | 586 +- PDF/src/Page.cpp | 414 +- PDF/src/TextAnnotation.cpp | 120 +- PDF/src/adler32.c | 298 +- PDF/src/compress.c | 158 +- PDF/src/crc32.c | 846 +- PDF/src/deflate.c | 3472 ++-- PDF/src/gzio.c | 2052 +-- PDF/src/infback.c | 1246 +- PDF/src/inffast.c | 636 +- PDF/src/inflate.c | 2736 ++-- PDF/src/inftrees.c | 658 +- PDF/src/png.c | 1596 +- PDF/src/pngerror.c | 686 +- PDF/src/pnggccrd.c | 202 +- PDF/src/pngget.c | 1802 +-- PDF/src/pngmem.c | 1216 +- PDF/src/pngpread.c | 3172 ++-- PDF/src/pngread.c | 2946 ++-- PDF/src/pngrio.c | 334 +- PDF/src/pngrtran.c | 8568 +++++----- PDF/src/pngrutil.c | 6328 ++++---- PDF/src/pngset.c | 2500 +-- PDF/src/pngtest.c | 3112 ++-- PDF/src/pngtrans.c | 1324 +- PDF/src/pngvcrd.c | 2 +- PDF/src/pngwio.c | 468 +- PDF/src/pngwrite.c | 3032 ++-- PDF/src/pngwtran.c | 1144 +- PDF/src/pngwutil.c | 5584 +++---- PDF/src/trees.c | 2446 +-- PDF/src/zutil.c | 636 +- PDF/testsuite/Makefile | 34 +- PDF/testsuite/TestSuite_VS80.vcproj | 502 +- PDF/testsuite/src/Driver.cpp | 78 +- PDF/testsuite/src/PDFTest.cpp | 240 +- PDF/testsuite/src/PDFTest.h | 130 +- PDF/testsuite/src/PDFTestSuite.cpp | 88 +- PDF/testsuite/src/PDFTestSuite.h | 98 +- PDF/testsuite/src/WinDriver.cpp | 100 +- PocoDoc/Makefile | 34 +- PocoDoc/PocoDoc.progen | 32 +- PocoDoc/PocoDoc_vs100.sln | 74 +- PocoDoc/PocoDoc_vs100.vcxproj | 606 +- PocoDoc/PocoDoc_vs100.vcxproj.filters | 70 +- PocoDoc/PocoDoc_vs71.sln | 66 +- PocoDoc/PocoDoc_vs71.vcproj | 822 +- PocoDoc/PocoDoc_vs80.sln | 74 +- PocoDoc/PocoDoc_vs80.vcproj | 902 +- PocoDoc/PocoDoc_vs90.sln | 74 +- PocoDoc/PocoDoc_vs90.vcproj | 902 +- PocoDoc/PocoDoc_x64_vs100.sln | 74 +- PocoDoc/PocoDoc_x64_vs100.vcxproj | 606 +- PocoDoc/PocoDoc_x64_vs100.vcxproj.filters | 70 +- PocoDoc/PocoDoc_x64_vs90.sln | 74 +- PocoDoc/PocoDoc_x64_vs90.vcproj | 902 +- PocoDoc/cfg/mkdoc-poco.xml | 206 +- PocoDoc/dependencies | 8 +- PocoDoc/pages/samplePage.page | 78 +- PocoDoc/resources/css/prettify.css | 54 +- PocoDoc/resources/css/styles.css | 447 +- PocoDoc/resources/go.php | 60 +- PocoDoc/resources/index.html | 36 +- PocoDoc/resources/js/prettify.js | 2864 ++-- PocoDoc/resources/platform/go.php | 60 +- PocoDoc/resources/platform/index.html | 36 +- PocoDoc/resources/platform/welcome.thtml | 64 +- PocoDoc/resources/welcome.thtml | 60 +- PocoDoc/src/DocWriter.cpp | 4626 +++--- PocoDoc/src/DocWriter.h | 490 +- PocoDoc/src/PocoDoc.cpp | 1022 +- ProGen/ProGen_vs100.sln | 74 +- ProGen/ProGen_vs100.vcxproj | 612 +- ProGen/ProGen_vs100.vcxproj.filters | 62 +- ProGen/ProGen_vs71.sln | 66 +- ProGen/ProGen_vs71.vcproj | 810 +- ProGen/ProGen_vs80.sln | 74 +- ProGen/ProGen_vs80.vcproj | 890 +- ProGen/ProGen_vs90.sln | 74 +- ProGen/ProGen_vs90.vcproj | 890 +- ProGen/ProGen_x64_vs100.sln | 74 +- ProGen/ProGen_x64_vs100.vcxproj | 612 +- ProGen/ProGen_x64_vs100.vcxproj.filters | 62 +- ProGen/ProGen_x64_vs90.sln | 74 +- ProGen/ProGen_x64_vs90.vcproj | 890 +- ProGen/progen.properties | 30 +- ProGen/src/ProGen.cpp | 1658 +- ProGen/src/VSXMLWriter.cpp | 434 +- ProGen/src/VSXMLWriter.h | 160 +- .../Win32/executable/debug_shared.template | 170 +- .../Win32/executable/debug_static_md.template | 170 +- .../Win32/executable/debug_static_mt.template | 170 +- .../vs100/Win32/executable/project.properties | 18 +- .../vs100/Win32/executable/project.template | 52 +- .../Win32/executable/release_shared.template | 174 +- .../executable/release_static_md.template | 174 +- .../executable/release_static_mt.template | 174 +- .../vs100/Win32/library/debug_shared.template | 172 +- .../Win32/library/debug_static_md.template | 144 +- .../Win32/library/debug_static_mt.template | 144 +- .../vs100/Win32/library/project.properties | 18 +- .../vs100/Win32/library/project.template | 52 +- .../Win32/library/release_shared.template | 178 +- .../Win32/library/release_static_md.template | 150 +- .../Win32/library/release_static_mt.template | 146 +- .../vs100/Win32/plugin/debug_shared.template | 170 +- .../vs100/Win32/plugin/project.properties | 10 +- .../vs100/Win32/plugin/project.template | 52 +- .../Win32/plugin/release_shared.template | 176 +- .../Win32/testsuite/debug_shared.template | 172 +- .../Win32/testsuite/debug_static_md.template | 172 +- .../Win32/testsuite/debug_static_mt.template | 174 +- .../vs100/Win32/testsuite/project.properties | 18 +- .../vs100/Win32/testsuite/project.template | 52 +- .../Win32/testsuite/release_shared.template | 176 +- .../testsuite/release_static_md.template | 176 +- .../testsuite/release_static_mt.template | 178 +- .../x64/executable/debug_shared.template | 170 +- .../x64/executable/debug_static_md.template | 170 +- .../x64/executable/debug_static_mt.template | 170 +- .../vs100/x64/executable/project.properties | 20 +- .../vs100/x64/executable/project.template | 52 +- .../x64/executable/release_shared.template | 174 +- .../x64/executable/release_static_md.template | 174 +- .../x64/executable/release_static_mt.template | 174 +- .../vs100/x64/library/debug_shared.template | 172 +- .../x64/library/debug_static_md.template | 146 +- .../x64/library/debug_static_mt.template | 146 +- .../vs100/x64/library/project.properties | 20 +- .../vs100/x64/library/project.template | 52 +- .../vs100/x64/library/release_shared.template | 180 +- .../x64/library/release_static_md.template | 148 +- .../x64/library/release_static_mt.template | 148 +- .../vs100/x64/plugin/debug_shared.template | 170 +- .../vs100/x64/plugin/project.properties | 12 +- .../vs100/x64/plugin/project.template | 52 +- .../vs100/x64/plugin/release_shared.template | 178 +- .../vs100/x64/testsuite/debug_shared.template | 172 +- .../x64/testsuite/debug_static_md.template | 172 +- .../x64/testsuite/debug_static_mt.template | 174 +- .../vs100/x64/testsuite/project.properties | 20 +- .../vs100/x64/testsuite/project.template | 52 +- .../x64/testsuite/release_shared.template | 176 +- .../x64/testsuite/release_static_md.template | 176 +- .../x64/testsuite/release_static_mt.template | 178 +- .../Win32/executable/debug_shared.template | 118 +- .../Win32/executable/debug_static_md.template | 118 +- .../Win32/executable/debug_static_mt.template | 118 +- .../vs71/Win32/executable/project.properties | 4 +- .../vs71/Win32/executable/project.template | 42 +- .../Win32/executable/release_shared.template | 130 +- .../executable/release_static_md.template | 130 +- .../executable/release_static_mt.template | 130 +- .../vs71/Win32/library/debug_shared.template | 124 +- .../Win32/library/debug_static_md.template | 106 +- .../Win32/library/debug_static_mt.template | 106 +- .../vs71/Win32/library/project.properties | 4 +- .../vs71/Win32/library/project.template | 42 +- .../Win32/library/release_shared.template | 132 +- .../Win32/library/release_static_md.template | 112 +- .../Win32/library/release_static_mt.template | 112 +- .../vs71/Win32/plugin/debug_shared.template | 122 +- .../vs71/Win32/plugin/project.properties | 4 +- .../vs71/Win32/plugin/project.template | 42 +- .../vs71/Win32/plugin/release_shared.template | 130 +- .../Win32/testsuite/debug_shared.template | 120 +- .../Win32/testsuite/debug_static_md.template | 120 +- .../Win32/testsuite/debug_static_mt.template | 122 +- .../vs71/Win32/testsuite/project.properties | 4 +- .../vs71/Win32/testsuite/project.template | 42 +- .../Win32/testsuite/release_shared.template | 132 +- .../testsuite/release_static_md.template | 132 +- .../testsuite/release_static_mt.template | 134 +- .../Win32/executable/debug_shared.template | 170 +- .../Win32/executable/debug_static_md.template | 170 +- .../Win32/executable/debug_static_mt.template | 170 +- .../vs80/Win32/executable/project.properties | 2 +- .../vs80/Win32/executable/project.template | 50 +- .../Win32/executable/release_shared.template | 174 +- .../executable/release_static_md.template | 174 +- .../executable/release_static_mt.template | 174 +- .../vs80/Win32/library/debug_shared.template | 172 +- .../Win32/library/debug_static_md.template | 144 +- .../Win32/library/debug_static_mt.template | 144 +- .../vs80/Win32/library/project.properties | 2 +- .../vs80/Win32/library/project.template | 50 +- .../Win32/library/release_shared.template | 180 +- .../Win32/library/release_static_md.template | 146 +- .../Win32/library/release_static_mt.template | 146 +- .../vs80/Win32/plugin/debug_shared.template | 170 +- .../vs80/Win32/plugin/project.properties | 2 +- .../vs80/Win32/plugin/project.template | 50 +- .../vs80/Win32/plugin/release_shared.template | 178 +- .../Win32/testsuite/debug_shared.template | 172 +- .../Win32/testsuite/debug_static_md.template | 172 +- .../Win32/testsuite/debug_static_mt.template | 174 +- .../vs80/Win32/testsuite/project.properties | 2 +- .../vs80/Win32/testsuite/project.template | 50 +- .../Win32/testsuite/release_shared.template | 176 +- .../testsuite/release_static_md.template | 176 +- .../testsuite/release_static_mt.template | 178 +- .../Win32/executable/debug_shared.template | 170 +- .../Win32/executable/debug_static_md.template | 170 +- .../Win32/executable/debug_static_mt.template | 170 +- .../vs90/Win32/executable/project.properties | 2 +- .../vs90/Win32/executable/project.template | 52 +- .../Win32/executable/release_shared.template | 174 +- .../executable/release_static_md.template | 174 +- .../executable/release_static_mt.template | 174 +- .../vs90/Win32/library/debug_shared.template | 172 +- .../Win32/library/debug_static_md.template | 144 +- .../Win32/library/debug_static_mt.template | 144 +- .../vs90/Win32/library/project.properties | 2 +- .../vs90/Win32/library/project.template | 52 +- .../Win32/library/release_shared.template | 178 +- .../Win32/library/release_static_md.template | 146 +- .../Win32/library/release_static_mt.template | 146 +- .../vs90/Win32/plugin/debug_shared.template | 170 +- .../vs90/Win32/plugin/project.properties | 2 +- .../vs90/Win32/plugin/project.template | 52 +- .../vs90/Win32/plugin/release_shared.template | 176 +- .../Win32/testsuite/debug_shared.template | 172 +- .../Win32/testsuite/debug_static_md.template | 172 +- .../Win32/testsuite/debug_static_mt.template | 174 +- .../vs90/Win32/testsuite/project.properties | 2 +- .../vs90/Win32/testsuite/project.template | 52 +- .../Win32/testsuite/release_shared.template | 176 +- .../testsuite/release_static_md.template | 176 +- .../testsuite/release_static_mt.template | 178 +- .../WinCE/executable/debug_shared.template | 182 +- .../WinCE/executable/debug_static_md.template | 182 +- .../WinCE/executable/debug_static_mt.template | 182 +- .../vs90/WinCE/executable/project.properties | 8 +- .../vs90/WinCE/executable/project.template | 52 +- .../WinCE/executable/release_shared.template | 184 +- .../executable/release_static_md.template | 190 +- .../executable/release_static_mt.template | 190 +- .../vs90/WinCE/library/debug_shared.template | 192 +- .../WinCE/library/debug_static_md.template | 166 +- .../WinCE/library/debug_static_mt.template | 166 +- .../vs90/WinCE/library/project.properties | 8 +- .../vs90/WinCE/library/project.template | 52 +- .../WinCE/library/release_shared.template | 194 +- .../WinCE/library/release_static_md.template | 168 +- .../WinCE/library/release_static_mt.template | 168 +- .../vs90/WinCE/plugin/debug_shared.template | 188 +- .../vs90/WinCE/plugin/project.properties | 8 +- .../vs90/WinCE/plugin/project.template | 52 +- .../vs90/WinCE/plugin/release_shared.template | 190 +- .../WinCE/testsuite/debug_shared.template | 182 +- .../WinCE/testsuite/debug_static_md.template | 182 +- .../WinCE/testsuite/debug_static_mt.template | 182 +- .../vs90/WinCE/testsuite/project.properties | 10 +- .../vs90/WinCE/testsuite/project.template | 52 +- .../WinCE/testsuite/release_shared.template | 184 +- .../testsuite/release_static_md.template | 190 +- .../testsuite/release_static_mt.template | 190 +- .../vs90/x64/executable/debug_shared.template | 170 +- .../x64/executable/debug_static_md.template | 170 +- .../x64/executable/debug_static_mt.template | 170 +- .../vs90/x64/executable/project.properties | 4 +- .../vs90/x64/executable/project.template | 52 +- .../x64/executable/release_shared.template | 174 +- .../x64/executable/release_static_md.template | 174 +- .../x64/executable/release_static_mt.template | 174 +- .../vs90/x64/library/debug_shared.template | 172 +- .../vs90/x64/library/debug_static_md.template | 146 +- .../vs90/x64/library/debug_static_mt.template | 146 +- .../vs90/x64/library/project.properties | 4 +- .../vs90/x64/library/project.template | 52 +- .../vs90/x64/library/release_shared.template | 180 +- .../x64/library/release_static_md.template | 148 +- .../x64/library/release_static_mt.template | 148 +- .../vs90/x64/plugin/debug_shared.template | 170 +- .../vs90/x64/plugin/project.properties | 4 +- .../vs90/x64/plugin/project.template | 52 +- .../vs90/x64/plugin/release_shared.template | 178 +- .../vs90/x64/testsuite/debug_shared.template | 172 +- .../x64/testsuite/debug_static_md.template | 172 +- .../x64/testsuite/debug_static_mt.template | 174 +- .../vs90/x64/testsuite/project.properties | 4 +- .../vs90/x64/testsuite/project.template | 52 +- .../x64/testsuite/release_shared.template | 176 +- .../x64/testsuite/release_static_md.template | 176 +- .../x64/testsuite/release_static_mt.template | 178 +- README | 588 +- Util/Makefile | 56 +- Util/Util_vs71.sln | 100 +- Util/Util_vs71.vcproj | 1150 +- Util/Util_vs80.sln | 120 +- Util/Util_vs80.vcproj | 1192 +- Util/Util_vs90.sln | 120 +- Util/Util_vs90.vcproj | 1190 +- .../include/Poco/Util/AbstractConfiguration.h | 640 +- Util/include/Poco/Util/Application.h | 1068 +- Util/include/Poco/Util/ConfigurationMapper.h | 232 +- Util/include/Poco/Util/ConfigurationView.h | 208 +- .../Poco/Util/FilesystemConfiguration.h | 230 +- Util/include/Poco/Util/HelpFormatter.h | 448 +- Util/include/Poco/Util/IniFileConfiguration.h | 226 +- Util/include/Poco/Util/IntValidator.h | 156 +- Util/include/Poco/Util/LayeredConfiguration.h | 340 +- Util/include/Poco/Util/LoggingConfigurator.h | 322 +- Util/include/Poco/Util/LoggingSubsystem.h | 148 +- Util/include/Poco/Util/MapConfiguration.h | 166 +- Util/include/Poco/Util/Option.h | 708 +- Util/include/Poco/Util/OptionCallback.h | 262 +- Util/include/Poco/Util/OptionException.h | 132 +- Util/include/Poco/Util/OptionProcessor.h | 318 +- Util/include/Poco/Util/OptionSet.h | 220 +- .../Poco/Util/PropertyFileConfiguration.h | 242 +- Util/include/Poco/Util/RegExpValidator.h | 152 +- Util/include/Poco/Util/ServerApplication.h | 562 +- Util/include/Poco/Util/Subsystem.h | 240 +- Util/include/Poco/Util/SystemConfiguration.h | 222 +- Util/include/Poco/Util/Util.h | 160 +- Util/include/Poco/Util/Validator.h | 158 +- .../Poco/Util/WinRegistryConfiguration.h | 184 +- Util/include/Poco/Util/WinRegistryKey.h | 374 +- Util/include/Poco/Util/WinService.h | 326 +- Util/include/Poco/Util/XMLConfiguration.h | 434 +- Util/samples/Makefile | 28 +- Util/samples/SampleApp/Makefile | 34 +- Util/samples/SampleApp/SampleApp_vs71.vcproj | 796 +- Util/samples/SampleApp/SampleApp_vs80.vcproj | 876 +- Util/samples/SampleApp/SampleApp_vs90.vcproj | 876 +- Util/samples/SampleApp/src/SampleApp.cpp | 408 +- Util/samples/SampleServer/Makefile | 34 +- .../SampleServer/SampleServer_vs71.vcproj | 790 +- .../SampleServer/SampleServer_vs80.vcproj | 870 +- .../SampleServer/SampleServer_vs90.vcproj | 870 +- .../samples/SampleServer/src/SampleServer.cpp | 288 +- Util/samples/samples_vs71.sln | 130 +- Util/samples/samples_vs80.sln | 154 +- Util/samples/samples_vs90.sln | 154 +- Util/src/AbstractConfiguration.cpp | 850 +- Util/src/Application.cpp | 1032 +- Util/src/ConfigurationMapper.cpp | 246 +- Util/src/ConfigurationView.cpp | 194 +- Util/src/FilesystemConfiguration.cpp | 298 +- Util/src/HelpFormatter.cpp | 636 +- Util/src/IniFileConfiguration.cpp | 408 +- Util/src/IntValidator.cpp | 152 +- Util/src/LayeredConfiguration.cpp | 422 +- Util/src/LoggingConfigurator.cpp | 450 +- Util/src/LoggingSubsystem.cpp | 160 +- Util/src/MapConfiguration.cpp | 270 +- Util/src/Option.cpp | 628 +- Util/src/OptionCallback.cpp | 118 +- Util/src/OptionException.cpp | 114 +- Util/src/OptionProcessor.cpp | 362 +- Util/src/OptionSet.cpp | 288 +- Util/src/PropertyFileConfiguration.cpp | 374 +- Util/src/RegExpValidator.cpp | 138 +- Util/src/ServerApplication.cpp | 1650 +- Util/src/Subsystem.cpp | 132 +- Util/src/SystemConfiguration.cpp | 406 +- Util/src/Validator.cpp | 108 +- Util/src/WinRegistryConfiguration.cpp | 300 +- Util/src/WinRegistryKey.cpp | 1202 +- Util/src/WinService.cpp | 704 +- Util/src/XMLConfiguration.cpp | 972 +- Util/testsuite/Makefile | 50 +- Util/testsuite/TestSuite_vs71.vcproj | 1104 +- Util/testsuite/TestSuite_vs80.vcproj | 1184 +- Util/testsuite/TestSuite_vs90.vcproj | 1184 +- .../src/AbstractConfigurationTest.cpp | 888 +- .../testsuite/src/AbstractConfigurationTest.h | 212 +- .../testsuite/src/ConfigurationMapperTest.cpp | 442 +- Util/testsuite/src/ConfigurationMapperTest.h | 128 +- Util/testsuite/src/ConfigurationTestSuite.cpp | 126 +- Util/testsuite/src/ConfigurationTestSuite.h | 98 +- Util/testsuite/src/ConfigurationViewTest.cpp | 300 +- Util/testsuite/src/ConfigurationViewTest.h | 122 +- Util/testsuite/src/Driver.cpp | 78 +- .../src/FilesystemConfigurationTest.cpp | 272 +- .../src/FilesystemConfigurationTest.h | 128 +- Util/testsuite/src/HelpFormatterTest.cpp | 262 +- Util/testsuite/src/HelpFormatterTest.h | 120 +- .../src/IniFileConfigurationTest.cpp | 352 +- Util/testsuite/src/IniFileConfigurationTest.h | 124 +- .../src/LayeredConfigurationTest.cpp | 510 +- Util/testsuite/src/LayeredConfigurationTest.h | 130 +- .../testsuite/src/LoggingConfiguratorTest.cpp | 662 +- Util/testsuite/src/LoggingConfiguratorTest.h | 128 +- Util/testsuite/src/MapConfigurationTest.cpp | 182 +- Util/testsuite/src/MapConfigurationTest.h | 122 +- Util/testsuite/src/OptionProcessorTest.cpp | 798 +- Util/testsuite/src/OptionProcessorTest.h | 126 +- Util/testsuite/src/OptionSetTest.cpp | 342 +- Util/testsuite/src/OptionSetTest.h | 120 +- Util/testsuite/src/OptionTest.cpp | 742 +- Util/testsuite/src/OptionTest.h | 128 +- Util/testsuite/src/OptionsTestSuite.cpp | 104 +- Util/testsuite/src/OptionsTestSuite.h | 98 +- .../src/PropertyFileConfigurationTest.cpp | 306 +- .../src/PropertyFileConfigurationTest.h | 124 +- .../testsuite/src/SystemConfigurationTest.cpp | 290 +- Util/testsuite/src/SystemConfigurationTest.h | 122 +- Util/testsuite/src/UtilTestSuite.cpp | 108 +- Util/testsuite/src/UtilTestSuite.h | 98 +- Util/testsuite/src/ValidatorTest.cpp | 354 +- Util/testsuite/src/ValidatorTest.h | 122 +- Util/testsuite/src/WinConfigurationTest.cpp | 194 +- Util/testsuite/src/WinConfigurationTest.h | 120 +- Util/testsuite/src/WinDriver.cpp | 100 +- Util/testsuite/src/WinRegistryTest.cpp | 250 +- Util/testsuite/src/WinRegistryTest.h | 120 +- Util/testsuite/src/WindowsTestSuite.cpp | 92 +- Util/testsuite/src/WindowsTestSuite.h | 98 +- Util/testsuite/src/XMLConfigurationTest.cpp | 632 +- Util/testsuite/src/XMLConfigurationTest.h | 128 +- VERSION | 2 +- XML/Makefile | 78 +- XML/XML_vs71.sln | 100 +- XML/XML_vs71.vcproj | 1644 +- XML/XML_vs80.sln | 120 +- XML/XML_vs80.vcproj | 1686 +- XML/XML_vs90.sln | 120 +- XML/XML_vs90.vcproj | 1684 +- XML/include/Poco/DOM/AbstractContainerNode.h | 196 +- XML/include/Poco/DOM/AbstractNode.h | 294 +- XML/include/Poco/DOM/Attr.h | 404 +- XML/include/Poco/DOM/AttrMap.h | 174 +- XML/include/Poco/DOM/AutoPtr.h | 114 +- XML/include/Poco/DOM/CDATASection.h | 212 +- XML/include/Poco/DOM/CharacterData.h | 290 +- XML/include/Poco/DOM/ChildNodesList.h | 154 +- XML/include/Poco/DOM/Comment.h | 160 +- XML/include/Poco/DOM/DOMBuilder.h | 268 +- XML/include/Poco/DOM/DOMException.h | 268 +- XML/include/Poco/DOM/DOMImplementation.h | 208 +- XML/include/Poco/DOM/DOMObject.h | 250 +- XML/include/Poco/DOM/DOMParser.h | 258 +- XML/include/Poco/DOM/DOMSerializer.h | 288 +- XML/include/Poco/DOM/DOMWriter.h | 298 +- XML/include/Poco/DOM/DTDMap.h | 178 +- XML/include/Poco/DOM/Document.h | 598 +- XML/include/Poco/DOM/DocumentEvent.h | 174 +- XML/include/Poco/DOM/DocumentFragment.h | 212 +- XML/include/Poco/DOM/DocumentType.h | 294 +- XML/include/Poco/DOM/Element.h | 482 +- XML/include/Poco/DOM/ElementsByTagNameList.h | 216 +- XML/include/Poco/DOM/Entity.h | 296 +- XML/include/Poco/DOM/EntityReference.h | 190 +- XML/include/Poco/DOM/Event.h | 462 +- XML/include/Poco/DOM/EventDispatcher.h | 238 +- XML/include/Poco/DOM/EventException.h | 206 +- XML/include/Poco/DOM/EventListener.h | 158 +- XML/include/Poco/DOM/EventTarget.h | 196 +- XML/include/Poco/DOM/MutationEvent.h | 330 +- XML/include/Poco/DOM/NamedNodeMap.h | 230 +- XML/include/Poco/DOM/Node.h | 614 +- XML/include/Poco/DOM/NodeAppender.h | 206 +- XML/include/Poco/DOM/NodeFilter.h | 336 +- XML/include/Poco/DOM/NodeIterator.h | 378 +- XML/include/Poco/DOM/NodeList.h | 166 +- XML/include/Poco/DOM/Notation.h | 230 +- XML/include/Poco/DOM/ProcessingInstruction.h | 242 +- XML/include/Poco/DOM/Text.h | 202 +- XML/include/Poco/DOM/TreeWalker.h | 466 +- XML/include/Poco/SAX/Attributes.h | 284 +- XML/include/Poco/SAX/AttributesImpl.h | 636 +- XML/include/Poco/SAX/ContentHandler.h | 524 +- XML/include/Poco/SAX/DTDHandler.h | 216 +- XML/include/Poco/SAX/DeclHandler.h | 226 +- XML/include/Poco/SAX/DefaultHandler.h | 210 +- XML/include/Poco/SAX/EntityResolver.h | 216 +- XML/include/Poco/SAX/EntityResolverImpl.h | 200 +- XML/include/Poco/SAX/ErrorHandler.h | 228 +- XML/include/Poco/SAX/InputSource.h | 382 +- XML/include/Poco/SAX/LexicalHandler.h | 294 +- XML/include/Poco/SAX/Locator.h | 250 +- XML/include/Poco/SAX/LocatorImpl.h | 220 +- XML/include/Poco/SAX/NamespaceSupport.h | 434 +- XML/include/Poco/SAX/SAXException.h | 396 +- XML/include/Poco/SAX/SAXParser.h | 250 +- XML/include/Poco/SAX/WhitespaceFilter.h | 206 +- XML/include/Poco/SAX/XMLFilter.h | 166 +- XML/include/Poco/SAX/XMLFilterImpl.h | 308 +- XML/include/Poco/SAX/XMLReader.h | 454 +- XML/include/Poco/XML/Name.h | 320 +- XML/include/Poco/XML/NamePool.h | 192 +- XML/include/Poco/XML/NamespaceStrategy.h | 274 +- XML/include/Poco/XML/ParserEngine.h | 760 +- XML/include/Poco/XML/XML.h | 160 +- XML/include/Poco/XML/XMLException.h | 118 +- XML/include/Poco/XML/XMLStream.h | 186 +- XML/include/Poco/XML/XMLString.h | 218 +- XML/include/Poco/XML/XMLWriter.h | 726 +- XML/include/Poco/XML/expat.h | 2028 +-- XML/include/Poco/XML/expat_external.h | 230 +- XML/samples/DOMParser/DOMParser_vs71.vcproj | 790 +- XML/samples/DOMParser/DOMParser_vs80.vcproj | 870 +- XML/samples/DOMParser/DOMParser_vs90.vcproj | 870 +- XML/samples/DOMParser/Makefile | 34 +- XML/samples/DOMParser/src/DOMParser.cpp | 162 +- XML/samples/DOMWriter/DOMWriter_vs71.vcproj | 790 +- XML/samples/DOMWriter/DOMWriter_vs80.vcproj | 870 +- XML/samples/DOMWriter/DOMWriter_vs90.vcproj | 870 +- XML/samples/DOMWriter/Makefile | 34 +- XML/samples/DOMWriter/src/DOMWriter.cpp | 156 +- XML/samples/Makefile | 30 +- XML/samples/PrettyPrint/Makefile | 34 +- .../PrettyPrint/PrettyPrint_vs71.vcproj | 790 +- .../PrettyPrint/PrettyPrint_vs80.vcproj | 870 +- .../PrettyPrint/PrettyPrint_vs90.vcproj | 870 +- XML/samples/PrettyPrint/src/PrettyPrint.cpp | 156 +- XML/samples/SAXParser/Makefile | 34 +- XML/samples/SAXParser/SAXParser_vs71.vcproj | 790 +- XML/samples/SAXParser/SAXParser_vs80.vcproj | 870 +- XML/samples/SAXParser/SAXParser_vs90.vcproj | 870 +- XML/samples/SAXParser/src/SAXParser.cpp | 430 +- XML/samples/samples_vs71.sln | 162 +- XML/samples/samples_vs80.sln | 194 +- XML/samples/samples_vs90.sln | 194 +- XML/src/AbstractContainerNode.cpp | 1142 +- XML/src/AbstractNode.cpp | 778 +- XML/src/Attr.cpp | 310 +- XML/src/AttrMap.cpp | 290 +- XML/src/Attributes.cpp | 98 +- XML/src/AttributesImpl.cpp | 604 +- XML/src/CDATASection.cpp | 192 +- XML/src/CharacterData.cpp | 282 +- XML/src/ChildNodesList.cpp | 184 +- XML/src/Comment.cpp | 164 +- XML/src/ContentHandler.cpp | 98 +- XML/src/DOMBuilder.cpp | 668 +- XML/src/DOMException.cpp | 258 +- XML/src/DOMImplementation.cpp | 216 +- XML/src/DOMObject.cpp | 108 +- XML/src/DOMParser.cpp | 340 +- XML/src/DOMSerializer.cpp | 690 +- XML/src/DOMWriter.cpp | 248 +- XML/src/DTDHandler.cpp | 98 +- XML/src/DTDMap.cpp | 278 +- XML/src/DeclHandler.cpp | 98 +- XML/src/DefaultHandler.cpp | 290 +- XML/src/Document.cpp | 650 +- XML/src/DocumentEvent.cpp | 98 +- XML/src/DocumentFragment.cpp | 184 +- XML/src/DocumentType.cpp | 212 +- XML/src/Element.cpp | 932 +- XML/src/ElementsByTagNameList.cpp | 346 +- XML/src/Entity.cpp | 180 +- XML/src/EntityReference.cpp | 162 +- XML/src/EntityResolver.cpp | 98 +- XML/src/EntityResolverImpl.cpp | 200 +- XML/src/ErrorHandler.cpp | 98 +- XML/src/Event.cpp | 248 +- XML/src/EventDispatcher.cpp | 336 +- XML/src/EventException.cpp | 174 +- XML/src/EventListener.cpp | 98 +- XML/src/EventTarget.cpp | 98 +- XML/src/InputSource.cpp | 204 +- XML/src/LexicalHandler.cpp | 98 +- XML/src/Locator.cpp | 98 +- XML/src/LocatorImpl.cpp | 252 +- XML/src/MutationEvent.cpp | 196 +- XML/src/Name.cpp | 384 +- XML/src/NamePool.cpp | 296 +- XML/src/NamedNodeMap.cpp | 98 +- XML/src/NamespaceStrategy.cpp | 434 +- XML/src/NamespaceSupport.cpp | 418 +- XML/src/Node.cpp | 98 +- XML/src/NodeAppender.cpp | 208 +- XML/src/NodeFilter.cpp | 98 +- XML/src/NodeIterator.cpp | 396 +- XML/src/NodeList.cpp | 98 +- XML/src/Notation.cpp | 170 +- XML/src/ParserEngine.cpp | 1800 +-- XML/src/ProcessingInstruction.cpp | 202 +- XML/src/SAXException.cpp | 320 +- XML/src/SAXParser.cpp | 520 +- XML/src/Text.cpp | 204 +- XML/src/TreeWalker.cpp | 498 +- XML/src/WhitespaceFilter.cpp | 468 +- XML/src/XMLException.cpp | 102 +- XML/src/XMLFilter.cpp | 98 +- XML/src/XMLFilterImpl.cpp | 670 +- XML/src/XMLReader.cpp | 118 +- XML/src/XMLString.cpp | 172 +- XML/src/XMLWriter.cpp | 1786 +- XML/src/ascii.h | 184 +- XML/src/asciitab.h | 72 +- XML/src/expat_config.h | 122 +- XML/src/iasciitab.h | 74 +- XML/src/internal.h | 146 +- XML/src/latin1tab.h | 72 +- XML/src/nametab.h | 300 +- XML/src/utf8tab.h | 74 +- XML/src/xmlparse.cpp | 12582 +++++++-------- XML/src/xmlrole.c | 2672 +-- XML/src/xmlrole.h | 228 +- XML/src/xmltok.c | 3302 ++-- XML/src/xmltok.h | 632 +- XML/src/xmltok_impl.c | 3566 ++-- XML/src/xmltok_impl.h | 92 +- XML/src/xmltok_ns.c | 230 +- XML/testsuite/Makefile | 42 +- XML/testsuite/TestSuite_vs71.vcproj | 1040 +- XML/testsuite/TestSuite_vs80.vcproj | 1120 +- XML/testsuite/TestSuite_vs90.vcproj | 1120 +- XML/testsuite/src/AttributesImplTest.cpp | 532 +- XML/testsuite/src/AttributesImplTest.h | 126 +- XML/testsuite/src/ChildNodesTest.cpp | 248 +- XML/testsuite/src/ChildNodesTest.h | 120 +- XML/testsuite/src/DOMTestSuite.cpp | 128 +- XML/testsuite/src/DOMTestSuite.h | 98 +- XML/testsuite/src/DocumentTest.cpp | 620 +- XML/testsuite/src/DocumentTest.h | 132 +- XML/testsuite/src/DocumentTypeTest.cpp | 260 +- XML/testsuite/src/DocumentTypeTest.h | 120 +- XML/testsuite/src/Driver.cpp | 78 +- XML/testsuite/src/ElementTest.cpp | 1868 +-- XML/testsuite/src/ElementTest.h | 140 +- XML/testsuite/src/EventTest.cpp | 1186 +- XML/testsuite/src/EventTest.h | 136 +- XML/testsuite/src/NamePoolTest.cpp | 188 +- XML/testsuite/src/NamePoolTest.h | 120 +- XML/testsuite/src/NameTest.cpp | 386 +- XML/testsuite/src/NameTest.h | 130 +- XML/testsuite/src/NamespaceSupportTest.cpp | 424 +- XML/testsuite/src/NamespaceSupportTest.h | 120 +- XML/testsuite/src/NodeAppenderTest.cpp | 324 +- XML/testsuite/src/NodeAppenderTest.h | 122 +- XML/testsuite/src/NodeIteratorTest.cpp | 420 +- XML/testsuite/src/NodeIteratorTest.h | 126 +- XML/testsuite/src/NodeTest.cpp | 2252 +-- XML/testsuite/src/NodeTest.h | 144 +- XML/testsuite/src/ParserWriterTest.cpp | 382 +- XML/testsuite/src/ParserWriterTest.h | 130 +- XML/testsuite/src/SAXParserTest.cpp | 2386 +-- XML/testsuite/src/SAXParserTest.h | 208 +- XML/testsuite/src/SAXTestSuite.cpp | 96 +- XML/testsuite/src/SAXTestSuite.h | 98 +- XML/testsuite/src/TextTest.cpp | 378 +- XML/testsuite/src/TextTest.h | 134 +- XML/testsuite/src/TreeWalkerTest.cpp | 658 +- XML/testsuite/src/TreeWalkerTest.h | 126 +- XML/testsuite/src/WinDriver.cpp | 100 +- XML/testsuite/src/XMLTestSuite.cpp | 104 +- XML/testsuite/src/XMLTestSuite.h | 98 +- XML/testsuite/src/XMLWriterTest.cpp | 1304 +- XML/testsuite/src/XMLWriterTest.h | 186 +- Zip/testsuite/testdir/testdir2/testfile3.txt | 98 +- Zip/testsuite/testdir/testfile.txt | 98 +- Zip/testsuite/testdir/testfile2.txt | 98 +- Zip/testsuite/testfile.txt | 98 +- Zip/testsuite/testfile2.txt | 98 +- Zip/testsuite/testfile3.txt | 98 +- build/vms/build.com | 336 +- build/vms/pococc.com | 80 +- build/vms/pococxx.com | 84 +- build/vms/pocolib.com | 74 +- build/vms/pocolnk.com | 174 +- build_vs71.cmd | 4 +- build_vs80.cmd | 4 +- build_vs90.cmd | 4 +- buildwin.cmd | 640 +- components | 40 +- contrib/cmake/CMakeLists.txt | 242 +- contrib/cmake/PocoConfig.cmake | 286 +- libversion | 2 +- 2420 files changed, 544743 insertions(+), 544298 deletions(-) diff --git a/ApacheConnector/ApacheConnector.progen b/ApacheConnector/ApacheConnector.progen index 2105ee912..add4e62ad 100644 --- a/ApacheConnector/ApacheConnector.progen +++ b/ApacheConnector/ApacheConnector.progen @@ -1,17 +1,17 @@ -vc.project.guid = 9866EE28-0612-4746-BD35-3B15B0AF7267 -vc.project.name = ApacheConnector -vc.project.target = mod_poco -vc.project.type = library -vc.project.pocobase = .. -vc.project.outdir = ${vc.project.pocobase} -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared -vc.project.prototype = ApacheConnector_vs90.vcproj -vc.project.compiler.include = ..\\Foundation\\include;..\\Net\\include;..\\Util\\include -vc.project.compiler.defines = -vc.project.compiler.defines.shared = ApacheHandlers_EXPORTS -vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} -vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} -vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib -vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib -vc.solution.create = true +vc.project.guid = 9866EE28-0612-4746-BD35-3B15B0AF7267 +vc.project.name = ApacheConnector +vc.project.target = mod_poco +vc.project.type = library +vc.project.pocobase = .. +vc.project.outdir = ${vc.project.pocobase} +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared +vc.project.prototype = ApacheConnector_vs90.vcproj +vc.project.compiler.include = ..\\Foundation\\include;..\\Net\\include;..\\Util\\include +vc.project.compiler.defines = +vc.project.compiler.defines.shared = ApacheHandlers_EXPORTS +vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} +vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} +vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.solution.create = true diff --git a/ApacheConnector/ApacheConnector_VS71.sln b/ApacheConnector/ApacheConnector_VS71.sln index 37d88f2ad..2a88c6adc 100644 --- a/ApacheConnector/ApacheConnector_VS71.sln +++ b/ApacheConnector/ApacheConnector_VS71.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs71.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - release_shared = release_shared - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.ActiveCfg = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.Build.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.ActiveCfg = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.Build.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs71.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + release_shared = release_shared + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.ActiveCfg = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.Build.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.ActiveCfg = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.Build.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_VS71.vcproj b/ApacheConnector/ApacheConnector_VS71.vcproj index 9ea2b9085..6cda42192 100644 --- a/ApacheConnector/ApacheConnector_VS71.vcproj +++ b/ApacheConnector/ApacheConnector_VS71.vcproj @@ -1,181 +1,181 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/ApacheConnector_VS80.sln b/ApacheConnector/ApacheConnector_VS80.sln index 2113a4f7b..6ad95c652 100644 --- a/ApacheConnector/ApacheConnector_VS80.sln +++ b/ApacheConnector/ApacheConnector_VS80.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs80.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs80.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_VS80.vcproj b/ApacheConnector/ApacheConnector_VS80.vcproj index 0462480f5..4ae8135a6 100644 --- a/ApacheConnector/ApacheConnector_VS80.vcproj +++ b/ApacheConnector/ApacheConnector_VS80.vcproj @@ -1,194 +1,194 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/ApacheConnector_vs100.sln b/ApacheConnector/ApacheConnector_vs100.sln index c34927b6b..b049514bf 100644 --- a/ApacheConnector/ApacheConnector_vs100.sln +++ b/ApacheConnector/ApacheConnector_vs100.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_vs100.vcxproj b/ApacheConnector/ApacheConnector_vs100.vcxproj index 2900de385..509c1737c 100644 --- a/ApacheConnector/ApacheConnector_vs100.vcxproj +++ b/ApacheConnector/ApacheConnector_vs100.vcxproj @@ -1,133 +1,133 @@ - - - - - debug_shared - Win32 - - - release_shared - Win32 - - - - ApacheConnector - {9866EE28-0612-4746-BD35-3B15B0AF7267} - ApacheConnector - Win32Proj - - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - ..\bin\ - obj\$(Configuration)\ - true - ..\bin\ - obj\$(Configuration)\ - false - mod_pocod - mod_poco - - - - Disabled - .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - ..\bin\mod_pocod.dll - true - true - ..\bin\mod_pocod.pdb - ..\lib;%(AdditionalLibraryDirectories) - Console - ..\lib\mod_pocod.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - ..\bin\mod_poco.dll - true - false - ..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib\mod_poco.lib - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + release_shared + Win32 + + + + ApacheConnector + {9866EE28-0612-4746-BD35-3B15B0AF7267} + ApacheConnector + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + ..\bin\ + obj\$(Configuration)\ + true + ..\bin\ + obj\$(Configuration)\ + false + mod_pocod + mod_poco + + + + Disabled + .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + ..\bin\mod_pocod.dll + true + true + ..\bin\mod_pocod.pdb + ..\lib;%(AdditionalLibraryDirectories) + Console + ..\lib\mod_pocod.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + ..\bin\mod_poco.dll + true + false + ..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib\mod_poco.lib + MachineX86 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/ApacheConnector_vs100.vcxproj.filters b/ApacheConnector/ApacheConnector_vs100.vcxproj.filters index 0301c105e..a0651b74b 100644 --- a/ApacheConnector/ApacheConnector_vs100.vcxproj.filters +++ b/ApacheConnector/ApacheConnector_vs100.vcxproj.filters @@ -1,57 +1,57 @@ - - - - - {1b41dc76-2d5c-4abc-9fcf-40bf92616da2} - - - {f4221366-b450-4113-b43d-1303b840e629} - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + + + + + {1b41dc76-2d5c-4abc-9fcf-40bf92616da2} + + + {f4221366-b450-4113-b43d-1303b840e629} + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/ApacheConnector_vs90.sln b/ApacheConnector/ApacheConnector_vs90.sln index 10d8df6a0..08ea43d67 100644 --- a/ApacheConnector/ApacheConnector_vs90.sln +++ b/ApacheConnector/ApacheConnector_vs90.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_vs90.vcproj b/ApacheConnector/ApacheConnector_vs90.vcproj index 034044736..ab2f014f9 100644 --- a/ApacheConnector/ApacheConnector_vs90.vcproj +++ b/ApacheConnector/ApacheConnector_vs90.vcproj @@ -1,193 +1,193 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/ApacheConnector_x64_vs100.sln b/ApacheConnector/ApacheConnector_x64_vs100.sln index 1c1949c34..af1777b62 100644 --- a/ApacheConnector/ApacheConnector_x64_vs100.sln +++ b/ApacheConnector/ApacheConnector_x64_vs100.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_x64_vs100.vcxproj b/ApacheConnector/ApacheConnector_x64_vs100.vcxproj index b6a277775..1fcb7634f 100644 --- a/ApacheConnector/ApacheConnector_x64_vs100.vcxproj +++ b/ApacheConnector/ApacheConnector_x64_vs100.vcxproj @@ -1,133 +1,133 @@ - - - - - debug_shared - x64 - - - release_shared - x64 - - - - ApacheConnector - {9866EE28-0612-4746-BD35-3B15B0AF7267} - ApacheConnector - Win32Proj - - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - ..\bin64\ - obj64\$(Configuration)\ - true - ..\bin64\ - obj64\$(Configuration)\ - false - mod_poco64d - mod_poco64 - - - - Disabled - .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - ..\bin64\mod_poco64d.dll - true - true - ..\bin64\mod_poco64d.pdb - ..\lib64;%(AdditionalLibraryDirectories) - Console - ..\lib64\mod_pocod.lib - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - ..\bin64\mod_poco64.dll - true - false - ..\lib64;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib64\mod_poco.lib - MachineX64 - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + x64 + + + release_shared + x64 + + + + ApacheConnector + {9866EE28-0612-4746-BD35-3B15B0AF7267} + ApacheConnector + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + ..\bin64\ + obj64\$(Configuration)\ + true + ..\bin64\ + obj64\$(Configuration)\ + false + mod_poco64d + mod_poco64 + + + + Disabled + .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + ..\bin64\mod_poco64d.dll + true + true + ..\bin64\mod_poco64d.pdb + ..\lib64;%(AdditionalLibraryDirectories) + Console + ..\lib64\mod_pocod.lib + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + ..\bin64\mod_poco64.dll + true + false + ..\lib64;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib64\mod_poco.lib + MachineX64 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/ApacheConnector_x64_vs100.vcxproj.filters b/ApacheConnector/ApacheConnector_x64_vs100.vcxproj.filters index be7507947..a391401a2 100644 --- a/ApacheConnector/ApacheConnector_x64_vs100.vcxproj.filters +++ b/ApacheConnector/ApacheConnector_x64_vs100.vcxproj.filters @@ -1,57 +1,57 @@ - - - - - {8ea424b5-ec7e-439b-a7be-1597c51e51ed} - - - {bcfc1d48-58d4-4a01-9e80-15f35f162748} - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + + + + + {8ea424b5-ec7e-439b-a7be-1597c51e51ed} + + + {bcfc1d48-58d4-4a01-9e80-15f35f162748} + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/ApacheConnector_x64_vs90.sln b/ApacheConnector/ApacheConnector_x64_vs90.sln index 57e107e02..3e9000c48 100644 --- a/ApacheConnector/ApacheConnector_x64_vs90.sln +++ b/ApacheConnector/ApacheConnector_x64_vs90.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64 - {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64 + {9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/ApacheConnector_x64_vs90.vcproj b/ApacheConnector/ApacheConnector_x64_vs90.vcproj index f0f9ebc54..b8858747c 100644 --- a/ApacheConnector/ApacheConnector_x64_vs90.vcproj +++ b/ApacheConnector/ApacheConnector_x64_vs90.vcproj @@ -1,194 +1,194 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer.progen b/ApacheConnector/samples/FormServer/FormServer.progen index 649dcc751..bc5e99d5f 100644 --- a/ApacheConnector/samples/FormServer/FormServer.progen +++ b/ApacheConnector/samples/FormServer/FormServer.progen @@ -1,11 +1,11 @@ -vc.project.guid = ${vc.project.guidFromName} -vc.project.name = ${vc.project.baseName} -vc.project.target = ${vc.project.name} -vc.project.type = executable -vc.project.pocobase = ..\\..\\.. -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared -vc.project.prototype = ${vc.project.name}_vs90.vcproj -vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include -vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib -vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.project.guid = ${vc.project.guidFromName} +vc.project.name = ${vc.project.baseName} +vc.project.target = ${vc.project.name} +vc.project.type = executable +vc.project.pocobase = ..\\..\\.. +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include +vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib diff --git a/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj b/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj index 92327b2de..f9e23751e 100644 --- a/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj +++ b/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj @@ -1,115 +1,115 @@ - - - - - debug_shared - Win32 - - - release_shared - Win32 - - - - FormServer - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106} - FormServer - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin\ - obj\$(Configuration)\ - true - bin\ - obj\$(Configuration)\ - false - FormServerd - FormServer - - - - Disabled - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin\FormServerd.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\FormServerd.pdb - Console - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin\FormServer.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Console - true - true - MachineX86 - - - - - - - - + + + + + debug_shared + Win32 + + + release_shared + Win32 + + + + FormServer + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106} + FormServer + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin\ + obj\$(Configuration)\ + true + bin\ + obj\$(Configuration)\ + false + FormServerd + FormServer + + + + Disabled + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin\FormServerd.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\FormServerd.pdb + Console + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin\FormServer.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineX86 + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj.filters b/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj.filters index 4e8f111ab..5743ec362 100644 --- a/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj.filters +++ b/ApacheConnector/samples/FormServer/FormServer_vs100.vcxproj.filters @@ -1,17 +1,17 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {f15b6455-ee37-47e9-adb8-a9f91180df9b} - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {f15b6455-ee37-47e9-adb8-a9f91180df9b} + + + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/samples/FormServer/FormServer_vs71.vcproj b/ApacheConnector/samples/FormServer/FormServer_vs71.vcproj index 216483663..835056013 100644 --- a/ApacheConnector/samples/FormServer/FormServer_vs71.vcproj +++ b/ApacheConnector/samples/FormServer/FormServer_vs71.vcproj @@ -1,151 +1,151 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer_vs80.vcproj b/ApacheConnector/samples/FormServer/FormServer_vs80.vcproj index 41b35fcfc..97bfdd795 100644 --- a/ApacheConnector/samples/FormServer/FormServer_vs80.vcproj +++ b/ApacheConnector/samples/FormServer/FormServer_vs80.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer_vs90.vcproj b/ApacheConnector/samples/FormServer/FormServer_vs90.vcproj index 291895c16..44874576d 100644 --- a/ApacheConnector/samples/FormServer/FormServer_vs90.vcproj +++ b/ApacheConnector/samples/FormServer/FormServer_vs90.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj b/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj index 9c81fb0f2..8d32c35fe 100644 --- a/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj +++ b/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj @@ -1,115 +1,115 @@ - - - - - debug_shared - x64 - - - release_shared - x64 - - - - FormServer - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106} - FormServer - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin64\ - obj64\$(Configuration)\ - true - bin64\ - obj64\$(Configuration)\ - false - FormServerd - FormServer - - - - Disabled - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin64\FormServerd.exe - ..\..\..\lib64;%(AdditionalLibraryDirectories) - true - true - bin64\FormServerd.pdb - Console - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin64\FormServer.exe - ..\..\..\lib64;%(AdditionalLibraryDirectories) - false - Console - true - true - MachineX64 - - - - - - - - + + + + + debug_shared + x64 + + + release_shared + x64 + + + + FormServer + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106} + FormServer + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin64\ + obj64\$(Configuration)\ + true + bin64\ + obj64\$(Configuration)\ + false + FormServerd + FormServer + + + + Disabled + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin64\FormServerd.exe + ..\..\..\lib64;%(AdditionalLibraryDirectories) + true + true + bin64\FormServerd.pdb + Console + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin64\FormServer.exe + ..\..\..\lib64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineX64 + + + + + + + + diff --git a/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj.filters b/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj.filters index e7682b35c..980bfa4ca 100644 --- a/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj.filters +++ b/ApacheConnector/samples/FormServer/FormServer_x64_vs100.vcxproj.filters @@ -1,17 +1,17 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {274d01a8-2c80-4883-9261-c41efe4e0328} - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {274d01a8-2c80-4883-9261-c41efe4e0328} + + + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/samples/FormServer/FormServer_x64_vs90.vcproj b/ApacheConnector/samples/FormServer/FormServer_x64_vs90.vcproj index 9d5734caa..5ac59a93f 100644 --- a/ApacheConnector/samples/FormServer/FormServer_x64_vs90.vcproj +++ b/ApacheConnector/samples/FormServer/FormServer_x64_vs90.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer.progen b/ApacheConnector/samples/TimeServer/TimeServer.progen index 649dcc751..bc5e99d5f 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer.progen +++ b/ApacheConnector/samples/TimeServer/TimeServer.progen @@ -1,11 +1,11 @@ -vc.project.guid = ${vc.project.guidFromName} -vc.project.name = ${vc.project.baseName} -vc.project.target = ${vc.project.name} -vc.project.type = executable -vc.project.pocobase = ..\\..\\.. -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared -vc.project.prototype = ${vc.project.name}_vs90.vcproj -vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include -vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib -vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.project.guid = ${vc.project.guidFromName} +vc.project.name = ${vc.project.baseName} +vc.project.target = ${vc.project.name} +vc.project.type = executable +vc.project.pocobase = ..\\..\\.. +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include +vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib +vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib diff --git a/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj b/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj index cc3272fb4..6ac623cfd 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj @@ -1,115 +1,115 @@ - - - - - debug_shared - Win32 - - - release_shared - Win32 - - - - TimeServer - {59EDFD20-9968-30F7-9532-44C08DA58C6E} - TimeServer - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin\ - obj\$(Configuration)\ - true - bin\ - obj\$(Configuration)\ - false - TimeServerd - TimeServer - - - - Disabled - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin\TimeServerd.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\TimeServerd.pdb - Console - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin\TimeServer.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Console - true - true - MachineX86 - - - - - - - - + + + + + debug_shared + Win32 + + + release_shared + Win32 + + + + TimeServer + {59EDFD20-9968-30F7-9532-44C08DA58C6E} + TimeServer + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin\ + obj\$(Configuration)\ + true + bin\ + obj\$(Configuration)\ + false + TimeServerd + TimeServer + + + + Disabled + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin\TimeServerd.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\TimeServerd.pdb + Console + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin\TimeServer.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineX86 + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj.filters b/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj.filters index 2cc56c090..927adb421 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj.filters +++ b/ApacheConnector/samples/TimeServer/TimeServer_vs100.vcxproj.filters @@ -1,17 +1,17 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {29521eeb-44f6-411c-86be-29354be3718e} - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {29521eeb-44f6-411c-86be-29354be3718e} + + + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/samples/TimeServer/TimeServer_vs71.vcproj b/ApacheConnector/samples/TimeServer/TimeServer_vs71.vcproj index 33305e1f3..a6577c80b 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_vs71.vcproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_vs71.vcproj @@ -1,151 +1,151 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer_vs80.vcproj b/ApacheConnector/samples/TimeServer/TimeServer_vs80.vcproj index a7e1a5008..36c84ab5e 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_vs80.vcproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_vs80.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer_vs90.vcproj b/ApacheConnector/samples/TimeServer/TimeServer_vs90.vcproj index c70b1f230..64bbf53df 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_vs90.vcproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_vs90.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj index 0832c1ff9..3f29c7543 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj @@ -1,115 +1,115 @@ - - - - - debug_shared - x64 - - - release_shared - x64 - - - - TimeServer - {59EDFD20-9968-30F7-9532-44C08DA58C6E} - TimeServer - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin64\ - obj64\$(Configuration)\ - true - bin64\ - obj64\$(Configuration)\ - false - TimeServerd - TimeServer - - - - Disabled - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin64\TimeServerd.exe - ..\..\..\lib64;%(AdditionalLibraryDirectories) - true - true - bin64\TimeServerd.pdb - Console - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) - bin64\TimeServer.exe - ..\..\..\lib64;%(AdditionalLibraryDirectories) - false - Console - true - true - MachineX64 - - - - - - - - + + + + + debug_shared + x64 + + + release_shared + x64 + + + + TimeServer + {59EDFD20-9968-30F7-9532-44C08DA58C6E} + TimeServer + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin64\ + obj64\$(Configuration)\ + true + bin64\ + obj64\$(Configuration)\ + false + TimeServerd + TimeServer + + + + Disabled + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin64\TimeServerd.exe + ..\..\..\lib64;%(AdditionalLibraryDirectories) + true + true + bin64\TimeServerd.pdb + Console + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies) + bin64\TimeServer.exe + ..\..\..\lib64;%(AdditionalLibraryDirectories) + false + Console + true + true + MachineX64 + + + + + + + + diff --git a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj.filters b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj.filters index 2519b90b7..69aaa26f8 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj.filters +++ b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs100.vcxproj.filters @@ -1,17 +1,17 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {2b9f99c8-e72f-4c5b-8970-bc695d6b055d} - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {2b9f99c8-e72f-4c5b-8970-bc695d6b055d} + + + + + Source Files + + \ No newline at end of file diff --git a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs90.vcproj b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs90.vcproj index f99791c69..b4710fb6a 100644 --- a/ApacheConnector/samples/TimeServer/TimeServer_x64_vs90.vcproj +++ b/ApacheConnector/samples/TimeServer/TimeServer_x64_vs90.vcproj @@ -1,165 +1,165 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ApacheConnector/samples/samples.progen b/ApacheConnector/samples/samples.progen index 0f89bb2de..37cd8e625 100644 --- a/ApacheConnector/samples/samples.progen +++ b/ApacheConnector/samples/samples.progen @@ -1,6 +1,6 @@ -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared -vc.solution.create = true -vc.solution.include = \ - FormServer\\FormServer;\ - TimeServer\\TimeServer +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared +vc.solution.create = true +vc.solution.include = \ + FormServer\\FormServer;\ + TimeServer\\TimeServer diff --git a/ApacheConnector/samples/samples_vs100.sln b/ApacheConnector/samples/samples_vs100.sln index ff0f719ba..84e41f0f2 100644 --- a/ApacheConnector/samples/samples_vs100.sln +++ b/ApacheConnector/samples/samples_vs100.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/samples/samples_vs71.sln b/ApacheConnector/samples/samples_vs71.sln index 24f996792..84468f22a 100644 --- a/ApacheConnector/samples/samples_vs71.sln +++ b/ApacheConnector/samples/samples_vs71.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs71.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs71.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - release_shared = release_shared - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.ActiveCfg = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.Build.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.ActiveCfg = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.Build.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.ActiveCfg = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.Build.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.ActiveCfg = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.Build.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs71.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs71.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + release_shared = release_shared + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.ActiveCfg = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.Build.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.ActiveCfg = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.Build.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.ActiveCfg = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.Build.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.ActiveCfg = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.Build.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/samples/samples_vs80.sln b/ApacheConnector/samples/samples_vs80.sln index 8c4960b35..bad720590 100644 --- a/ApacheConnector/samples/samples_vs80.sln +++ b/ApacheConnector/samples/samples_vs80.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs80.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs80.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs80.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs80.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/samples/samples_vs90.sln b/ApacheConnector/samples/samples_vs90.sln index caa80a5ef..2a233f926 100644 --- a/ApacheConnector/samples/samples_vs90.sln +++ b/ApacheConnector/samples/samples_vs90.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/samples/samples_x64_vs100.sln b/ApacheConnector/samples/samples_x64_vs100.sln index c420f18f2..0e1b7e677 100644 --- a/ApacheConnector/samples/samples_x64_vs100.sln +++ b/ApacheConnector/samples/samples_x64_vs100.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ApacheConnector/samples/samples_x64_vs90.sln b/ApacheConnector/samples/samples_x64_vs90.sln index b2fb8ab13..dae00e968 100644 --- a/ApacheConnector/samples/samples_x64_vs90.sln +++ b/ApacheConnector/samples/samples_x64_vs90.sln @@ -1,29 +1,29 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64 - {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64 - {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64 + {CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64 + {59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CHANGELOG b/CHANGELOG index 2c30e1b48..8bd61b183 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,1695 +1,1695 @@ -This is the changelog file for the POCO C++ Libraries. - -Release 1.4.4 (2012-04-??) -========================== - -- ZipStream now builds correctly in unbundled build. -- added proxy digest authentication support to Net library -- integrated MySQL BLOB fixes from Franky Braem. -- use standard OpenSSL import libraries (libeay32.lib, ssleay32.lib) for Crypto and - NetSSL_OpenSSL Visual Studio project files. -- fixed a potential buffer corruption issue in Poco::Net::SecureStreamSocket if lazy - handshake is enabled and the first attempt to complete the handshake fails -- Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601 - date/times with fractional seconds. - - -Release 1.4.3p1 (2012-01-23) -============================ - -- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit - - -Release 1.4.3 (2012-01-16) -========================== - -- fixed a compilation error with Data/MySQL on QNX. -- fixed Util project files for WinCE (removed sources not compileable on CE) -- removed MD2 license text from Ackowledgements document -- fixed iPhone build config for Xcode 4.2 (compiler name changed to llvm-g++) -- Poco::Util::XMLConfiguration: delimiter char (default '.') is now configurable. - This allows for working with XML documents having element names with '.' in them. -- Poco::Util::OptionProcessor: Required option arguments can now be specified as - separate command line arguments, as in "--option value" in addition to the - "--option=value" format. -- Poco::Util::HelpFormatter: improved option help formatting if indentation has - been set explicitely. -- added Mail sample to NetSSL_OpenSSL, showing use of Poco::Net::SecureSMTPClientSession. -- added additional read() overloads to Poco::Net::HTMLForm. -- fixed SF# 3440769: Poco::Net::HTTPResponse doesn't like Amazon EC2 cookies. -- added support for requiring TLSv1 to Poco::Net::Context. -- added an additional constructor to Poco::Net::HTTPBasicCredentials, allowing - the object to be created from a string containing a base64-encoded, colon-separated - username and password. -- Poco::Zip::ZipStreamBuf: fixed a crash if CM_STORE was used. -- Added setContentLength64() and getContentLength64() to Poco::Net::HTTPMessage. -- added Poco::Environment::osDisplayName(). -- fixed SF# 3463096: WinService leaves dangling handles (open() now does not reopen the - service handle if it's already open) -- fixed SF# 3426537: WinRegistryConfiguration can't read virtualized keys -- added Poco::Buffer::resize() -- fixed SF# 3441822: thread safety issue in HTTPClientSession: - always use getaddrinfo() instead of gethostbyname() on all platforms supporting it -- added version resource to POCO DLLs -- fixed SF# 3440599: Dir Path in Quotes in PATH cause PathTest::testFind to fail. -- fixed SF# 3406030: Glob::collect problem -- added Poco::Util::AbstractConfiguration::enableEvents() -- Poco::AtomicCounter now uses GCC builtins with GCC 4.1 or newer - (contributed by Alexey Milovidov) -- made Poco::Logger::formatDump() public as it may be useful for others as well - (SF# 3453446) -- Poco::Net::DialogSocket now has a proper copy constructor (SF# 3414602) -- Poco::Net::MessageHeader and Poco::Net::HTMLForm now limit the maximum number of - fields parsed from a message to prevent certain kinds of denial-of-service - attacks. The field limit can be changed with the new method setFieldLimit(). - The default limit is 100. -- Poco::NumberFormatter, Poco::NumberParser and Poco::format() now always use the - classic ("C") locale to format and parse floating-point numbers. -- added Poco::StreamCopier::copyStream64(), Poco::StreamCopier::copyStreamUnbuffered64() - and Poco::StreamCopier::copyToString64(). These functions use a 64-bit integer - to count the number of bytes copied. -- upgraded internal zlib to 1.2.5 -- upgraded internal sqlite to 3.7.9 -- XML: integrated bugfix for Expat bug# 2958794 (memory leak in poolGrow) -- Added support for HTTP Digest authentication (based on a contribution by - Anton V. Yabchinskiy (arn at bestmx dot ru)). For information on how - to use this, see the Poco::Net::HTTPCredentials, Poco::Net::HTTPDigestCredentials - and Poco::Net::HTTPAuthenticationParams classes. -- Poco::Net::HTTPStreamFactory and Poco::Net::HTTPSStreamFactory now support Basic - and Digest authentication. Username and password must be provided in the URI. -- added Poco::Net::WebSocket, supporting the WebSocket protocol as described in RFC 6455 -- NetSSL_OpenSSL: added client-side support for Server Name Indication. - Poco::Net::SecureSocketImpl::connectSSL() now calls SSL_set_tlsext_host_name() - if its available (OpenSSL 9.8.6f and later). -- added Poco::Net::HTTPClientSession::proxyConnect() (factored out from - Poco::Net::HTTPSClientSession::connect()) -- added Poco::Process::kill(const Poco::ProcessHandle&) which is preferable to - kill(pid) on Windows, as process IDs on Windows may be reused. -- fixed SF# 3471463: Compiler warnings with -Wformat -- Poco::Util::Application::run() now catches and logs exceptions thrown in initialize() -- Fixed a WinCE-specific bug in Poco::Util::ServerApplication where uninitialize() would - be called twice. -- fixed SF# 3471957: WinRegistryKey::deleteKey() unable to delete alt views -- Added additional constructor to Poco::ScopedLock and Poco::ScopedLockWithUnlock - accepting a timeout as second argument. -- Added Poco::Logger::parseLevel() -- Poco::format(): an argument that does not match the format - specifier no longer results in a BadCastException. The string [ERRFMT] is - written to the result string instead. -- PageCompiler: added createSession page attribute. - - -Release 1.4.2p1 (2011-09-24) -============================ - -- On Linux, the RTLD_DEEPBIND option is no longer passed to dlopen(). - This change was introduced in 1.4.2 to solve a specific problem one customer - was having. Unfortunately, it leads to problems with RTTI. -- It's now possible to pass flags (SHLIB_GLOBAL, SHLIB_LOCAL) to - Poco::SharedLibrary::load() (and the constructor implicitly calling load()), - controlling the mode flags (RTLD_GLOBAL, RTLD_LOCAL) passed to dlopen(). - On platforms not using dlopen(), these flags are ignored. -- fixed SF# 3400267: Path_WIN32.cpp bug - - -Release 1.4.2 (2011-08-28) -========================== - -- added Poco::DateTimeFormat::ISO8601_FRAC_FORMAT -- added new Poco::DateTimeFormatter and Poco::DateTimeParser format specifier: - %s for seconds with optional fractions of a second -- fixed a problem with ioctl() on BSD platforms (including OS X) where the - second argument to ioctl() is unsigned long instead of int, causing bad - things on a OS X 64-bit kernel. -- fixed a potential endless loop when enumerating IPv6 network addresses - (reported by Laurent Carcagno) -- new compile-time config option on Windows to set thread names in - debugger. Enable with -DPOCO_WIN32_DEBUGGER_THREAD_NAMES. Available - only in debug builds. -- Cipher can now create Base64 and HexBinary encoded output without linefeeds - (suitable for use in cookies, etc.) -- added Poco::Path::popFrontDirectory() -- improved VxWorks support -- IPv6 fixes: added proper scope id handling in IPAddress, SocketAddress - and related classes. -- Added Poco::Net::ServerSocket::bind6() which allows control over the - IPPROTO_IPV6/IPV6_V6ONLY socket option. -- Removed Poco::MD2Engine class due to licensing issues (the - license for the MD2 code from RSA only allows non-commercial - use). Note that the MD4 and MD5 code from RSA does not have - this issue. -- fixed a Net HTTP client testsuite issue where some tests might - have failed due to prematurely aborted connections by - the HTTPTestServer. -- Poco::Net::SocketAddress: when there is more than one address - returned by a DNS lookup for a name, IPv4 addresses will be - preferred to IPv6 ones. -- NetworkInterface::list() now also returns IPv4 interfaces on Windows when - built with -DPOCO_HAVE_IPv6 -- XMLWriter: fixed a bug with attribute namespaces (no namespace prefix - written if attribute namespace is the same as element namespace) -- fixed SF# 3378588: Mismatched new[]/delete (in RSAEncryptImpl and RSADecryptImpl) -- fixed SF# 3212954 (OpenSSLInitializer::uninitialize() crash) and - SF# 3196862 (Static OpenSSLInitializer instance causes Windows deadlocks) by - removing the static Poco::Crypto::OpenSSLInitializer instance. Automatic OpenSSL - initialization is now done through Poco::Crypto::Cipher, Poco::Crypto::CipherKey, - Poco::Crypto::X509Certificate, Poco::Net::Context classes; however, it is still - recommended to call Poco::Crypto::initializeCrypto() and - Poco::Crypto::uninitializeCrypto() early at application startup, and late at - shutdown respectively (or Poco::Net::initializeSSL()/Poco::Net::uninitializeSSL() - if the NetSSL library is used) to avoid multiple full OpenSSL init/uninit cycles - during application runtime. -- Poco::Logger now also support a symbolic log level "none" - (for use with setLevel()) that disables logging completely - for that Logger (equivalent to setLevel(0)). -- Added experimental Android support, using the existing gmake-based - build system. -- fixed SF# 3288584: DateTimeFormatter link error -- fixed SF# 3187117: Typo in InflatingInputStream doc -- fixed SF# 3309731: _WIN32_WCE comparison should be with 0x600 not 600 -- fixed SF# 3393026: RegularExpression.h identical enum value -- fixed SF# 3274222: AtomicCounter's postfix operators aren't atomic on Windows -- fixed SF# 3317177: Handle leak on windows -- fixed SF# 3181882: Poco::URI::getPathEtc() double-encodes query -- fixed SF# 3379935: ThreadPool Start Bug -- fixed SF# 3354451: Poco::Format::parsePrec never sets the precision to zero -- fixed SF# 3387258: _MAX_PATH used but unknown in Path_WIN32 -- fixed a problem in RSAKeyImpl where direct access to the RSA in a EVP_PKEY - would no longer work in recent OpenSSL versions. Using EVP_PKEY_get1_RSA() - fixes the issue. -- added Poco::Crypto::EncryptingInputStream, Poco::Crypto::EncryptingOutputStream, - Poco::Crypto::DecryptingInputStream and Poco::Crypto::DecryptingOutputStream. -- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException -- fixed SF# 3178098: Add constructor to Poco::TemporaryFile to specify directory -- fixed SF# 3175310: Absolute path when device -- fixed SF# 3301207: Guided tour example contradicts apidoc (API doc was wrong) -- Poco::Net::HTTPMessage::setContentLength() and Poco::Net::HTTPMessage::getContentLength() now - use std::streamsize instead of int. This enables 64-bit Content-Length support at least - on 64-bit platforms. -- fixed SF# 3177530: TemporaryFile::tempName() + glob bug on xp -- fixed SF# 3177372: FileChannel documentation inconsistency -- added %E format specifier to Poco::PattermFormatter (epoch time in seconds - since midnight, January 1 1970) -- On Windows, Poco::Util::ServerApplication now supports a /description command - line argument for specifying a service description (together with /registerService) -- added Poco::Util::WinService::setDescription() and - Poco::Util::WinService::getDescription() -- fixed SF# 3155477: Incorrect URI path handling -- fixed SF# 3309736: Extended Exception macros to set default exception code - new macro is named POCO_DECLARE_EXCEPTION_CODE -- added getter functions for modulus and exponents to Poco::Crypto::RSAKey. -- added Poco::Net::SocketAddress::operator == () and - Poco::Net::SocketAddress::operator != () -- fixed SF# 3182746: IPAddress.cpp IPv6 bug on big-endian -- fixed SF# 3196961: Unix daemon fails to loadConfiguration() if started from cwd -- fixed SF# 3393700: NotificationCenter may call a removed observer and crash. -- Reworked implementation of the events framework (Poco::BasicEvent and friends). - The framework is now completely multithreading save (even in the case that - an event subscriber object unsubscribes and is deleted while an event is - being dispatched). Also, the restriction that any object can only register - one delegate for each event has been removed. For most cases, dispatching - events should be faster, as dispatching an event now needs less dynamic memory - allocations. -- fixed SF# 3178109: getNodeByPath() changes: - getNodeByPath() and getNodeByPathNS() have been moved to Poco::XML::Node. - Furthermore, when invoked on a Poco::XML::Document, the behavior has changed - so that the document element is now included when traversing the path (previously, - traversal would start at the document element, now it starts at the document). - The path expression can now start with a double-slash, which results in a recursive - search for the path's first element in the DOM tree. -- fixed SF# 3382935: String data being truncated using ODBC, and - SF# 2921813: Wrong implementation of the ODBC string binding - - -Release 1.4.1p1 (2011-02-08) -============================ - -- Poco::Mutex is now a recursive mutex again on Linux - (this was caused by an unfortunate feature test for - PTHREAD_MUTEX_RECURSIVE which did not work on Linux - as PTHREAD_MUTEX_RECURSIVE is an enum value and not - a macro) -- Poco::Net::SecureSocketImpl::abort() now only shuts - down the underlying socket connection and does not free - the SSL object, due to multithreading issues. - - -Release 1.4.1 (2011-01-29) -========================== - -- fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly -- fixed SF# 3146326: SharedMemory issue -- made Poco::Net::HTTPSession::abort() virtual -- added Poco::Net::SecureStreamSocket::abort() to immediately close - a SSL/TLS connection without performing an orderly SSL/TLS shutdown. -- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException. - Added try/catch block to Poco::Net::SecureSocketImpl destructor. -- added additional constructor to Poco::Net::HTTPSClientSession, taking - both a socket and a session object. -- Poco::Net::HTTPSession::abort() now also can be used with a - Poco::Net::HTTPSClientSession. -- fixed SF# 3148045: make clean and distclean issues -- changed Data library names on Unix/Linux platforms to - match the names on Windows (PocoSQLite -> PocoDataSQLite, - PocoMySQL -> PocoDataMySQL, PocoODBC -> PocoDataODBC) -- added additional options to configure script -- added additional documentation to Poco::Net::HTTPClientSession -- Poco::Net::HTTPClientSession::receiveResponse() closes the connection - if an exception is thrown while reading the response header. - This ensures that a new connection will be set up for the next request - if persistent connections are used. -- improved Poco::Net::MultipartDecoder performance by reading directly from streambuf -- improved performance of Poco::Base64Encoder, Poco::Base64Decoder, - Poco::HexBinaryEncoder and Poco::HexBinaryDecoder by working directly with the - given stream's streambuf. -- improved performance of MessageHeader::read() by reading directly from streambuf - instead of istream. -- it is now possible to specify additional MIME part header fields - for a MIME part through the Poco::Net::PartSource class. -- upgraded SQLite to release 3.7.4 -- added experimental VxWorks support for VxWorks 5.5.1/Tornado 2.2 and - newer. Please see the VxWorks Platform Notes in the reference documentation - for more information. Currently, the VxWorks is untested; full support - will be available in release 1.4.2. -- fixed SF# 3165918: Poco::DynamicAny fails to convert from string to float -- fixed SF# 3165910: Poco::Net::MessageHeader does not accept HTTP conforming header -- made Poco::Task::cancel() virtual so that tasks can implement custom - cancellation behavior. -- added optional argument to Poco::Util::WinRegistryKey constructor - to specify additional flags (in addition to KEY_READ and KEY_WRITE) - for the samDesired argument of RegOpenKeyEx() or RegCreateKeyEx(). -- improved Poco::BasicEvent::notify() performance by avoiding an unnecessary heap - allocation. -- added additional well-known port numbers to Poco::URI: rtsp, sip, sips, xmpp. -- added Poco::Net::MediaType::matchesRange() -- improved invalid socket handling: a Poco::Net::InvalidSocketException is - now thrown instead of an assertion when an operation is attempted on a closed or - otherwise uninitialized socket. - - -Release 1.4.0 (2010-12-14) -========================== - -- SSLManager: documentation fixes, code cleanup -- SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired -- added HTTPServerRequestImpl::socket() to get access to the underlying socket -- added Socket::secure() to find out whether a given socket supports SSL/TLS -- added SecureStreamSocket::havePeerCertificate() -- NetSSL: added support for turning off extended certificate validation (hostname matching) -- fixed SF# 2941228: ICMPClient::ping() issues on Mac OS X -- fixed SF# 2941231: ICMPEventArgs out of bounds array access -- added PageCompiler sample -- added missing newline at end of xmlparse.c -- Poco::Glob can now be used with an empty pattern which will match nothing (patch from Kim Graesman) -- added support for HTTP proxy authentication (Basic authentication only) -- fixed SF# 2958959: XMLWriter must encode CR, LF and TAB in attribute values as character entities. -- HTMLForm now supports PUT requests as well (see ) -- fixed SF# #2970521: FileOutputStream and file permissions. - (also fixed in File class) -- removed an unused (and wrong) default parameter from EventImpl constructor for WIN32. -- added full support for session caching to NetSSL_OpenSSL -- fixed SF# 2984454: Poco::Util::Timer::scheduleAtFixedRate() works incorrectly -- fixed a bug in Poco::Util::Timer that could lead to high CPU load if - the system clock is moved forward. -- added system.nodeId to SystemConfiguration -- added a note to Poco::Util::ServerApplication documentation regarding - creation of threads -- added Poco::Net::IPAddress::broadcast() and Poco::Net::IPAddress::wildcard() to - create broadcast (255.255.255.255) and wildcard (0.0.0.0) addresses. -- fixed SF# 2916154: Poco::Net::IPAddress::isLoopback() only works for 127.0.0.1. -- added build configuration for iPhone Simulator -- GNU Make based build system provides new variables: POCO_HOST_BINDIR, POCO_HOST_BINPATH, - POCO_HOST_LIBDIR, POCO_HOST_LIBPATH and POCO_TARGET_* equivalents. -- Application::initialize() and Application::uninitialize() will now be called from within run(). - This solves various issues with uninitialize() not being called, or being called inappropriately - from the Application destructor. - Please note that this change will break applications that use the Application class, - but only call init() and not run(). -- added /startup option to specify startup mode for Windows services (automatic or manual) -- fixed SF# 2967354: SecureSocketImpl shutdown/close problem -- fixed SF# 3006340: LinearHashTable grows even if key already exists -- fixed a particularly nasty Windows error handling issue that manifested itself on WinCE: - WSAGetLastError() would be called after a std::string was created. The string creation could result - in a heap operation which called a Windows API to allocate memory. This would reset the - GetLastError() error code. Since WSAGetLastError() is just an alias for GetLastError(), the actual - error code from the socket operation would be lost. -- upgraded SQLite to 3.7.3 -- added --header-prefix option to PageCompiler -- fixed SF# 3003875: SQLite data binding is broken -- fixed SF# 2993988: Issue with multiple calls to open()/close() on File*Stream -- fixed SF# 2990256: HTMLForm and file uploads -- fixed SF# 2969227: DateTimeParser bug -- fixed SF# 2966698: Socket connect with timeout issue -- fixed SF# 2981041: Bind NULL to a query (patch supplied) -- fixed SF# 2961419: UTF8Encoding::convert() doesn't work properly in DEBUG mode -- fixed SF# 2957068: Timeout value not picked up by proxy in HTTPSClientSession -- fixed NetSSL_OpenSSL test runner for Poco::Util::Application class changes -- Poco::AbstractEvent, Poco::AbstractCache and related classes now accept a Mutex class as additional template argument. - Poco::NullMutex can be used if no synchronization is desired. -- Added Poco::AbstractEvent::empty() to check whether an event has registered delegates. -- Poco::URI now correctly handles IPv6 addresses. -- Added Poco::Nullable class template. -- Added Poco::NullMutex, a no-op mutex to be used as template argument for template classes - taking a mutex policy argument. -- Poco::XML::XMLWriter: fixed a namespace handling issue that occured with startPrefixMapping() and endPrefixMapping() -- Poco::Net::Context now allows for loading certificates and private keys from Poco::Crypto::X509Certificate objects - and Poco::Crypto::RSAKey objects. -- Poco::Crypto::RSAKey no longer uses temporary files for stream operations. Memory buffers are used instead. -- fixed SF# 2957865: added Poco::UUID::tryParse() -- All Zip classes now use Poco::File[Input|Output]Stream instead of std::[i|o]fstream. - UTF-8 filenames will now be handled correctly on Windows. -- fixed SF# 2902029: zlib flush support (Z_SYNC_FLUSH) -- added Poco::TextBufferIterator class -- fixed SF# 2977249: Use epoll instead select under Linux - Socket::select() and Socket::poll() will use epoll under Linux if the Net library is compiled - with -DPOCO_HAVE_FD_EPOLL. This is the default for the Linux build configuration (but not for - the various build configurations targeting embedded Linux platforms). -- fixed SF# 2941664: Memory leak in DeflatingStream with zero-length streams (also fixed some other potential, - but unlikely, memory leaks) -- fixed SF# 2946457: added RejectCertificateHandler -- fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8 -- fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device exists -- Environment::nodeId() no longer throws if no hardware ethernet address can be determined. - It returns an all-zero address instead. -- Added additional classification functions to Poco::Unicode class; made classification functions inline. -- added Ascii class for ASCII character classification. - Methods of the Ascii class are now used instead of the - standard library functions (std::isspace(), etc.) due to - possible inconsistent results or assertions when the - standard library functions are used with character codes - outside the ASCII range. -- Poco::Net::MailMessage: fixed a bug in StringPartHandler that resulted in incorrect handling of non-ASCII data if - char is signed. -- Improved Poco::Net::SMTPClientSession compatibility with various mail servers when using AUTH_LOGIN authentication. -- Added CRAM-SHA1 support to Poco::Net::SMTPClientSession -- Poco::Net::SMTPClientSession now also supports login with AUTH PLAIN. -- Added Poco::Net::SecureSMTPClientSession class, supporting STARTTLS for secure SMTP connections. -- fixed an issue with SharedMemory on POSIX systems, where a shared memory region would be deleted - despite the server flag set to true (see http://pocoproject.org/forum/viewtopic.php?f=12&t=3494). -- PageCompiler: added a new page context directive, to allow passing custom context objects to the - request handler. -- fixed StreamSocketImpl::sendBytes() for non-blocking sockets -- added Poco::Net::DialogSocket::receiveRawBytes(), which should be used instead of receiveBytes() due to internal - buffering by DialogSocket. -- DOMParser: FEATURE_WHITESPACE has been renamed to FEATURE_FILTER_WHITESPACE (which now matches the underlying URI) - and is now handled correctly (previously we did the exact reverse thing) -- added Poco::Util::AbstractConfiguration::remove() to remove a configuration property; added removeRaw() implementations - to all implementations (contributions by Daniel Hobi and Alexey Shults). -- fixed NetSSL_OpenSSL compilation error on Windows with OpenSSL 1.0 -- Added optional FIPS mode support to NetSSL_OpenSSL (contributed by Lior Okman). - If OpenSSL has been configured and built with FIPS support, then FIPS support can - be enabled by calling Poco::Crypto::OpenSSLInitializer::enableFIPSMode(true); or - by setting the fips property in the OpenSSL configuration to true (see Poco::Net::SSLManager - for details). -- fixed SF# 3031530: Ping and possible no timeout -- added Poco::Net::SocketReactor::onBusy(), called whenever at least one notification will - be dispatched. -- fixed SF# 3034863: Compiler warning in net/IPAddress.h with poco 1.3.2 -- added support for CRAM-SHA1 authentication to SMTPClientSession -- Poco::format(): arguments can now be addressed by their index, e.g. %[2]d -- Poco::Util::Timer::cancel() now accepts an optional boolean argument. - If true is passed, cancel() waits until the task queue has been purged. - Otherwise, it returns immediately and works asynchronously, as before. -- Poco::Net::HTTPServerResponse::redirect() now accepts an optional additional - argument to specify the HTTP status code for the redirection. -- fixed a warning (BinaryReader.cpp) and error (ThreadLocal.cpp) in Foundation when compiling with Visual Studio 2010 -- fixed a wrong exception in Poco::Net::POP3ClientSession -- Poco::Net::FTPClientSession and Poco::Net::SMTPClientSession now set the error code in exceptions they throw -- fixed a potential race condition with terminating a Windows service based on Poco::Util::ServerApplication -- fixed a bug in global build configuration file: explicitly setting POCO_CONFIG did not work on Solaris platforms, - as it was always overridden by the automatically determined configuration. -- Added support for MinGW cross builds on Linux. -- Changed location of statically linked build products in the gmake-based build system. - Statically linked executables are now in bin/$(OSNAME)/$(OSARCH)/static and no longer - have the _s suffix -- The POCO_VERSION macro now is in its own header file, "Poco/Version.h". It is no longer - available through "Poco/Foundation.h". -- added Poco::Net::HTTPCookie::escape() and Poco::Net::HTTPCookie::unescape(). -- fixed SF# 3021173: Thread (POSIX) returns uninitialised value for OS priority -- fixed SF# 3040870: ThreadPool has no function to get assigned name -- fixed SF# 3044303: Can't use own config file on Solaris & OSARCH_64BITS ignored -- fixed SF# 2943896: AsyncChannel::log blocks -- fixed a bug in Poco::Util::WinRegistryKey::getInt(): - The size variable passed to RegQueryValueExW() should be initialized to the size - of the output buffer. -- Added rudimentary support for compiling with Clang 2.0 (Xcode 4) on Mac OS X. -- New build configurations for Mac OS X: Darwin32 and Darwin64 for explicit - 32-bit and 64-bit builds. Note that the default Darwin build configuration - will build 64-bit on Snow Leopard and 32-bit on Leopard, but will always place - build products in Darwin/i386. The new Darwin32 and Darwin64 configurations - will use the correct directories. -- fixed SF# 3051598: Bug in URL encoding -- Poco::ThreadPool::stopAll() (and thus also the destructor) will now wait for each - pooled thread to terminate before returning. This fixes an issue with creating - and orderly shutting down a thread pool in a plugin. Previously, a pooled thread - in a thread pool created by a dynamically loaded library might still be running - when the plugin's shared library was unloaded, resulting in Bad Things happening. - This can now no longer happen. As a downside, a pooled thread that fails to - finish will block stopAll() and the destructor forever. -- NetSSL_OpenSSL: for a SecureStreamSocket, available() now returns the number of bytes that - are pending in the SSL buffer (SSL_pending()), not the actual socket buffer. -- Added Poco::Net::HTTPClientSession::secure() to check for a secure connection. -- Poco::Net::HTTPRequest::setHost() now does not include the port number in the Host header - if it's either 80 or 443. -- log messages can now optionally include source file path and line number -- Poco::PatternFormatter can format source file path and line number (%U, %u) -- logging macros (poco_information(), etc.) now use __LINE__ and __FILE__ -- new logging macros that incorporate Poco::format(): poco_information_f1(logger, format, arg) with up to 4 arguments -- added Poco::Net::HTTPSession::attachSessionData() and Poco::Net::HTTPSession::sessionData() - to attach arbitrary data to a HTTP session. -- added additional constructors to zlib stream classes that allow passing - a windowBits parameter to the underlying zlib library. -- fixed a potential error handling issue in Poco::Net::SecureSocketImpl. -- fixed SF# 3110272: RSACipherImpl bug. -- fixed SF# 3081677: ConfigurationView's getRaw not retrieving xml attributes. -- added basic support for Canonical XML and better pretty-printing support to Poco::XML::XMLWriter. -- Poco::Util::AbstractConfiguration now supports events fired when changing or - removing properties. -- XML: added support for finding DOM nodes by XPath-like - expressions. Only a very minimal subset of XPath is supported. - See Poco::XML::Element::getNodeByPath(), Poco::XML::Element::getNodeByPathNS() - and the same methods in Poco::XML::Document. -- Poco::Timer: If the callback takes longer to execute than the - timer interval, the callback function will not be called until the next - proper interval. The number of skipped invocations since the last - invocation will be recorded and can be obtained by the callback - by calling skipped(). -- Poco::BinaryReader and Poco::BinaryWriter now support reading and - writing std::vectors of the supported basic types. Also, strings - can now be written in a different encoding (a Poco::TextEncoding - can be optionally passed to the constructor). -- Poco::UUID::nil() and Poco::UUID::isNil() have been renamed to - Poco::UUID::null() and Poco::UUID::isNull(), respectively, to avoid - issues with Objective-C++ projects on Mac OS X and iOS where nil is - a system-provided macro. -- Crypto bugfixes: RSACipherImpl now pads every block of data, not just the - last (or last two). -- Improved Crypto testsuite by adding new tests -- Added new Visual Studio project configurations: debug_static_mt and release_static_mt - (linking with static runtime libraries). The existing configurations debug_static - and release_static have been renamed to debug_static_md and release_static_md, respectively. - The suffixes of the static libraries have also changed. The static_md configurations - now build libraries with suffixes md[d], while the libraries built by the static_mt - configurations have mt[d] suffixes. -- Added Visual Studio project files for 64-bit builds. -- Added Visual Studio 2010 project files. -- Removed the use of local static objects in various methods due to - their construction not being threadsafe (and thus leading to - potential race conditions) on Windows/Visual C++. -- Fixed some warning on 64-bit Windows builds. -- The name of the Data connector libraries have changed. They are now - named PocoDataMySQL, PocoDataODBC and PocoDataSQLite. -- fixed SF# 3125498: Linux NetworkInterface::list() doesn't return IPv6 IPs -- fixed SF# 3125457: IPv6 IPAddress tests are wrong -- Added initialization functions for the NetSSL_OpenSSL and Crypto libraries. - These should be called instead of relying on automatic initialization, - implemented with static initializer objects, as this won't work with - statically linked executables (where the linker won't include the - static initializer object). - The functions are Poco::Crypto::initializeCrypto(), Poco::Crypto::uninitializeCrypto(), - Poco::Net::initializeSSL() and Poco::Net::uninitializeSSL(). - Applications using Crypto and/or NetSSL should call these methods appropriately at - program startup and shutdown. - Note: In release 1.3.6, similar functions have been added to the Net library. - - -Release 1.3.6p2 (2010-01-15) -============================ - -- fixed an issue in the Windows implementation Poco::RWLock, where - tryReadLock() sometimes would return false even if no writers - were using the lock (fix contributed by Bjrn Carlsson) -- added Poco::Environment::libraryVersion(). -- fixed SF# 2919461: Context ignores parameter cypherList -- removed an unused enum from RSACipherImpl.cpp (Crypto) -- integrated a new expat patch for CVE-2009-3560. -- fixed SF# 2926458: SSL Context Problem. The Poco::Net::Context - class now makes sure that OpenSSL is properly initialized. -- updated iPhone build configuration (contributed by Martin York) -- fixed SF# 1815124 (reopened): XML Compile failed on VS7.1 with - XML_UNICODE_WCHAR_T -- fixed SF# 2932647: FTPClientSession::getWorkingDirectory() returns a bad result - - -Release 1.3.6p1 (2009-12-21) -============================ - -- added support for using external zlib, pcre, expat and sqlite3 instead of - bundled ones (-DPOCO_UNBUNDLED, configure --unbundled) -- fixed SF# 2911407: Add sh4 support -- fixed SF# 2912746: RSAKey::EXP_LARGE doesn't work -- fixed SF# 2904119: abstractstrategy uses std::set but do not includes it -- fixed SF# 2909946: localtime NULL pointer -- fixed SF# 2914986: potential expat DoS security issues (CVE-2009-3560 and CVE-2009-3720) -- fixed SF# 2916305: SSL Manager crashes -- fixed SF# 2903676: Tuple TypeHander does not handle composites. - - -Release 1.3.6 (2009-11-24) -========================== - -- added Environment::processorCount() -- added POCO_VERSION macro to Poco/Foundation.h -- fixed SF# 2807527: Poco::Timer bug for long startInterval/periodic interval -- fixed a bug similar to SF# 2807527 in Poco::Util::Timer. -- fixed SF# 2795395: Constructor doesn't treat the params "key" and "iv" -- fixed SF# 2804457: DateTime::checkLimit looks wrong -- fixed SF# 2804546: DateTimeParser requires explicit RFC1123 format -- added ReleaseArrayPolicy to Poco::SharedPtr -- upgraded to SQLite 3.6.20 -- fixed SF# 2782709: Missing semicolons in "Logger.h" convenience -- fixed SF# 2526407: DefaultStrategy.h ++it instead of it++ in a loop -- fixed SF# 2502235: Poco STLPort patch -- fixed SF# 2186643: Data::Statement::reset() not implemented in 1.3.3 -- fixed SF# 2164227: Allow File opened read only by FileInputSteam to be writable -- fixed SF# 2791934: use of char_traits::copy in BufferedStreamBuf::underflow -- fixed SF# 2807750: Support additional SQL types in SQLite -- fixed documentation bugs in Timed/PriorityNotificationQueue -- fixed SF# 2828401: Deadlock in SocketReactor/NotificationCenter (also fixes patch# 1956490) - NotificationCenter now uses a std::vector internally instead of a std::list, and the mutex is - no longer held while notifications are sent to observers. -- fixed SF# 2835206: File_WIN32 not checking aganist INVALID_HANDLE_VALUE -- fixed SF# 2841812: Posix ThreadImpl::sleepImpl throws exceptions on EINTR -- fixed SF# 2839579: simple DoS for SSL TCPServer, HTTPS server - No SSL handshake is performed during accept() - the handshake is delayed until - sendBytes(), receiveBytes() or completeHandshake() is called for the first time. - This also allows for better handshake and certificate validation when using - nonblocking connections. -- fixed SF# 2836049: Possible handle leak in FileStream - If sync() fails, close() now simply set's the stream's bad bit. - In any case, close() closes the file handle/descriptor. -- fixed SF# 2814451: NetSSL: receiveBytes crashes if socket is closed -- added a workaround for Vista service network initialization issue - (an Windows service using the Net library running under Vista will - crash in the call to WSAStartup() done in NetworkInitializer). - Workaround is to call WSAStartup() in the application's main(). - Automatic call to WSAStartup() in the Net library can now be disabled - by compiling Net with -DPOCO_NET_NO_AUTOMATIC_WSASTARTUP. Also - the new Poco::Net::initializeNetwork() and Poco::Net::uninitializeNetwork() - functions can be used to call WSAStartup() and WSACleanup(), respectively, - in a platform-independent way (on platforms other than Windows, these - functions will simply do nothing). -- added VCexpress build script support (contributed by Jolyon Wright) -- fixed SF# 2851052: Poco::DirectoryIterator copy constructor is broken -- fixed SF# 2851197: IPAddress ctor throw keyword missing -- added Poco::ProtocolException -- PageCompiler improvements: new tags, support for buffered output, etc. -- better error reporting in Data MySQL connector (patch #2881270 by Jan "HanzZ" Kaluza) -- fixed SF# 1892462: FTPClient:Choose explicitely between EPSV and PASV -- fixed SF# 2806365: Option for PageCompiler to write output to different dir -- fixed a documentation bug (wrong sample code) in Process::launch() documentation -- added --header-output-dir option to PageCompiler -- fixed SF# 2849144: Zip::Decompress notifications error -- SAXParser has a new feature: "http://www.appinf.com/features/enable-partial-reads". - See ParserEngine::setEnablePartialReads() for a description of what this does. -- fixed SF# 2876179: MySQL Signed/Unsigned value bug -- fixed SF# 2877970: possible bug in timer task -- fixed SF# 2874104: wrong parsing empty http headers -- fixed SF# 2860694: Incorrect return code from SecureStreamSocketImpl::sendBytes -- fixed SF# 2849750: Possible bug with XMLWriter? -- added MailMessage::encodeWord() to support RFC 2047 word encoded - mail header fields when sending out mail containing non-ASCII - characters. -- fixed SF# 2890975: SMTPClientSession bug with 7BIT encoding -- fixed an issue with retrieving the value of socket options on Windows 7. - Before obtaining the value of a socket, we now initialize the variable receiving the - socket option value to zero. -- fixed SF# 2836141: Documentation errors -- fixed SF# 2864232: Socket::select() does not detect closed sockets on windows -- fixed SF# 2812143: Socket::select() should check socket descriptors... -- fixed SF# 2801750: NetworkInterface forName returns wrong subnetMask -- fixed SF# 2816315: Problem with POSIX Thread::sleepImpl -- fixed SF# 2795646: IPv6 address parsing bug -- fixed #0000092: ServerApplication::waitForTerminationRequest(), SIGINT and GDB. - Poco::Util::ServerApplication::waitForTerminationRequest() no longer registers a - signal handler for SIGINT if the environment variable POCO_ENABLE_DEBUGGER - is defined. -- fixed SF# 2896070: Poco::Net::Context with non-ASCII paths -- added Unicode Surrogate support to Poco::UTF16Encoding. - See Poco::TextEncoding::queryConvert() and Poco::TextEncoding::sequenceLength() - for how this is implemented. Contributed by Philippe Cuvillier. -- fixed SF# 2897650: [branch 1.3.6] Net.SocketAddress won't compile for CYGWIN -- fixed SF# 2896161: Building on Windows fails when basedir has space in it -- fixed SF# 2864380: Memory leak when using secure sockets -- NetSSL_OpenSSL: the SSL/TLS session cache is now disabled by default and - can be enabled per Context using Poco::Net::Context::enableSessionCache(). -- fixed SF# 2899039: Wrong DST handling in LocalDateTime -- added RWLock::ScopedReadLock and RWLock::ScopedWriteLock (contributed by Marc Chevrier) -- added Thread::TID type, as well as Thread::tid() and Thread::currentTid() to obtain the native - thread handle/ID -- added Zip file comment support -- On Windows, Poco::SharedLibrary::load() now uses LoadLibraryEx instead of LoadLibrary - and uses the LOAD_WITH_ALTERED_SEARCH_PATH if an absolute path is specified. This will - add the directory containing the library to the search path for DLLs that the - loaded library depends upon. -- Mac OS X build settings now match those used by default Xcode projects, making linking the - POCO libs to Xcode projects easier -- Replaced use of std::valarray in Poco::Net::ICMPEventArgs with std::vector due to issues with - std::valarray together with STDCXX debug mode on OS X - - -Release 1.3.5 (2009-05-11) -========================== - -- fixed SF# 2779410: Poco::Data::ODBC::HandleException impovement -- fixed wrong exception text for Poco::UnhandledException -- Fixed a problem with SSL shutdown that causes clients (web browsers) - to hang when the server attempts to perform a clean SSL shutdown. We now call - SSL_shutdown() once, even if the shutdown is not complete after the first call. -- added Poco::Crypto::X509Certificate::save() -- fixed a bug in Poco::Zip::Decompress that results in wrong paths for extracted files -- fixed a bug in Poco::Zip::ZipManipulator where the Zip file was opened in text format - on Windows. -- added Poco::Crypto::X509Certificate::issuedBy() to verify certificate chain. -- fixed 0000089: Thread::sleep() on Linux is extremely inaccurate -- added methods to extract the contents of specific fields from the - subject and issuer distinguished names of a certificate. - - -Release 1.3.4 (2009-04-21) -========================== - -- fixed SF# 2611804: PropertyFileConfiguration continuation lines -- fixed SF# 2529788: ServerApplication::beDaemon() broken -- fixed SF# 2445467: Bug in Thread_WIN32.cpp -- Improved performance of HTTP Server by removing some - string copy operations -- fixed SF# 2310735: HTTPServer: Keep-Alive only works with send() -- fixed appinf.com IP address in Net testsuite -- fixed RFC-00188: NumberFormatter and float/double numbers -- added --pidfile option to ServerApplication on Unix -- fixed SF# 2499504: Bug in Win32_Thread when using from dll (fixed also for POSIX threads) -- fixed SF# 2465794: HTTPServerRequestImpl memory leak -- fixed SF# 2583934: Zip: No Unix permissions set -- the NetSSL_OpenSSL library has been heavily refactored -- added NumberFormatter::append*() and DateTimeFormatter::append() functions -- use NumberFormatter::append() and DateTimeFormatter::append() instead of format() where - it makes sense to gain some performance -- added system.dateTime and system.pid to Poco::Util::SystemConfiguration -- added %F format specifier (fractional seconds/microseconds) to DateTimeFormatter, - DateTimeParser and PatternFormatter. -- fixed SF# 2630476: Thread_POSIX::setStackSize() failure with g++ 4.3 -- fixed SF# 2679279: Handling of -- option broken -- added compile options to reduce memory footprint of statically linked applications - by excluding various classes from automatically being linked. - See the POCO_NO_* macros in Poco/Config.h. -- fixed SF# 2644940: on Windows the COMPUTER-NAME and the HOSTNAME can be different -- added DNS::hostName() function -- added build configuration for iPhone (using Apple's SDK) -- basic support for AIX 5.x/xlC 8 -- fixed a bug resulting in a badly formatted exception message with IOException - thrown due to a socket-related error -- fixed SF# 2644718: NetworkInterface name conflict in MinGW -- added a missing #include to CryptoTransform.h -- fixed SF# 2635377: HTTPServer::HTTPServer should take AutoPtr -- replaced plain pointers with smart pointers in some interfaces -- upgraded to sqlite 3.6.13 -- improved Data::SQLite error reporting -- Poco::Glob now works with UTF-8 encoded strings and supports case-insensitive comparison. - This also fixes SF# 1944831: Glob::glob on windows should be case insensitve -- added Twitter client sample to Net library -- Fixed SF# 2513643: Seg fault in Poco::UTF8::toLower on 64-bit Linux -- Poco::Data::SessionPool: the janitor can be disabled by specifying a zero idle time. -- added Poco::Data::SessionPool::customizeSession() -- added support for different SQLite transaction modes (DEFERRED, IMMEDIATE, EXCLUSIVE) -- fixed a few wrong #if POCO_HAVE_IPv6 in the Net library -- added support for creating an initialized, but unconnected StreamSocket. -- added File::isDevice() -- added family() member function to SocketAddress, -- Data::SQLite: added support for automatic retries if the database is locked -- XMLConfiguration is now writable -- fixed an IPv6 implementation for Windows bug in HostEntry -- Timer class improvement: interval between callback is no longer influenced by the - time needed to execute the callback. -- added PriorityNotificationQueue and TimedNotificationQueue classes to Foundation. - These are variants of the NotificationQueue class that support priority and - timestamp-tagged notifications. -- added Poco::Util::Timer class. This implements a timer that can schedule different - tasks at different times, using only one thread. -- the signatures of Poco::NotificationQueue and Poco::NotificationCenter member functions - have been changed to accept a Poco::Notification::Ptr instead of Poco::Notification* - to improve exception safety. This change should be transparent and fully backwards - compatible. The signature of the methods returning a Poco::Notification* have not been - changed for backwards compatibility. It is recommended, that any Notification* obtained - should be immediately assigned to a Notification::Ptr. -- SQLite::SessionImpl::isTransaction() now uses sqlite3_get_autocommit() to find out - about the transaction state. -- refactored Crypto library to make it independent from NetSSL_OpenSSL. -- added support for RSA-MD5 digital signatures to Crypto library. -- removed SSLInitializer from NetSSL library (now moved to Crypto library) -- added build configs for static libraries to Crypto library -- OpenSSL now depends on Crypto library (which makes more sense than - vice versa, as it was before). Poco::Net::X509Certificate is now - a subclass of Poco::Crypto::X509Certificate (adding the verify() - member function) and the Poco::Net::SSLInitializer class was - moved to Poco::Crypto::OpenSSLInitializer. -- added build configs for static libraries to Zip -- added batch mode to CppUnit::WinTestRunner. - WinTestRunnerApp supports a batch mode, which runs the - test using the standard text-based TestRunner from CppUnit. - To enable batch mode, start the application with the "/b" - or "/B" command line argument. Optionally, a path to a file - where the test output will be written to may be given: - "/b:" or "/B:". - When run in batch mode, the exit code of the application - will denote test success (0) or failure (1). -- testsuites now also work for static builds on Windows -- The IPv6 support for Windows now basically works (Net library compiled with POCO_HAVE_IPv6) -- fixed a potential error when shutting down openssl in a statically linked application -- added static build configs to Data library -- added Poco::AtomicCounter class, which uses OS-specific APIs for atomic (thread-safe) - manipulation of counter values. -- Poco::RefCountedObject and Poco::SharedPtr now use Poco::AtomicCounter for - reference counting -- fixed SF# 2765569: LoadConfiguration failing from current directory - - -Release 1.3.3p1 (2008-10-09) -============================ - -- Fixed SF# 2153031: 1.3.3 Crypto won't compile on 64-bit Linux -- Fixed a warning in MySQL connector -- Updated README -- The global Makefile in the Zip archive is no longer broken - - -Release 1.3.3 (2008-10-07) -========================== - -- Threads now have optional user-settable stack size (if the OS supports that feature) -- Events now support simplified delegate syntax based on delegate function template. - See Poco::AbstractEvent documentation for new syntax. -- Cache supports new access expire strategy. -- Upgraded to SQLite 3.6.2 -- Upgraded to PCRE 7.8 -- added HttpOnly support to Poco::Net::HTTPCookie -- NetworkInterface now has displayName() member (useful only on Windows) -- Poco::Util::WinRegistryKey now has a read-only mode -- Poco::Util::WinRegistryKey::deleteKey() can now recursively delete registry keys -- Poco::File::created() now returns 0 if the creation date/time is not known, as - it's the case on most Unix platforms (including Linux). - On FreeBSD and Mac OS X, it returns the real creation time. -- Time interval based log file rotation (Poco::FileChannel) now works - correctly. Since there's no reliable and portable way to find out the creation - date of a file (Windows has the tunneling "feature", most Unixes don't provide - the creation date), the creation/rotation date of the log file is written into - the log file as the first line. -- added Environment::nodeId() for obtaining the Ethernet address of the system - (this is now also used by UUIDGenerator - the corresponding code from UUIDGenerator - was moved into Environment) -- added a release policy argument to SharedPtr template -- Socket::select() will no longer throw an InvalidArgumentException - on Windows when called with no sockets at all. If all three socket - sets are empty, Socket::select() will return 0 immediately. -- SocketReactor::run() now catches exceptions and reports them via - the ErrorHandler. -- SocketReactor has a new IdleNotification, which will be posted when - the SocketReactor has no sockets to handle. -- added referenceCount() method to Poco::SharedPtr. -- POCO now builds with GCC 4.3 (but there are some stupid warnings: - "suggest parentheses around && within ||". -- Solution and project files for Visual Studio 2008 are included -- The Zip library is now officially part of the standard POCO release. -- The Crypto library (based on OpenSSL) has been added. The original code - was kindly contributed by Ferdinand Beyer. -- A Data Connector to MySQL, contributed by Sergey Kholodilov, is now part - of the POCO release. -- fixed SF# 1859738: AsyncChannel stall -- fixed SF# 1815124: XML Compile failed on VS7.1 with XML_UNICODE_WCHAR_T -- fixed SF# 1867340: Net and NetSSL additional dependency not set - ws2_32.lib -- fixed SF# 1871946: no exception thrown on error -- fixed SF# 1881113: LinearHashTable does not conform to stl iterators -- fixed SF# 1899808: HTMLForm.load() should call clear() first -- fixed SF# 2030074: Cookie problem with .NET server -- fixed SF# 2009707: small bug in Net/ICMPPacketImpl.cpp -- fixed SF# 1988579: Intel Warning: invalid multibyte character sequence -- fixed SF# 2007486: Please clarify license for Data/samples/* -- fixed SF# 1985180: Poco::Net::DNS multithreading issue -- fixed SF# 1968106: DigestOutputStream losing data -- fixed SF# 1980478: FileChannel loses messages with "archive"="timestamp" -- fixed SF# 1906481: mingw build WC_NO_BEST_FIT_CHARS is not defined -- fixed SF# 1916763: Bug in Activity? -- fixed SF# 1956300: HTTPServerConnection hanging -- fixed SF# 1963214: Typo in documentation for NumberParser::parseFloat -- fixed SF# 1981865: Cygwin Makefile lacks ThreadTarget.cpp -- fixed SF# 1981130: pointless comparison of unsigned integer with zero -- fixed SF# 1943728: POCO_APP_MAIN namespace issue -- fixed SF# 1981139: initial value of reference to non-const must be an lvalue -- fixed SF# 1995073: setupRegistry is broken if POCO_WIN32_UTF8 enabled -- fixed SF# 1981125: std::swap_ranges overloading resolution failed -- fixed SF# 2019857: Memory leak in Data::ODBC Extractor -- fixed SF# 1916761: Bug in Stopwatch? -- fixed SF# 1951443: NetworkInterface::list BSD/QNX no netmask and broadcast addr -- fixed SF# 1935310: Unhandled characters in Windows1252Encoding -- fixed SF# 1948361: a little bug for win32 -- fixed SF# 1896482: tryReadLock intermittent error -- workaround for SF# 1959059: Poco::SignalHandler deadlock - the SignalHandler can now be disabled globally by adding a - #define POCO_NO_SIGNAL_HANDLER to Poco/Config.h -- fixed SF# 2012050: Configuration key created on read access -- fixed SF# 1895483: PCRE - possible buffer overflow -- fixed SF# 2062835: Logfile _creationDate is wrong -- fixed SF# 2118943: out_of_bound access in Poco::Data::BLOB:rawContent -- fixed SF# 2121732: Prevent InvalidArgumentException in SocketReactor -- fixed SF# 1891132: Poco::Data::StatementImpl::executeWithLimit is not correct -- fixed SF# 1951604: POCO refuses to compile with g++ 4.3.0 -- fixed SF# 1954327: CYGWIN's pthread does not define PTHREAD_STACK_MIN -- fixed SF# 2124636: Discrepancy between FileWIN32(U)::handleLastError -- fixed SF# 1558300: MinGW/MSYS Builds -- fixed SF# 2123266: Memory leak under QNX6 with dinkum library -- fixed SF# 2140411: ScopedUnlock documentation bug -- fixed SF# 2036460: UUID regression tests are failing on Linux with g++ 4.3.1 -- fixed SF# 2150438: Tuple TypeHandler position increment size is wrong - - -Release 1.3.2 (2008-02-04) -========================== - -Foundation, XML, Net, Util: -- added POCO_NO_SHAREDMEMORY to Config.h -- POCO_NO_WSTRING now really disables all wide string related calls -- added template specialization for string hashfunction (performance) -- XML parser performance improvements (SAX parser is now up to 40 % faster -- added parseMemoryNP() to XMLReader and friends -- URIStreamOpener improvement: redirect logic is now in URIStreamOpener. - this enables support for redirects from http to https. -- added support for temporary redirects and useproxy return code -- added getBlocking() to Socket -- added File::isHidden() -- better WIN64 support (AMD64 and IA64 platforms are recognized) -- added support for timed lock operations to [Fast]Mutex -- SharedLibrary: dlopen() is called with RTLD_GLOBAL instead of RTLD_LOCAL - (see http://gcc.gnu.org/faq.html#dso) -- Poco::Timer threads can now run with a specified priority -- added testcase for SF# 1774351 -- fixed SF# 1784772: Message::swap omits _tid mem -- fixed SF# 1790894: IPAddress(addr,family) doesn't fail on invalid address -- fixed SF# 1804395: Constructor argument name wrong -- fixed SF# 1806807: XMLWriter::characters should ignore empty strings -- fixed SF# 1806994: property application.runAsService set too late -- fixed SF# 1828908: HTMLForm does not encode '+' -- fixed SF# 1831871: Windows configuration file line endings not correct. -- fixed SF# 1845545: TCP server hangs on shutdown -- fixed SF# 1846734: Option::validator() does not behave according to doc -- fixed SF# 1856567: Assertion in DateTimeParser::tryParse() -- fixed SF# 1864832: HTTP server sendFile() uses incorrect date -- HTTPServerResponseImpl now always sets the Date header automatically - in the constructor. -- fixed SF# 1787667: DateTimeFormatter and time related classes - (also SF# 1800031: The wrong behavior of time related classes) -- fixed SF# 1829700: TaskManager::_taskList contains tasks that never started -- fixed SF# 1834127: Anonymous enums in Tuple.h result in invalid C++ -- fixed SF# 1834130: RunnableAdapter::operator= not returning a value -- fixed SF# 1873924: Add exception code to NetException -- fixed SF# 1873929: SMTPClientSession support for name in sender field -- logging performance improvements (PatternFormatter) -- fixed SF# 1883871: TypeList operator < fails for tuples with duplicate values -- CYGWIN build works again (most things work but Foundation testsuite still fails) -- new build configuration for Digi Embedded Linux (ARM9, uclibc) -- new build configuration for PowerPC Linux - -Data: -- fixed SF# 1724388: ODBC Diagnostics -- fixed SF# 1804797: ODBC Statement multiple execution fails -- fixed SF# 1803435: SessionPool onJanitorTimer called too often? -- fixed SF# 1851997: Undefined Behavior in ODBC::Preparation -- updated SQlite to 3.5.5 - - -Release 1.3.1 (2007-08-08) -========================== - -Foundation, XML, Net, Util: -- DynamicAny fixes for char conversions -- fixed SF# 1733362: Strange timeout handling in SocketImpl::poll and Socket::select -- fixed SF patch# 1728912: crash in POCO on Solaris -- fixed SF# 1732138: Bug in WinRegistryConfiguration::getString -- fixed SF# 1730790: Reference counting breaks NetworkInterface::list() -- fixed SF# 1720733: Poco::SignalHandler bug -- fixed SF# 1718724: Poco::StreamCopier::copyStream loops forever -- fixed SF# 1718437: HashMap bug -- changed LinearHashTable iterator implementation. less templates -> good thing. -- fixed SF# 1733964: DynamicAny compile error -- UUIDGenerator: fixed infinite loop with non ethernet interfaces -- updated expat to 2.0.1 -- fixed SF# 1730566: HTTP server throws exception -- Glob supports symbolic links (additional flag to control behavior) -- fixed a problem with non blocking connect in NetSSL_OpenSSL - (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=441&topics_threshold=0&topics_offset=29&topics_sort_mode=commentDate_desc&topics_find=&forumId=6) -- fixed a problem with SSL renegotiation in NetSSL_OpenSSL (thanks to Sanjay Chouksey for the fix) -- fixed SF# 1714753: NetSSL_OpenSSL: HTTPS connections fail with wildcard certs -- HTTPClientSession: set Host header only if it's not already set (proposed by EHL) -- NetworkInterface (Windows): Loopback interface now has correct netmask; - interfaces that do not have an IP address assigned are no longer reported. -- Fixes for VC++ W4 warnings from EHL -- SharedMemory: first constructor has an additional "server" parameter - Setting to true does not unlink the shared memory region when the SharedMemory object is destroyed. (Alessandro Oliveira Ungaro) -- fixed SF# 1768231: MemoryPool constructor - -Data: -- fixed SF# 1739989: Data::RecordSet::operator = () (in 1.3 branch) -- fixed SF# 1747525: SQLite, Transactions and Session Pooling (in 1.3 branch) -- upgraded to SQLite 3.4.1 - - -Release 1.3.0 (2007-05-07) -========================== - -- added HashMap, HashSet classes -- the HashFunction class template has been changed in an incompatible - way. The member function formerly named hash() is now the function - call operator. If you have defined your own HashFunction classes, - you have to update your code. Sorry for the inconvenience. -- added Poco::Tuple -- added AbstractCache::getAllKeys(), improved performance of the get operation -- fixed AbstractCache::size() to do cache replacement before returning the size -- added additional match() method to RegularExpression and documented the fact that the simple - match() method internally sets RE_ANCHORED and RE_NOTEMPTY. -- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches -- added operator ! to AutoPtr and SharedPtr -- Buffer uses std::size_t instead of int -- Exception::what() now returns exception name instead of message -- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds) -- added Environment::get(name, defaultValue); -- Foundation.h now includes Config.h at the very beginning. -- added replace() and replaceInPlace() to Poco/String.h -- added AutoPtr::assign() and SharedPtr::assign() -- added operator () to AbstractEvent -- gcc Makefiles now strip release builds -- Void now has a == and != operator -- Base64Encoder and HexBinaryEncoder now support an unlimited line length - (no newlines written), by specifying a line length of 0 -- NumberParser now has stricter syntax requirements: garbage following a number leads to a SyntaxException - (Thanks to phireis@gmail.com for the suggestion) -- fixed SF# 1676830: Don't use -rpath in libraries -- fixed SF# 1670279: AbstractConfiguration::unckeckedExpand crash -- fixed a warning in Hashtable -- HTTPClientSession now uses a keepAliveTimeout for better persistent connection handling -- added DateTime::makeUTC() and DateTime::makeLocal() -- added another constructor to LocalDateTime -- POCO_WIN32_UTF8 is ignored on non-Windows platforms -- fixed a timeout bug (with NetSSL) in HTTPSession -- AsyncChannel is automatically opened with first log() -- minor fix to NotificationQueue sample (reported by Laszlo Keresztfalvi) -- added File::canExecute() and File::setExecutable() -- added SharedMemory class to Foundation -- added FileStream, FileInputStream, FileOutputStream to Foundation -- added NodeAppender class to XML for faster DOM tree creation -- HTTPServerRequest and HTTPServerResponse are now abstract base classes, - actual functionality has moved into HTTPServerRequestImpl and - HTTPServerResponseImpl. This allows us to plug other HTTP servers - into POCO. -- added DynamicAny class to Foundation -- replaced std::fstream with Poco::FileStream across POCO. -- added Poco::Checksum class to Foundation. -- fixed SF# 1700811: conflict in threadpool -- bugfix: File::moveTo() does not work if the target is a directory -- File::copyTo() and File::moveTo() now copy/move directories recursively -- refactored NetworkInterface (now using pimpl idiom); - added broadcast address and netmask support -- fixed SF# 1688982: POP3ClientSession fails when retrieving mails with attachment -- fixed SF# 1655104: Enhance Poco::TextEncoding functionality -- added Poco::Condition class, implementing a POSIX-style condition variable -- fixed a bug in File::create() for Windows -- added poco_static_assert (imported from boost) -- added Thread::join(timeout) and Thread::tryJoin() -- ClassLoader support for named manifests (see ClassLibrary.h - POCO_EXPORT_NAMED_MANIFEST) -- POCO_WIN32_UTF8: UNICODE #define is no longer required (and no longer - automatically defined in POCO_WIN32_UTF8 is defined) -- PCRE: upgraded to PCRE version 7.1 -- fixed SF# 1682162: Suggestion on thread priority -- fixed SF# 1613460: MSVC/STLPort warnings -- fixed SF# 1709358: Format double percent std::String bug -- added WindowsConsoleChannel class to Foundation -- added AutoPtr::unsafeCast<>() and SharedPtr::unsafeCast<>() -- fixed SF# 1708552: Failed to build on arm and powerpc -- fixed SF$ 1708529: Failed to build using GCC 4.3: missing #includes -- fixed SF# 1710053: LogStream proposal -- fixed a bug involving empty root directories in Windows DirectoryIterator implementation - (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=343&forumId=6) -- robustness improvements to ActiveMethod - removed the opportunity for memory leaks in - case something goes while invoking the method -- made C library usage more C++-like - use C++ headers (e.g. ) instead of - C ones (). Also, use C library functions in std namespace. -- added Unicode and UTF8String for improved Unicode support. - The Unicode class can be used to obtain the Unicode properties of a character. - The UTF8 class provides case insensitive comparison and case conversion - for UTF-8 encoded strings. -- added UnWindows.h header file, replaced all #include with #include "Poco/UnWindows.h". - See the Poco/UnWindows.h header file for a rationale and explanations. -- fixed SF# 1713820: StreamSocketImpl::sendBytes sends too many bytes -- File::copyTo(): on Windows, the copy now always has the read-only flag reset, to be consistent - with other platforms. -- With Microsoft Visual C++, the necessary POCO libraries are now implicitly linked when - the corresponding header files are included (#pragma comment(lib, "PocoXYZ.lib") is used). - To disable this, compile POCO with the preprocessor symbol POCO_NO_AUTOMATIC_LIBS #define'd - (see Poco/Foundation.h and Poco/Config.h). -- The Visual Studio project files for the POCO libraries now include configurations - for building static libraries. - - -Release 1.2.9 (2007-02-26) -========================== - -- fixed a formatting problem in Util::HelpFormatter -- HTTPClientSession::sendRequest() now attempts to send the complete request in one network packet. -- improved network performance of ChunkedOutputStream: chunk size and chunk data - are sent in one network packet if possible -- fixed SF# 1655035: Wrong expires field calculation in HTTPCookie - (thanks to Sergey N. Yatskevich for this and other fixes) -- fixed SF# 1655049: Fix discrepancy of a code to the description -- fixed SF# 1655170: Poco::Timezone::standardName() problem on WIN32 -- fixed SF# 1629095: POCO_WIN32_UTF8 problem - There is a new function Path::transcode() that can be used to convert a path (or any other string) - from UTF-8 to the current Windows code page. This string can the be passed as a filename - to an fstream or fopen(). This function only does the conversion on Windows, - and only, if POCO_WIN32_UTF8 is defined. Otherwise, it simply returns the unmodified argument. -- fixed SF# 1659607: Probably a bug in Poco::Net::DialogSocket -- HTTPServer network performance improvement: responses that fit into a single network packet - sent with HTTPServerResponse::sendFile() or the new HTTPServerResponse::sendBuffer() are - sent in only one packet. -- added HTTPServerResponse::sendBuffer() -- HTTPServer now sends a Bad Request response if it fails to parse the HTTP request header. -- HTTPServer now sends an Internal Server Error response if the request handler throws an - exception prior to sending a response.- enabled TCP_NODELAY per default on TCPServer/HTTPServer -- fixed a bug in HTTP persistent connection handling - (server does not send Connection: close when it reaches connection maximum) -- HTMLForm - POST submission of URL encoded form no longer uses chunked transfer encoding - (thus improving interoperability with certain web servers) -- integrated Environment.cpp from Main (missing get(var, default)) -- added missing AutoPtr include to Util/Application - (and using Poco::AutoPtr is no longer necessary for POCO_APP_MAIN macro) -- fixed SF# 1635420: Per Regents of the University of Calfornia letter, - remove advertising from BSD licensed parts -- fixed SF# 1633133: MultipartWriter writes superluous CR-LF at beginning - - -Release 1.2.8 (2007-01-04) -========================== - -- fixed SF# 1613906: Util/Application.h and GCC 3.3 -- fixed a byte order issue (failed test) in IPv6 address formatting -- fixed SF# 1626640: Poco::Net::SocketReactor bug -- fixed client side chunked transfer encoding handling -- fixed client side persistent connection handling -- fixed SF# 1623536: HTTP Server Chunked Transfer Encoding Bug -- improved HTTP server exception text -- fixed SF# 1616294: KeepAlive HTTPServerSession patch -- fixed SF# 1616296: Trivial Poco::TaskCustomNotification patch -- fixed SF# 1619282: PurgeStrategy bug fix -- fixed SF# 1620855: Format problem - there is a new format specifier %z for std::size_t, as well as a new - flag ? for %d, %i, %o, %x meaning any signed or unsigned integer - - -Release 1.2.7 (2006-12-07) -========================== - -- Poco::File: fixed root directory handling -- fixed UUIDGenerator documentation -- clarified Application::setUnixOptions() documentation -- fixes for issue [SOAPLite Transport 0000023]: SOAP Transport Listener should be able to use existing HTTPServer instance -- fixing mantis issues 13, 14, 15, 16, 17, 18, 19, 21 -- fixed SF# 1597022: Signed/unsigned warning in StringTokenizer::operator[] -- fixed SF# 1598601: Message::op= leaks -- fixed SF# 1605960: PatternFormatter crashes on custom property -- fixed SF# 1605950: Memory leak in Logger sample code -- fixed SF# 1591635: Copy Paste Error in sample code -- fixed SF# 1591512: SMTPClientSession response stream -- fixed SF #1592776: LayeredConfiguration: getRaw should enumerate in reverse order -- SF Patch # 1599848 ] VS 2005 Util build fails -- Logger::dump() now uses std::size_t instead of int for buffer size -- LayeredConfiguration now supports a priority value for each configuration. - Also, it's possible to specify for each configuration added whether it - should be writeable. -- ServerApplication: cd to root directory only if running as a daemon -- added Message::swap() -- improvements to build system: - global Makefile has correct dependencies for samples - on Windows, samples build after libraries are ready - configure supports --no-wstring and --no-fpenvironment flags - build system supports POCO_FLAGS environment variable for compiler flags -- RemoteGen: fixed error handling for write protected files (SystemException) - fixing integral constant overflow messages with large cache expiration, m_ support for type serializers, - case-insensitive comparison added - - -Release 1.2.6 (2006-11-19) -========================== - -- added additional match() method to RegularExpression and documented the fact that the simple - match() method internally sets RE_ANCHORED and RE_NOTEMPTY. -- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches -- added operator ! to AutoPtr and SharedPtr -- Buffer uses std::size_t instead of int -- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds) -- Foundation.h now includes Config.h at the very beginning. -- added AutoPtr::assign() and SharedPtr::assign() -- added operator () to AbstractEvent -- gcc Makefiles now strip release builds -- documentation improvements - - -Release 1.2.5 (2006-10-23) -========================== - -- Improved LoggingConfigurator: channel creation and configuration is now a two-step process. - This means that the previous problems with PropertyFileConfiguration and IniFileConfiguration when referencing other channels are solved. -- improved options handling: better handling of (non) ambiguities. - If both an option named "help" and one named "helper" is specified, this no longer causes ambiguity errors. -- added check for duplicate option definition -- ThreadPool bugfix: fixed a crash that occurs on Linux multiprocessor machines - (caused by an thread unsafe string assignment corrupting the heap...) - (SF# 1575315) -- improved ThreadPool performance -- XML now compiles with -DXML_UNICODE_WCHAR_T (SF# 1575174) -- fixed SF# 1572757: HTML forms can have more than one key/value pair with the same name -- got rid of the dynamic casts in Events, Events/Cache: simpler/faster Delegate < operator, - prevents some rare dynamic casts error from occuring when using StrategyCollection with Caches -- improvements to Logger and LoggingConfigurator: - * added Logger::unsafeGet() - * added Logger::setProperty(loggerName, propertyName, value) - * LoggingConfigurator now correctly (re)configures existing Loggers - (prior to this change, if a Logger named "a.b.c" existed before - the LoggingConfigurator started its work, and the LoggingConfigurator - configured a Logger named "a.b", then "a.b.c" would not inherit - the new configuration). -- improvements to SplitterChannel and EventLogChannel configuration -- improved LoggingRegistry exception messages -- MessageHeader::read() is more liberal with malformed message headers. - This fixes problems with certain network cameras sending malformed HTTP headers. - - -Release 1.2.4 (2006-10-02) -========================== - -- some code beautifying and improvements to comments -- DOMParser now automatically sets FEATURE_NAMESPACE_PREFIXES -- fixed SF #1567051: DOMBuilder/DOMParser/NamespaceStrategy bug -- fixed SF #1567364: POCO_APP_MAIN -- added Document::getElementById() (two-argument) and getElementByIdNS() -- added another test for DOMParser -- added AutoPtr::isNull() (to be consistent with SharedPtr) -- this release again compiles on PA-RISC HP-UX systems with aCC -- added CMAKE support files contributed by Andrew J. P. Maclean - - -Release 1.2.3 (2006-09-14) -========================== - -- configure script now checks if (auto)selected configuration is supported -- fixed SF #1552904: NamedEvent bug? -- fixed SF #1552787: POCO not handling EINTR -- fixed SF #1552846: Random::~Random uses scalar delete -- fixed SF #1552987: TLSSlot should explicitly default-construct _value -- IPAddress no longer accepts an empty address string -- split up Observer.h into AbstractObserver.h and Observer.h -- added NObserver class template which supports an AutoPtr - argument for the notification callback -- changed EchoServer sample to use NObserver -- some Windows-specific files were missing in the tarballs - - -Release 1.2.2 (2006-09-01) -========================== - -- fixed SF # 1549973: NotificationCenter::hasObservers() returns wrong result -- fixed a memory leak in EchoServer sample -- fixed SocketReactor TimeoutNotification bug (SF #1549365, SocketNotifier::addObserver() incorrect behavior) -- fixed SF# 1549513: MultipartReader does not work with Unix-style linefeeds -- MailMessage and HTMLForm: processing of multipart messages will no longer fail if a PartHandler does not read all data from the part stream. -- added additional test case (Unix-style line ends) to MultipartReaderTest - - -Release 1.2.1 (2006-08-29) -========================== - -- fixed Config.h header (no more #undefs) - -Release 1.2.0 (2006-08-29) -========================== - -- DateTime fixes: Julian Day is no longer stored internally. - Times (hours, minutes, seconds, ...) are now always taken from an utcValue (if available) and not from the Julian day. - The Julian day is only used for calculating year, month and day (except when the Julian day is the only thing we have) - This helps us get rid of rounding errors that the Julian Day arithmetic introduced.- on Windows, UUIDGenerator no longer uses Netbios, but GetAdaptersInfo instead -- The main Makefile now has correct dependencies -- updated poco-doc.pl with latest version by Caleb Epstein -- fixed SF #1542722: InflatingInputStream: buffer error -- improved Windows UTF-8 support -- added Logger::names() -- added configure script and make install target -- XMLWriter bugfix: pretty-print bug with characters() and rawCharacters() -- improvements to build system: support builds outside of source tree -- added header doc conversion tool contributed by Caleb Epstein -- fixed SF #1542618 (build/config/Linux patch) -- bugfix: BinaryReader/BinaryWriter BOM is now 16 bits, as documented -- fixed SF #1542247 (Compiler warning from OptionCallback) -- fixed SF #1542253 (ServerApplication::handleOption doesn't call Application::handleOption) -- added Application::stopOptionsProcessing() -- updated samples -- Util::Application command line handling now supports: - * argument validation (Option::validator(); see Validator, IntValidator, RegExpValidator) - * binding of argument values to config properties (Option::binding()) - * callbacks for arguments (Option::callback()) - * checking of required parameters -- changed header file locations: - Foundation headers are now in Poco (#include "Poco/Foundation.h") - XML headers are now in Poco/XML, Poco/SAX and Poco/DOM (#include "Poco/XML/XML.h") - Util headers are now in Poco/Util (#include "Poco/Util/Util.h") - etc. - Unfortunately, this change will break existing code. However, fixing the code is - a matter of a few global search/replace operations and can be done quickly. - On the plus side, POCO is now a much better citizen when used with other - libraries. -- changed namespaces: - Foundation is now Poco - XML is now Poco::XML - Util is now Poco::Util - Net is now Poco::Net -- removed namespace macros -- fixed some warnings reported by gcc -Wall -Wextra -- fixed AutoPtr and LayeredConfiguration documentation -- improved StreamSocket::receiveBytes() doc -- added Pipe and PipeStream classes -- added support for I/O redirection (pipes) to Process::launch() -- added LogStream class (ostream interface to Logger) -- improved Makefiles (no more double-building if clean all is specified) -- added CppUnit and DateTime testsuite contributions by Andrew Marlow -- improved Cygwin and minimal MinGW support -- FileChannel: gzip compression if archived files now runs in a background thread (SF #1537481) -- POCO now compiles with large (64-bit) file support on Linux (SF #1536634) -- added format() function, which provides typesafe sprintf-like functionality (SF #1327621) -- added File::isLink() -- bugfix: dangling symbolic links in a directory no longer cause recursive remove to fail with file not found error -- added Void class (useful as argument to ActiveMethod) -- ActiveResult now supports exceptions -- bugfix: Timezone::utcOffset() and Timezone::dst() returned wrong values on Unix platforms (SF #1535428) -- added ActiveDispatcher class -- added ActiveStarter class, which is a policy used by ActiveMethod for starting methods -- ActiveRunnable moved to its own header file -- ThreadPool: added startWithPriority(), which allows for running threads with a different priority -- added error handling to dir sample -- added additional test case to HTTPServer test suite- HTMLForm: should now work with request methods other than POST and GET (all non-POST requests are treated the same as GET) -- clarified HTMLForm documentation -- HTMLForm bugfix: uploaded files no longer end up in value; PartHandler is called instead -- NameValueCollection: added get(name, defaultValue) -- added HTTPFormServer sample -- added Foundation::HashTable and SimpleHashTable -- added Net::HTTPSessionFactory -- improvements to AutoPtr and SharedPtr -- improvements to namespaces handling in XMLWriter -- Foundation Cache: fixed add implementation to match the docu: a 2nd add will now simply overwrite existing entries -- added DateTime::isValid() -- added Exception::rethrow() (virtual, must be overridden by all subclasses) -- Timer can now use a user-supplied ThreadPool -- added rethrow() to exception classes -- Net: made some constructors explicit -- Net: added SocketAddress constructor to HTTPClientSession -- Net: added HTTPSession::networkException() to check for exceptions swallowed by stream classes -- Net: added single string argument constructor to SocketAddress. -- Net: improved HTTPClientSession error handling (no more "Invalid HTTP version string" exceptions when the server prematurely closes the connection due to too much load) -- Net: improved HTTPSession error handling. Exceptions while sending and receiving data are stored for later retrieval and no longer get lost since streambufs swallow them. -- Net: added HTTPLoadTest sample -- fixed a bug when opening logfiles on Unix platforms causing an existing logfile to be truncated -- bugfix: log file purge intervals given in months did not work, due to a stupid typo -- added RawSocket and ICMP classes -- UUID: fixed a doc formatting bug -- NetworkInterface::list() now includes loopback interface on Windows (SF #1460309) -- made Exception::message() and Exception::nested() inline -- added Net::UnsupportedRedirectException -- HTTPStreamFactory throws an UnsupportedRedirectException if it encounters a redirect to https -- HTTP: fixed bad 100 Continue handling in client and server code -- added CONTRIBUTORS file - - -Release 1.1.2 (2006-07-07) -========================== - -- Changed license to Boost license -- DBlite and NetSSL have been removed from the Boost-licensed release. - Please contact Applied Informatics (info@appinf.com) if you're interested in them. - - -Release 1.1.1 (2006-04-03) -========================== - -- NetSSL_OpenSSL now supports separate certificate verification - settings for client and server. -- fixed SF #1460309 (enumerating network interfaces failed on 64bit Linux) -- TCPServer no longer crashes if accept() fails - - -Release 1.1.0 (2006-03-23) -========================== - -- events no longer require awkward += new syntax -- source code and documentation cleanups -- basic support for new compilers and platforms - - -Release 1.1b2 (2006-03-04) -========================== - -- made NetSSL threadsafe (added locking callbacks for OpenSSL) -- improved OpenSSL initialization (random generator seeding) -- various changes to improve compatibility with various platforms - - -Release 1.1b1 (2006-03-03) -========================== - -- New Events package in Foundation. The package supports C#-style event handling -- New Cache package in Foundation: a templates-based caching framework -- added Any class to Foundation -- added DBLite library -- fixed a memory leak with layered configurations in the application -- made POCO_DLL the default (unless POCO_STATIC is #defined) - It is no longer necessary to specify POCO_DLL in projects that use Poco - (SourceForge Patch #1408231 and Feature Request #1407575). -- added Buffer template class to Foundation -- added the UnicodeConverter utility class. This is mainly used for Windows Unicode support and probably of little use for anything else. -- added Path::resolve() -- added Windows Unicode support. This calls the Unicode variant of the Windows API functions. - For this to work, all strings must be UTF-8 encoded and POCO_WIN32_UTF8 must be defined in all compilation units. -- added StreamCopier::copyToString() -- added URIStreamOpener::unregisterStreamFactory() and new variants of URIStreamOpener::open() that also work with filesystem paths. - This fixes SourceForge Bug #1409064 and Feature Request #1409062. -- added NodeIterator::currentNodeNP() to XML library -- added some sanity checks to UTF8Encoding::convert() -- added NetSSL - SSL support for Net library, based on OpenSSL -- console output of processes launched with Process::launch() is now visible - - -Release 1.0.0 (2006-01-19) -========================== - -- removed unnecessary console output from ProcessTest -- documentation fixes - - -Release 1.0b2 (2006-01-16) -========================== - -- added ProcessHandle class -- Process::launch() now returns a ProcessHandle instead of a process ID. - This fixes a potential problem on Windows with Process::wait() when - the process terminates before wait() is called. -- added SplitterChannel::close() -- added Logger::destroy() -- added POP3ClientSession::deleteMessage() -- added test for Process::launch() -- documentation fixes - - -Release 1.0b1 (2006-01-09) -========================== - -- improved recognition of Windows paths in Path::parseGuess() -- added setCurrentLineNumber()/getCurrentLineNumber() to CountingStreamBuf -- improvememts to StreamTokenizer and Token; fixed documentation -- added a workaround for some strange istream behaviour with VS 2005 and FTPClientSessionTest -- improved exception/error reporting in cppunit -- added POP3ClientSession -- added Process::launch() and Process::wait() -- added Mail sample -- added MailStream and SMTPClientSession classes -- renamed some methods in DialogSocket to make them more general -- NullPartHandler has moved out of HTMLForm.cpp into a separate file -- Base64Encoder now always writes \r\n line ends -- MessageHeader::quote has an optional addition arg controlling the treatment of whitespace -- bugfix: MultipartReader had a problem with empty lines (\r\n sequences) in a part -- added MailMessage and MailRecipient classes -- added text encoding support for Windows-1252 codepage - - -Release 1.0a1 (2006-01-03) [internal] -===================================== - -- mediaType is used consistently to refer to a MIME media type (some occurences of contentType and mimeType have been replaced) -- moved MediaType::quote() to MessageHeader and made it public -- added MultipartWriter::stream() -- Renamed AttachmentSource to PartSource and AttachmentHandler to PartHandler -- SIGPIPE is always blocked in main thread on Unix systems -- added EchoServer sample -- fixed a bug in SocketImpl::setBlocking() - did exactly the opposite (value to ioctl was wrong) -- fixed a memory leak in NotificationQueue sample -- added comparison operators to Socket so that Sockets can be used as keys in maps -- added Socket::setBlocking() -- added StreamSocket::connectNB() (non-blocking connect) -- added Observer::accepts() -- added SocketReactor, SocketConnector and SocketAcceptor classes to support event-based socket programming -- NamespacePrefixesStrategy now uses expat's XML_SetReturnNSTriplet(). - The previously used separate namespace handling code has been removed. - This improves performance if NamespacePrefixesStrategy is used (both the n - amespaces and namespace-prefixes SAX2 features are used) -- upgraded expat to 2.0 pre-release (2005-12-27) snapshot -- added TeeInputStream and TeeOutputStream classes -- added download sample for URIStreamOpener -- renamed registerOpener() to registerFactory() in HTTPStreamFactory and FTPStreamFactory -- added LineEndingConverter streams -- added FTPClientSession -- code and documentation clean-up -- added DialogSocket class -- reorganized HTTP test suites -- added FTPClientSession and FTPStreamFactory -- added DialogSocket class - - -Release 0.96.1 (2005-12-28) -=========================== - -- fixed a memory leak caused by a bug in Microsoft's stream implementation (see the comment in Foundation/StreamUtil.h for an explanation) -- added samples for Net library -- added uptime() and startTime() to Util::Application -- added DateTimeFormatter::format() for Timespan -- added ErrorHandler class and better exception handling for threads -- added poco_debugger() and poco_debugger_msg() macros -- added project and solution files for Visual Studio 2005 (due to some bugs/leaks in Microsofts standard library - see - http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=e08bd793-3fef-40ff-adda-ed313e0eafcc - we do not recommend using this for production purposes) -- fixed two problems with out-of-range string iterator in Path (the testsuite triggered an assertion in VC++ 8.0) -- fixed mac line endings in a few files -- added a workaround to the class loader that fixes strange behavior with VC++ 8.0. There seems to be a problem with typeid() not returning a valid typeinfo under certain circumstances. -- added buffer allocator argument to buffered stream buffer templates -- added buffer pools to HTTP to reduce memory fragmentation and to improve performance -- added Net to Windows build.cmd script -- added swap() to various classes that already support assignment -- added a null pointer check in DOMWriter::writeNode() -- fixed documentation in BinaryWriter.h and BinaryReader.h -- added explicit support for network byte order to BinaryReader and BinaryWriter -- added basic support for FreeBSD (needs more testing) -- BinaryReader: renamed readRawData() to readRaw() to be consistent with BinaryWriter::writeRaw() -- added support for uppercase output to HexBinaryEncoder. -- added MediaType class -- added QuotedPrintableEncoder and QuotedPrintableDecoder classes -- renamed ObjectFactory to Instantiator. This should prevent the confusion caused by DynamicFactory and ObjectFactory. Sorry for the inconvenience if you are already using this. -- AttachmentSource::filename() now returns const string& -- added StringAttachmentSource -- replaced old-style C casts with C++ casts in NetworkInterface.cpp -- MutexImpl (WIN32): replaced InitializeCriticalSection with InitializeCriticalSectionAndSpinCount, which should increase performance on multiprocessor or multicore systems when many locks are used. -- fixed a problem with STLport 5.0 when compiling StreamTokenizer -- HTTPStreamOpener now also works with no-path URIs (like http://www.appinf.com) -- fixed wrong delete usage (plain delete instead of delete [] was used in a few cases) -- fixed a handle leak in WinTestRunner - - -Release 0.95.4 (2005-11-07) -=========================== - -- fixed #1348006 and #1348005 - - -Release 0.95.3 (2005-10-28) [internal] -====================================== - -- updated build scripts (patch #1339015) -- added support for AMD64 platforms (patch #1339015) -- MultipartWriter creates its own boundary if an empty string is passed in as boundary -- made MultipartWriter::createBoundary() public -- fixed wrong documentation for DateTimeFormat::HTTP_FORMAT -- added support for HTTP Basic authentication -- added support for HTTP Cookies -- added support for HTML forms - - -Release 0.95.2 (2005-10-22) [internal] -====================================== - -- fixed a potential problems with streams when close in destructor fails (added try..catch block around close in destructors) -- added HTTPServer & friends -- added hasIdleThreads() method to NotificationQueue -- added TCPServer and friend -- added support for HTTP proxies to HTTPClientSession and HTTPStreamOpener -- fixed documentation bugs (Mutex.h, ClassLoader.h) - - -Relesae 0.95.1 (2005-10-15) [internal] -====================================== - -- Tasks can now throw custom notifications (contributed by Alex Fabijanic) -- renamed URIFileStreamFactory to FileStreamFactory -- added a few methods to URI (setPathEtc(), getPathEtc(), getPathAndQuery()) -- added new exception classes -- fixed some documentation -- added basic checks when reading a MessageHeader from a stream -- added HTTP classes (testsuite still incomplete) -- added MessageHeader, NameValueCollection, MultipartReader and MultipartWriter classes -- added Timespan::useconds() -- added ClassLoader::isLibraryLoaded() -- Socket classes use Timespan::useconds() to fill struct timeval -- added DatagramSocket, MulticastSocket and NetworkInterface classes -- added socket classes and related basic stuff -- added additonal constructor/assign to Timespan- added BasicBufferedBidirectionalStreamBuf -- fixed a potential MT issue in Base64Decoder -- code beautifying in [Un]BufferedStreamBuf -- more improvements to ClassLoader -- code cleanup and naming convention fixes (changed all *Imp classes to *Impl for consistency) - - -Release 0.94.1 (2005-09-30) [internal] -====================================== - -- added MetaSingleton (based on a contribution by Alex Fabijanic) -- added ClassLoader::create() -- added ClassLoader::instance() -- code clean-ups in FileChannel and related classes -- added SimpleFileChannel -- RotateAtTimeStrategy: - ::getNextRollover() rewritten (buggy) -- DateTime - microseconds assert corrected - asserts in computeGregorian() (except for year - see comment in computeGregorian()) - milliseconds calculation modified in computeGregorian() - microseconds assigned in computeGregorian() - normalize() and checkLimit() private functions to correct cases of overflow for milli/microseconds -- LocalDateTime: added timestamp() method -- FileChannel: - added "times" property (used to determine whether to use UTC or local time with RotateAtTimeStrategy) - ::setProperty() modified (whenever "times" property is set, methods setRotation and setArchive are - reinvoked to reflect the change) -- FileChannel: added support for archived file compression and archived file purging -- FileChannel tests modified -- FileChannel: put LogFile, RotateStrategy and ArchiveStrategy into their own files -- Message: added thread id field -- PatternFormatter: added %I specifier for thread id -- ThreadPool: PooledThread can be assigned a name -- TaskManager: task name is reflected in thread name -- fixed LocalDateTime::operator - (const Timespan&) [#0000004] -- upon startup all loggers' channels are set to a console channel -- improved search for application configuration files (see loadConfiguration()). -- added Glob class (fixes #1249700) -- upgraded to zlib 1.2.3 (fixes #1261712) -- added Logger::dump() -- fixed a wrong condition in Logger::log(const Message&) -- Path::find() now also works with relative paths in addition to plain file names -- added Path(const Path&, const Path&) constructor -- added SharedPtr template -- added Path::tryParse() -- SAXParser::parse()/EntityResolverImpl now works for both URIs and local filesystem paths (fixes #1254812) - - -Release 0.93.1 (2005-08-01) -=========================== - -This release contains various new features, improvements and bugfixes: -- bugfix: UUIDGenerator throws an exception if no connected ethernet adapter can - be found (and thus no MAC address can be obtained) -- added UUIDGenerator::createOne() method -- added error handling to UUID sample application -- added relational (==, !=, <, <=, >, >=) and arithmetic operators (+, -, +=, -=) to DateTime -- added LocalDateTime class -- added support for LocalDateTime to DateTimeParser and DateTimeFormatter -- added enqueueUrgentNotification() to NotificationQueue -- added support for timezone specifiers (%z, %Z) to PatternFormatter -- added [] operator and count() to StringTokenizer -- added elapsed() and isElapsed() to Timestamp -- added tzd() to Timezone -- added WinRegistryKey and WinService classes (Windows only) -- added index operator and count() to StringTokenizer -- added day/time-based log rotation (thanks to Alex Fabijanic), minor improvements to DateTimeParser -- support for Mac OS X 10.4/gcc 4.0.0 -- added NamedMutex and NamedEvent -- added Process::kill() -- added NoPermissionException -- added Task and TaskManager classes -- added ServerApplication class -- bugfix: EventLogChannel - _logFile was not properly initialized in one constructor -- bugfix: File::createDirectories did not work for hierarchies deeper than three -- added Util::FilesystemConfiguration -- documented logging policy: log() must open channel if it hasn't been opened yet -- FileChannel::log() opens channel if necessary -- the application reference passed to initialize() and reinitialize() is no longer const -- improved application logging initialization -- fixed a problem with configuration view and property placeholders -- fixed Util build configuration for Visual Studio -- improved application samples -- fixed documentation for Semaphore class - - -Release 0.92.1 (2005-05-09) -=========================== - -This release introduces the Util library that provides support for -configuration file parsing (different file formats), command line -argument processing, logging configuration and a framework for -command line/server applications. -There have also been various changes to the Foundation library: -- a new RefCountedObject class that acts as a base class for - various classes that use reference counting -- some missing members have been added to the AutoPtr template -- various improvements and bugfixes to the Logging framework, as well as - new LoggingFactory and LoggingRegistry classses, and a NullChannel class -- the SignalHandler class (Unix platforms only) -- ObjectFactory and DynamicFactory template classes -- the Path::find method for searching a file in a list of directories -- various new Exception classes - - -Release 0.91.4 (2005-04-11) -=========================== - -This is mainly a maintenance release that adds support for QNX Neutrino -and OpenVMS. There are also minor bugfixes and improvements. - -The Unix build system has been modified to work on QNX Neutrino. -The OpenVMS build system has been fixed and works now. -Some missing #include's have been added for QNX Neutrino. -Foundation/String.h: icompare now supports comparison with const char*; -the classic C version of isspace() has been used in a few places instead of the -C++ version, this has been fixed. -Foundation/Exception.h: IllegalStateException added. - - -Release 0.91.3 (2005-03-19) -=========================== - -This is a maintenance release that adds support for Solaris/Sun Forte C++. -No new features have been added. - -An implementation of FPEnvironment for Solaris has been included. -All stream classes have been modified to work around an initialization -problem that surfaced with Sun's C++ compiler when using STLport. -Source-code compatibility with the previous release is not affected. Various -minor changes, mostly adding missing #include's for Solaris. - - -Release 0.91.2 (2005-02-27) -=========================== - -Minor improvements to the Unix build system. No actual changes in the -libraries. - - -Release 0.91.1 (2005-02-21) -=========================== - -This is the first public release of the C++ Portable Components. -The release does not contain all features planned for the later 1.0 release -(the NET library is missing, for example), but is already quite usable. -Please refer to the README file for more information and instructions for -building the libraries. - - --- -$Id: //poco/1.4/dist/CHANGELOG#59 $ +This is the changelog file for the POCO C++ Libraries. + +Release 1.4.4 (2012-04-??) +========================== + +- ZipStream now builds correctly in unbundled build. +- added proxy digest authentication support to Net library +- integrated MySQL BLOB fixes from Franky Braem. +- use standard OpenSSL import libraries (libeay32.lib, ssleay32.lib) for Crypto and + NetSSL_OpenSSL Visual Studio project files. +- fixed a potential buffer corruption issue in Poco::Net::SecureStreamSocket if lazy + handshake is enabled and the first attempt to complete the handshake fails +- Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601 + date/times with fractional seconds. + + +Release 1.4.3p1 (2012-01-23) +============================ + +- fixed SF# 3476926: RegDeleteKeyEx not available on Windows XP 32-bit + + +Release 1.4.3 (2012-01-16) +========================== + +- fixed a compilation error with Data/MySQL on QNX. +- fixed Util project files for WinCE (removed sources not compileable on CE) +- removed MD2 license text from Ackowledgements document +- fixed iPhone build config for Xcode 4.2 (compiler name changed to llvm-g++) +- Poco::Util::XMLConfiguration: delimiter char (default '.') is now configurable. + This allows for working with XML documents having element names with '.' in them. +- Poco::Util::OptionProcessor: Required option arguments can now be specified as + separate command line arguments, as in "--option value" in addition to the + "--option=value" format. +- Poco::Util::HelpFormatter: improved option help formatting if indentation has + been set explicitely. +- added Mail sample to NetSSL_OpenSSL, showing use of Poco::Net::SecureSMTPClientSession. +- added additional read() overloads to Poco::Net::HTMLForm. +- fixed SF# 3440769: Poco::Net::HTTPResponse doesn't like Amazon EC2 cookies. +- added support for requiring TLSv1 to Poco::Net::Context. +- added an additional constructor to Poco::Net::HTTPBasicCredentials, allowing + the object to be created from a string containing a base64-encoded, colon-separated + username and password. +- Poco::Zip::ZipStreamBuf: fixed a crash if CM_STORE was used. +- Added setContentLength64() and getContentLength64() to Poco::Net::HTTPMessage. +- added Poco::Environment::osDisplayName(). +- fixed SF# 3463096: WinService leaves dangling handles (open() now does not reopen the + service handle if it's already open) +- fixed SF# 3426537: WinRegistryConfiguration can't read virtualized keys +- added Poco::Buffer::resize() +- fixed SF# 3441822: thread safety issue in HTTPClientSession: + always use getaddrinfo() instead of gethostbyname() on all platforms supporting it +- added version resource to POCO DLLs +- fixed SF# 3440599: Dir Path in Quotes in PATH cause PathTest::testFind to fail. +- fixed SF# 3406030: Glob::collect problem +- added Poco::Util::AbstractConfiguration::enableEvents() +- Poco::AtomicCounter now uses GCC builtins with GCC 4.1 or newer + (contributed by Alexey Milovidov) +- made Poco::Logger::formatDump() public as it may be useful for others as well + (SF# 3453446) +- Poco::Net::DialogSocket now has a proper copy constructor (SF# 3414602) +- Poco::Net::MessageHeader and Poco::Net::HTMLForm now limit the maximum number of + fields parsed from a message to prevent certain kinds of denial-of-service + attacks. The field limit can be changed with the new method setFieldLimit(). + The default limit is 100. +- Poco::NumberFormatter, Poco::NumberParser and Poco::format() now always use the + classic ("C") locale to format and parse floating-point numbers. +- added Poco::StreamCopier::copyStream64(), Poco::StreamCopier::copyStreamUnbuffered64() + and Poco::StreamCopier::copyToString64(). These functions use a 64-bit integer + to count the number of bytes copied. +- upgraded internal zlib to 1.2.5 +- upgraded internal sqlite to 3.7.9 +- XML: integrated bugfix for Expat bug# 2958794 (memory leak in poolGrow) +- Added support for HTTP Digest authentication (based on a contribution by + Anton V. Yabchinskiy (arn at bestmx dot ru)). For information on how + to use this, see the Poco::Net::HTTPCredentials, Poco::Net::HTTPDigestCredentials + and Poco::Net::HTTPAuthenticationParams classes. +- Poco::Net::HTTPStreamFactory and Poco::Net::HTTPSStreamFactory now support Basic + and Digest authentication. Username and password must be provided in the URI. +- added Poco::Net::WebSocket, supporting the WebSocket protocol as described in RFC 6455 +- NetSSL_OpenSSL: added client-side support for Server Name Indication. + Poco::Net::SecureSocketImpl::connectSSL() now calls SSL_set_tlsext_host_name() + if its available (OpenSSL 9.8.6f and later). +- added Poco::Net::HTTPClientSession::proxyConnect() (factored out from + Poco::Net::HTTPSClientSession::connect()) +- added Poco::Process::kill(const Poco::ProcessHandle&) which is preferable to + kill(pid) on Windows, as process IDs on Windows may be reused. +- fixed SF# 3471463: Compiler warnings with -Wformat +- Poco::Util::Application::run() now catches and logs exceptions thrown in initialize() +- Fixed a WinCE-specific bug in Poco::Util::ServerApplication where uninitialize() would + be called twice. +- fixed SF# 3471957: WinRegistryKey::deleteKey() unable to delete alt views +- Added additional constructor to Poco::ScopedLock and Poco::ScopedLockWithUnlock + accepting a timeout as second argument. +- Added Poco::Logger::parseLevel() +- Poco::format(): an argument that does not match the format + specifier no longer results in a BadCastException. The string [ERRFMT] is + written to the result string instead. +- PageCompiler: added createSession page attribute. + + +Release 1.4.2p1 (2011-09-24) +============================ + +- On Linux, the RTLD_DEEPBIND option is no longer passed to dlopen(). + This change was introduced in 1.4.2 to solve a specific problem one customer + was having. Unfortunately, it leads to problems with RTTI. +- It's now possible to pass flags (SHLIB_GLOBAL, SHLIB_LOCAL) to + Poco::SharedLibrary::load() (and the constructor implicitly calling load()), + controlling the mode flags (RTLD_GLOBAL, RTLD_LOCAL) passed to dlopen(). + On platforms not using dlopen(), these flags are ignored. +- fixed SF# 3400267: Path_WIN32.cpp bug + + +Release 1.4.2 (2011-08-28) +========================== + +- added Poco::DateTimeFormat::ISO8601_FRAC_FORMAT +- added new Poco::DateTimeFormatter and Poco::DateTimeParser format specifier: + %s for seconds with optional fractions of a second +- fixed a problem with ioctl() on BSD platforms (including OS X) where the + second argument to ioctl() is unsigned long instead of int, causing bad + things on a OS X 64-bit kernel. +- fixed a potential endless loop when enumerating IPv6 network addresses + (reported by Laurent Carcagno) +- new compile-time config option on Windows to set thread names in + debugger. Enable with -DPOCO_WIN32_DEBUGGER_THREAD_NAMES. Available + only in debug builds. +- Cipher can now create Base64 and HexBinary encoded output without linefeeds + (suitable for use in cookies, etc.) +- added Poco::Path::popFrontDirectory() +- improved VxWorks support +- IPv6 fixes: added proper scope id handling in IPAddress, SocketAddress + and related classes. +- Added Poco::Net::ServerSocket::bind6() which allows control over the + IPPROTO_IPV6/IPV6_V6ONLY socket option. +- Removed Poco::MD2Engine class due to licensing issues (the + license for the MD2 code from RSA only allows non-commercial + use). Note that the MD4 and MD5 code from RSA does not have + this issue. +- fixed a Net HTTP client testsuite issue where some tests might + have failed due to prematurely aborted connections by + the HTTPTestServer. +- Poco::Net::SocketAddress: when there is more than one address + returned by a DNS lookup for a name, IPv4 addresses will be + preferred to IPv6 ones. +- NetworkInterface::list() now also returns IPv4 interfaces on Windows when + built with -DPOCO_HAVE_IPv6 +- XMLWriter: fixed a bug with attribute namespaces (no namespace prefix + written if attribute namespace is the same as element namespace) +- fixed SF# 3378588: Mismatched new[]/delete (in RSAEncryptImpl and RSADecryptImpl) +- fixed SF# 3212954 (OpenSSLInitializer::uninitialize() crash) and + SF# 3196862 (Static OpenSSLInitializer instance causes Windows deadlocks) by + removing the static Poco::Crypto::OpenSSLInitializer instance. Automatic OpenSSL + initialization is now done through Poco::Crypto::Cipher, Poco::Crypto::CipherKey, + Poco::Crypto::X509Certificate, Poco::Net::Context classes; however, it is still + recommended to call Poco::Crypto::initializeCrypto() and + Poco::Crypto::uninitializeCrypto() early at application startup, and late at + shutdown respectively (or Poco::Net::initializeSSL()/Poco::Net::uninitializeSSL() + if the NetSSL library is used) to avoid multiple full OpenSSL init/uninit cycles + during application runtime. +- Poco::Logger now also support a symbolic log level "none" + (for use with setLevel()) that disables logging completely + for that Logger (equivalent to setLevel(0)). +- Added experimental Android support, using the existing gmake-based + build system. +- fixed SF# 3288584: DateTimeFormatter link error +- fixed SF# 3187117: Typo in InflatingInputStream doc +- fixed SF# 3309731: _WIN32_WCE comparison should be with 0x600 not 600 +- fixed SF# 3393026: RegularExpression.h identical enum value +- fixed SF# 3274222: AtomicCounter's postfix operators aren't atomic on Windows +- fixed SF# 3317177: Handle leak on windows +- fixed SF# 3181882: Poco::URI::getPathEtc() double-encodes query +- fixed SF# 3379935: ThreadPool Start Bug +- fixed SF# 3354451: Poco::Format::parsePrec never sets the precision to zero +- fixed SF# 3387258: _MAX_PATH used but unknown in Path_WIN32 +- fixed a problem in RSAKeyImpl where direct access to the RSA in a EVP_PKEY + would no longer work in recent OpenSSL versions. Using EVP_PKEY_get1_RSA() + fixes the issue. +- added Poco::Crypto::EncryptingInputStream, Poco::Crypto::EncryptingOutputStream, + Poco::Crypto::DecryptingInputStream and Poco::Crypto::DecryptingOutputStream. +- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException +- fixed SF# 3178098: Add constructor to Poco::TemporaryFile to specify directory +- fixed SF# 3175310: Absolute path when device +- fixed SF# 3301207: Guided tour example contradicts apidoc (API doc was wrong) +- Poco::Net::HTTPMessage::setContentLength() and Poco::Net::HTTPMessage::getContentLength() now + use std::streamsize instead of int. This enables 64-bit Content-Length support at least + on 64-bit platforms. +- fixed SF# 3177530: TemporaryFile::tempName() + glob bug on xp +- fixed SF# 3177372: FileChannel documentation inconsistency +- added %E format specifier to Poco::PattermFormatter (epoch time in seconds + since midnight, January 1 1970) +- On Windows, Poco::Util::ServerApplication now supports a /description command + line argument for specifying a service description (together with /registerService) +- added Poco::Util::WinService::setDescription() and + Poco::Util::WinService::getDescription() +- fixed SF# 3155477: Incorrect URI path handling +- fixed SF# 3309736: Extended Exception macros to set default exception code + new macro is named POCO_DECLARE_EXCEPTION_CODE +- added getter functions for modulus and exponents to Poco::Crypto::RSAKey. +- added Poco::Net::SocketAddress::operator == () and + Poco::Net::SocketAddress::operator != () +- fixed SF# 3182746: IPAddress.cpp IPv6 bug on big-endian +- fixed SF# 3196961: Unix daemon fails to loadConfiguration() if started from cwd +- fixed SF# 3393700: NotificationCenter may call a removed observer and crash. +- Reworked implementation of the events framework (Poco::BasicEvent and friends). + The framework is now completely multithreading save (even in the case that + an event subscriber object unsubscribes and is deleted while an event is + being dispatched). Also, the restriction that any object can only register + one delegate for each event has been removed. For most cases, dispatching + events should be faster, as dispatching an event now needs less dynamic memory + allocations. +- fixed SF# 3178109: getNodeByPath() changes: + getNodeByPath() and getNodeByPathNS() have been moved to Poco::XML::Node. + Furthermore, when invoked on a Poco::XML::Document, the behavior has changed + so that the document element is now included when traversing the path (previously, + traversal would start at the document element, now it starts at the document). + The path expression can now start with a double-slash, which results in a recursive + search for the path's first element in the DOM tree. +- fixed SF# 3382935: String data being truncated using ODBC, and + SF# 2921813: Wrong implementation of the ODBC string binding + + +Release 1.4.1p1 (2011-02-08) +============================ + +- Poco::Mutex is now a recursive mutex again on Linux + (this was caused by an unfortunate feature test for + PTHREAD_MUTEX_RECURSIVE which did not work on Linux + as PTHREAD_MUTEX_RECURSIVE is an enum value and not + a macro) +- Poco::Net::SecureSocketImpl::abort() now only shuts + down the underlying socket connection and does not free + the SSL object, due to multithreading issues. + + +Release 1.4.1 (2011-01-29) +========================== + +- fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly +- fixed SF# 3146326: SharedMemory issue +- made Poco::Net::HTTPSession::abort() virtual +- added Poco::Net::SecureStreamSocket::abort() to immediately close + a SSL/TLS connection without performing an orderly SSL/TLS shutdown. +- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException. + Added try/catch block to Poco::Net::SecureSocketImpl destructor. +- added additional constructor to Poco::Net::HTTPSClientSession, taking + both a socket and a session object. +- Poco::Net::HTTPSession::abort() now also can be used with a + Poco::Net::HTTPSClientSession. +- fixed SF# 3148045: make clean and distclean issues +- changed Data library names on Unix/Linux platforms to + match the names on Windows (PocoSQLite -> PocoDataSQLite, + PocoMySQL -> PocoDataMySQL, PocoODBC -> PocoDataODBC) +- added additional options to configure script +- added additional documentation to Poco::Net::HTTPClientSession +- Poco::Net::HTTPClientSession::receiveResponse() closes the connection + if an exception is thrown while reading the response header. + This ensures that a new connection will be set up for the next request + if persistent connections are used. +- improved Poco::Net::MultipartDecoder performance by reading directly from streambuf +- improved performance of Poco::Base64Encoder, Poco::Base64Decoder, + Poco::HexBinaryEncoder and Poco::HexBinaryDecoder by working directly with the + given stream's streambuf. +- improved performance of MessageHeader::read() by reading directly from streambuf + instead of istream. +- it is now possible to specify additional MIME part header fields + for a MIME part through the Poco::Net::PartSource class. +- upgraded SQLite to release 3.7.4 +- added experimental VxWorks support for VxWorks 5.5.1/Tornado 2.2 and + newer. Please see the VxWorks Platform Notes in the reference documentation + for more information. Currently, the VxWorks is untested; full support + will be available in release 1.4.2. +- fixed SF# 3165918: Poco::DynamicAny fails to convert from string to float +- fixed SF# 3165910: Poco::Net::MessageHeader does not accept HTTP conforming header +- made Poco::Task::cancel() virtual so that tasks can implement custom + cancellation behavior. +- added optional argument to Poco::Util::WinRegistryKey constructor + to specify additional flags (in addition to KEY_READ and KEY_WRITE) + for the samDesired argument of RegOpenKeyEx() or RegCreateKeyEx(). +- improved Poco::BasicEvent::notify() performance by avoiding an unnecessary heap + allocation. +- added additional well-known port numbers to Poco::URI: rtsp, sip, sips, xmpp. +- added Poco::Net::MediaType::matchesRange() +- improved invalid socket handling: a Poco::Net::InvalidSocketException is + now thrown instead of an assertion when an operation is attempted on a closed or + otherwise uninitialized socket. + + +Release 1.4.0 (2010-12-14) +========================== + +- SSLManager: documentation fixes, code cleanup +- SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired +- added HTTPServerRequestImpl::socket() to get access to the underlying socket +- added Socket::secure() to find out whether a given socket supports SSL/TLS +- added SecureStreamSocket::havePeerCertificate() +- NetSSL: added support for turning off extended certificate validation (hostname matching) +- fixed SF# 2941228: ICMPClient::ping() issues on Mac OS X +- fixed SF# 2941231: ICMPEventArgs out of bounds array access +- added PageCompiler sample +- added missing newline at end of xmlparse.c +- Poco::Glob can now be used with an empty pattern which will match nothing (patch from Kim Graesman) +- added support for HTTP proxy authentication (Basic authentication only) +- fixed SF# 2958959: XMLWriter must encode CR, LF and TAB in attribute values as character entities. +- HTMLForm now supports PUT requests as well (see ) +- fixed SF# #2970521: FileOutputStream and file permissions. + (also fixed in File class) +- removed an unused (and wrong) default parameter from EventImpl constructor for WIN32. +- added full support for session caching to NetSSL_OpenSSL +- fixed SF# 2984454: Poco::Util::Timer::scheduleAtFixedRate() works incorrectly +- fixed a bug in Poco::Util::Timer that could lead to high CPU load if + the system clock is moved forward. +- added system.nodeId to SystemConfiguration +- added a note to Poco::Util::ServerApplication documentation regarding + creation of threads +- added Poco::Net::IPAddress::broadcast() and Poco::Net::IPAddress::wildcard() to + create broadcast (255.255.255.255) and wildcard (0.0.0.0) addresses. +- fixed SF# 2916154: Poco::Net::IPAddress::isLoopback() only works for 127.0.0.1. +- added build configuration for iPhone Simulator +- GNU Make based build system provides new variables: POCO_HOST_BINDIR, POCO_HOST_BINPATH, + POCO_HOST_LIBDIR, POCO_HOST_LIBPATH and POCO_TARGET_* equivalents. +- Application::initialize() and Application::uninitialize() will now be called from within run(). + This solves various issues with uninitialize() not being called, or being called inappropriately + from the Application destructor. + Please note that this change will break applications that use the Application class, + but only call init() and not run(). +- added /startup option to specify startup mode for Windows services (automatic or manual) +- fixed SF# 2967354: SecureSocketImpl shutdown/close problem +- fixed SF# 3006340: LinearHashTable grows even if key already exists +- fixed a particularly nasty Windows error handling issue that manifested itself on WinCE: + WSAGetLastError() would be called after a std::string was created. The string creation could result + in a heap operation which called a Windows API to allocate memory. This would reset the + GetLastError() error code. Since WSAGetLastError() is just an alias for GetLastError(), the actual + error code from the socket operation would be lost. +- upgraded SQLite to 3.7.3 +- added --header-prefix option to PageCompiler +- fixed SF# 3003875: SQLite data binding is broken +- fixed SF# 2993988: Issue with multiple calls to open()/close() on File*Stream +- fixed SF# 2990256: HTMLForm and file uploads +- fixed SF# 2969227: DateTimeParser bug +- fixed SF# 2966698: Socket connect with timeout issue +- fixed SF# 2981041: Bind NULL to a query (patch supplied) +- fixed SF# 2961419: UTF8Encoding::convert() doesn't work properly in DEBUG mode +- fixed SF# 2957068: Timeout value not picked up by proxy in HTTPSClientSession +- fixed NetSSL_OpenSSL test runner for Poco::Util::Application class changes +- Poco::AbstractEvent, Poco::AbstractCache and related classes now accept a Mutex class as additional template argument. + Poco::NullMutex can be used if no synchronization is desired. +- Added Poco::AbstractEvent::empty() to check whether an event has registered delegates. +- Poco::URI now correctly handles IPv6 addresses. +- Added Poco::Nullable class template. +- Added Poco::NullMutex, a no-op mutex to be used as template argument for template classes + taking a mutex policy argument. +- Poco::XML::XMLWriter: fixed a namespace handling issue that occured with startPrefixMapping() and endPrefixMapping() +- Poco::Net::Context now allows for loading certificates and private keys from Poco::Crypto::X509Certificate objects + and Poco::Crypto::RSAKey objects. +- Poco::Crypto::RSAKey no longer uses temporary files for stream operations. Memory buffers are used instead. +- fixed SF# 2957865: added Poco::UUID::tryParse() +- All Zip classes now use Poco::File[Input|Output]Stream instead of std::[i|o]fstream. + UTF-8 filenames will now be handled correctly on Windows. +- fixed SF# 2902029: zlib flush support (Z_SYNC_FLUSH) +- added Poco::TextBufferIterator class +- fixed SF# 2977249: Use epoll instead select under Linux + Socket::select() and Socket::poll() will use epoll under Linux if the Net library is compiled + with -DPOCO_HAVE_FD_EPOLL. This is the default for the Linux build configuration (but not for + the various build configurations targeting embedded Linux platforms). +- fixed SF# 2941664: Memory leak in DeflatingStream with zero-length streams (also fixed some other potential, + but unlikely, memory leaks) +- fixed SF# 2946457: added RejectCertificateHandler +- fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8 +- fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device exists +- Environment::nodeId() no longer throws if no hardware ethernet address can be determined. + It returns an all-zero address instead. +- Added additional classification functions to Poco::Unicode class; made classification functions inline. +- added Ascii class for ASCII character classification. + Methods of the Ascii class are now used instead of the + standard library functions (std::isspace(), etc.) due to + possible inconsistent results or assertions when the + standard library functions are used with character codes + outside the ASCII range. +- Poco::Net::MailMessage: fixed a bug in StringPartHandler that resulted in incorrect handling of non-ASCII data if + char is signed. +- Improved Poco::Net::SMTPClientSession compatibility with various mail servers when using AUTH_LOGIN authentication. +- Added CRAM-SHA1 support to Poco::Net::SMTPClientSession +- Poco::Net::SMTPClientSession now also supports login with AUTH PLAIN. +- Added Poco::Net::SecureSMTPClientSession class, supporting STARTTLS for secure SMTP connections. +- fixed an issue with SharedMemory on POSIX systems, where a shared memory region would be deleted + despite the server flag set to true (see http://pocoproject.org/forum/viewtopic.php?f=12&t=3494). +- PageCompiler: added a new page context directive, to allow passing custom context objects to the + request handler. +- fixed StreamSocketImpl::sendBytes() for non-blocking sockets +- added Poco::Net::DialogSocket::receiveRawBytes(), which should be used instead of receiveBytes() due to internal + buffering by DialogSocket. +- DOMParser: FEATURE_WHITESPACE has been renamed to FEATURE_FILTER_WHITESPACE (which now matches the underlying URI) + and is now handled correctly (previously we did the exact reverse thing) +- added Poco::Util::AbstractConfiguration::remove() to remove a configuration property; added removeRaw() implementations + to all implementations (contributions by Daniel Hobi and Alexey Shults). +- fixed NetSSL_OpenSSL compilation error on Windows with OpenSSL 1.0 +- Added optional FIPS mode support to NetSSL_OpenSSL (contributed by Lior Okman). + If OpenSSL has been configured and built with FIPS support, then FIPS support can + be enabled by calling Poco::Crypto::OpenSSLInitializer::enableFIPSMode(true); or + by setting the fips property in the OpenSSL configuration to true (see Poco::Net::SSLManager + for details). +- fixed SF# 3031530: Ping and possible no timeout +- added Poco::Net::SocketReactor::onBusy(), called whenever at least one notification will + be dispatched. +- fixed SF# 3034863: Compiler warning in net/IPAddress.h with poco 1.3.2 +- added support for CRAM-SHA1 authentication to SMTPClientSession +- Poco::format(): arguments can now be addressed by their index, e.g. %[2]d +- Poco::Util::Timer::cancel() now accepts an optional boolean argument. + If true is passed, cancel() waits until the task queue has been purged. + Otherwise, it returns immediately and works asynchronously, as before. +- Poco::Net::HTTPServerResponse::redirect() now accepts an optional additional + argument to specify the HTTP status code for the redirection. +- fixed a warning (BinaryReader.cpp) and error (ThreadLocal.cpp) in Foundation when compiling with Visual Studio 2010 +- fixed a wrong exception in Poco::Net::POP3ClientSession +- Poco::Net::FTPClientSession and Poco::Net::SMTPClientSession now set the error code in exceptions they throw +- fixed a potential race condition with terminating a Windows service based on Poco::Util::ServerApplication +- fixed a bug in global build configuration file: explicitly setting POCO_CONFIG did not work on Solaris platforms, + as it was always overridden by the automatically determined configuration. +- Added support for MinGW cross builds on Linux. +- Changed location of statically linked build products in the gmake-based build system. + Statically linked executables are now in bin/$(OSNAME)/$(OSARCH)/static and no longer + have the _s suffix +- The POCO_VERSION macro now is in its own header file, "Poco/Version.h". It is no longer + available through "Poco/Foundation.h". +- added Poco::Net::HTTPCookie::escape() and Poco::Net::HTTPCookie::unescape(). +- fixed SF# 3021173: Thread (POSIX) returns uninitialised value for OS priority +- fixed SF# 3040870: ThreadPool has no function to get assigned name +- fixed SF# 3044303: Can't use own config file on Solaris & OSARCH_64BITS ignored +- fixed SF# 2943896: AsyncChannel::log blocks +- fixed a bug in Poco::Util::WinRegistryKey::getInt(): + The size variable passed to RegQueryValueExW() should be initialized to the size + of the output buffer. +- Added rudimentary support for compiling with Clang 2.0 (Xcode 4) on Mac OS X. +- New build configurations for Mac OS X: Darwin32 and Darwin64 for explicit + 32-bit and 64-bit builds. Note that the default Darwin build configuration + will build 64-bit on Snow Leopard and 32-bit on Leopard, but will always place + build products in Darwin/i386. The new Darwin32 and Darwin64 configurations + will use the correct directories. +- fixed SF# 3051598: Bug in URL encoding +- Poco::ThreadPool::stopAll() (and thus also the destructor) will now wait for each + pooled thread to terminate before returning. This fixes an issue with creating + and orderly shutting down a thread pool in a plugin. Previously, a pooled thread + in a thread pool created by a dynamically loaded library might still be running + when the plugin's shared library was unloaded, resulting in Bad Things happening. + This can now no longer happen. As a downside, a pooled thread that fails to + finish will block stopAll() and the destructor forever. +- NetSSL_OpenSSL: for a SecureStreamSocket, available() now returns the number of bytes that + are pending in the SSL buffer (SSL_pending()), not the actual socket buffer. +- Added Poco::Net::HTTPClientSession::secure() to check for a secure connection. +- Poco::Net::HTTPRequest::setHost() now does not include the port number in the Host header + if it's either 80 or 443. +- log messages can now optionally include source file path and line number +- Poco::PatternFormatter can format source file path and line number (%U, %u) +- logging macros (poco_information(), etc.) now use __LINE__ and __FILE__ +- new logging macros that incorporate Poco::format(): poco_information_f1(logger, format, arg) with up to 4 arguments +- added Poco::Net::HTTPSession::attachSessionData() and Poco::Net::HTTPSession::sessionData() + to attach arbitrary data to a HTTP session. +- added additional constructors to zlib stream classes that allow passing + a windowBits parameter to the underlying zlib library. +- fixed a potential error handling issue in Poco::Net::SecureSocketImpl. +- fixed SF# 3110272: RSACipherImpl bug. +- fixed SF# 3081677: ConfigurationView's getRaw not retrieving xml attributes. +- added basic support for Canonical XML and better pretty-printing support to Poco::XML::XMLWriter. +- Poco::Util::AbstractConfiguration now supports events fired when changing or + removing properties. +- XML: added support for finding DOM nodes by XPath-like + expressions. Only a very minimal subset of XPath is supported. + See Poco::XML::Element::getNodeByPath(), Poco::XML::Element::getNodeByPathNS() + and the same methods in Poco::XML::Document. +- Poco::Timer: If the callback takes longer to execute than the + timer interval, the callback function will not be called until the next + proper interval. The number of skipped invocations since the last + invocation will be recorded and can be obtained by the callback + by calling skipped(). +- Poco::BinaryReader and Poco::BinaryWriter now support reading and + writing std::vectors of the supported basic types. Also, strings + can now be written in a different encoding (a Poco::TextEncoding + can be optionally passed to the constructor). +- Poco::UUID::nil() and Poco::UUID::isNil() have been renamed to + Poco::UUID::null() and Poco::UUID::isNull(), respectively, to avoid + issues with Objective-C++ projects on Mac OS X and iOS where nil is + a system-provided macro. +- Crypto bugfixes: RSACipherImpl now pads every block of data, not just the + last (or last two). +- Improved Crypto testsuite by adding new tests +- Added new Visual Studio project configurations: debug_static_mt and release_static_mt + (linking with static runtime libraries). The existing configurations debug_static + and release_static have been renamed to debug_static_md and release_static_md, respectively. + The suffixes of the static libraries have also changed. The static_md configurations + now build libraries with suffixes md[d], while the libraries built by the static_mt + configurations have mt[d] suffixes. +- Added Visual Studio project files for 64-bit builds. +- Added Visual Studio 2010 project files. +- Removed the use of local static objects in various methods due to + their construction not being threadsafe (and thus leading to + potential race conditions) on Windows/Visual C++. +- Fixed some warning on 64-bit Windows builds. +- The name of the Data connector libraries have changed. They are now + named PocoDataMySQL, PocoDataODBC and PocoDataSQLite. +- fixed SF# 3125498: Linux NetworkInterface::list() doesn't return IPv6 IPs +- fixed SF# 3125457: IPv6 IPAddress tests are wrong +- Added initialization functions for the NetSSL_OpenSSL and Crypto libraries. + These should be called instead of relying on automatic initialization, + implemented with static initializer objects, as this won't work with + statically linked executables (where the linker won't include the + static initializer object). + The functions are Poco::Crypto::initializeCrypto(), Poco::Crypto::uninitializeCrypto(), + Poco::Net::initializeSSL() and Poco::Net::uninitializeSSL(). + Applications using Crypto and/or NetSSL should call these methods appropriately at + program startup and shutdown. + Note: In release 1.3.6, similar functions have been added to the Net library. + + +Release 1.3.6p2 (2010-01-15) +============================ + +- fixed an issue in the Windows implementation Poco::RWLock, where + tryReadLock() sometimes would return false even if no writers + were using the lock (fix contributed by Bjrn Carlsson) +- added Poco::Environment::libraryVersion(). +- fixed SF# 2919461: Context ignores parameter cypherList +- removed an unused enum from RSACipherImpl.cpp (Crypto) +- integrated a new expat patch for CVE-2009-3560. +- fixed SF# 2926458: SSL Context Problem. The Poco::Net::Context + class now makes sure that OpenSSL is properly initialized. +- updated iPhone build configuration (contributed by Martin York) +- fixed SF# 1815124 (reopened): XML Compile failed on VS7.1 with + XML_UNICODE_WCHAR_T +- fixed SF# 2932647: FTPClientSession::getWorkingDirectory() returns a bad result + + +Release 1.3.6p1 (2009-12-21) +============================ + +- added support for using external zlib, pcre, expat and sqlite3 instead of + bundled ones (-DPOCO_UNBUNDLED, configure --unbundled) +- fixed SF# 2911407: Add sh4 support +- fixed SF# 2912746: RSAKey::EXP_LARGE doesn't work +- fixed SF# 2904119: abstractstrategy uses std::set but do not includes it +- fixed SF# 2909946: localtime NULL pointer +- fixed SF# 2914986: potential expat DoS security issues (CVE-2009-3560 and CVE-2009-3720) +- fixed SF# 2916305: SSL Manager crashes +- fixed SF# 2903676: Tuple TypeHander does not handle composites. + + +Release 1.3.6 (2009-11-24) +========================== + +- added Environment::processorCount() +- added POCO_VERSION macro to Poco/Foundation.h +- fixed SF# 2807527: Poco::Timer bug for long startInterval/periodic interval +- fixed a bug similar to SF# 2807527 in Poco::Util::Timer. +- fixed SF# 2795395: Constructor doesn't treat the params "key" and "iv" +- fixed SF# 2804457: DateTime::checkLimit looks wrong +- fixed SF# 2804546: DateTimeParser requires explicit RFC1123 format +- added ReleaseArrayPolicy to Poco::SharedPtr +- upgraded to SQLite 3.6.20 +- fixed SF# 2782709: Missing semicolons in "Logger.h" convenience +- fixed SF# 2526407: DefaultStrategy.h ++it instead of it++ in a loop +- fixed SF# 2502235: Poco STLPort patch +- fixed SF# 2186643: Data::Statement::reset() not implemented in 1.3.3 +- fixed SF# 2164227: Allow File opened read only by FileInputSteam to be writable +- fixed SF# 2791934: use of char_traits::copy in BufferedStreamBuf::underflow +- fixed SF# 2807750: Support additional SQL types in SQLite +- fixed documentation bugs in Timed/PriorityNotificationQueue +- fixed SF# 2828401: Deadlock in SocketReactor/NotificationCenter (also fixes patch# 1956490) + NotificationCenter now uses a std::vector internally instead of a std::list, and the mutex is + no longer held while notifications are sent to observers. +- fixed SF# 2835206: File_WIN32 not checking aganist INVALID_HANDLE_VALUE +- fixed SF# 2841812: Posix ThreadImpl::sleepImpl throws exceptions on EINTR +- fixed SF# 2839579: simple DoS for SSL TCPServer, HTTPS server + No SSL handshake is performed during accept() - the handshake is delayed until + sendBytes(), receiveBytes() or completeHandshake() is called for the first time. + This also allows for better handshake and certificate validation when using + nonblocking connections. +- fixed SF# 2836049: Possible handle leak in FileStream + If sync() fails, close() now simply set's the stream's bad bit. + In any case, close() closes the file handle/descriptor. +- fixed SF# 2814451: NetSSL: receiveBytes crashes if socket is closed +- added a workaround for Vista service network initialization issue + (an Windows service using the Net library running under Vista will + crash in the call to WSAStartup() done in NetworkInitializer). + Workaround is to call WSAStartup() in the application's main(). + Automatic call to WSAStartup() in the Net library can now be disabled + by compiling Net with -DPOCO_NET_NO_AUTOMATIC_WSASTARTUP. Also + the new Poco::Net::initializeNetwork() and Poco::Net::uninitializeNetwork() + functions can be used to call WSAStartup() and WSACleanup(), respectively, + in a platform-independent way (on platforms other than Windows, these + functions will simply do nothing). +- added VCexpress build script support (contributed by Jolyon Wright) +- fixed SF# 2851052: Poco::DirectoryIterator copy constructor is broken +- fixed SF# 2851197: IPAddress ctor throw keyword missing +- added Poco::ProtocolException +- PageCompiler improvements: new tags, support for buffered output, etc. +- better error reporting in Data MySQL connector (patch #2881270 by Jan "HanzZ" Kaluza) +- fixed SF# 1892462: FTPClient:Choose explicitely between EPSV and PASV +- fixed SF# 2806365: Option for PageCompiler to write output to different dir +- fixed a documentation bug (wrong sample code) in Process::launch() documentation +- added --header-output-dir option to PageCompiler +- fixed SF# 2849144: Zip::Decompress notifications error +- SAXParser has a new feature: "http://www.appinf.com/features/enable-partial-reads". + See ParserEngine::setEnablePartialReads() for a description of what this does. +- fixed SF# 2876179: MySQL Signed/Unsigned value bug +- fixed SF# 2877970: possible bug in timer task +- fixed SF# 2874104: wrong parsing empty http headers +- fixed SF# 2860694: Incorrect return code from SecureStreamSocketImpl::sendBytes +- fixed SF# 2849750: Possible bug with XMLWriter? +- added MailMessage::encodeWord() to support RFC 2047 word encoded + mail header fields when sending out mail containing non-ASCII + characters. +- fixed SF# 2890975: SMTPClientSession bug with 7BIT encoding +- fixed an issue with retrieving the value of socket options on Windows 7. + Before obtaining the value of a socket, we now initialize the variable receiving the + socket option value to zero. +- fixed SF# 2836141: Documentation errors +- fixed SF# 2864232: Socket::select() does not detect closed sockets on windows +- fixed SF# 2812143: Socket::select() should check socket descriptors... +- fixed SF# 2801750: NetworkInterface forName returns wrong subnetMask +- fixed SF# 2816315: Problem with POSIX Thread::sleepImpl +- fixed SF# 2795646: IPv6 address parsing bug +- fixed #0000092: ServerApplication::waitForTerminationRequest(), SIGINT and GDB. + Poco::Util::ServerApplication::waitForTerminationRequest() no longer registers a + signal handler for SIGINT if the environment variable POCO_ENABLE_DEBUGGER + is defined. +- fixed SF# 2896070: Poco::Net::Context with non-ASCII paths +- added Unicode Surrogate support to Poco::UTF16Encoding. + See Poco::TextEncoding::queryConvert() and Poco::TextEncoding::sequenceLength() + for how this is implemented. Contributed by Philippe Cuvillier. +- fixed SF# 2897650: [branch 1.3.6] Net.SocketAddress won't compile for CYGWIN +- fixed SF# 2896161: Building on Windows fails when basedir has space in it +- fixed SF# 2864380: Memory leak when using secure sockets +- NetSSL_OpenSSL: the SSL/TLS session cache is now disabled by default and + can be enabled per Context using Poco::Net::Context::enableSessionCache(). +- fixed SF# 2899039: Wrong DST handling in LocalDateTime +- added RWLock::ScopedReadLock and RWLock::ScopedWriteLock (contributed by Marc Chevrier) +- added Thread::TID type, as well as Thread::tid() and Thread::currentTid() to obtain the native + thread handle/ID +- added Zip file comment support +- On Windows, Poco::SharedLibrary::load() now uses LoadLibraryEx instead of LoadLibrary + and uses the LOAD_WITH_ALTERED_SEARCH_PATH if an absolute path is specified. This will + add the directory containing the library to the search path for DLLs that the + loaded library depends upon. +- Mac OS X build settings now match those used by default Xcode projects, making linking the + POCO libs to Xcode projects easier +- Replaced use of std::valarray in Poco::Net::ICMPEventArgs with std::vector due to issues with + std::valarray together with STDCXX debug mode on OS X + + +Release 1.3.5 (2009-05-11) +========================== + +- fixed SF# 2779410: Poco::Data::ODBC::HandleException impovement +- fixed wrong exception text for Poco::UnhandledException +- Fixed a problem with SSL shutdown that causes clients (web browsers) + to hang when the server attempts to perform a clean SSL shutdown. We now call + SSL_shutdown() once, even if the shutdown is not complete after the first call. +- added Poco::Crypto::X509Certificate::save() +- fixed a bug in Poco::Zip::Decompress that results in wrong paths for extracted files +- fixed a bug in Poco::Zip::ZipManipulator where the Zip file was opened in text format + on Windows. +- added Poco::Crypto::X509Certificate::issuedBy() to verify certificate chain. +- fixed 0000089: Thread::sleep() on Linux is extremely inaccurate +- added methods to extract the contents of specific fields from the + subject and issuer distinguished names of a certificate. + + +Release 1.3.4 (2009-04-21) +========================== + +- fixed SF# 2611804: PropertyFileConfiguration continuation lines +- fixed SF# 2529788: ServerApplication::beDaemon() broken +- fixed SF# 2445467: Bug in Thread_WIN32.cpp +- Improved performance of HTTP Server by removing some + string copy operations +- fixed SF# 2310735: HTTPServer: Keep-Alive only works with send() +- fixed appinf.com IP address in Net testsuite +- fixed RFC-00188: NumberFormatter and float/double numbers +- added --pidfile option to ServerApplication on Unix +- fixed SF# 2499504: Bug in Win32_Thread when using from dll (fixed also for POSIX threads) +- fixed SF# 2465794: HTTPServerRequestImpl memory leak +- fixed SF# 2583934: Zip: No Unix permissions set +- the NetSSL_OpenSSL library has been heavily refactored +- added NumberFormatter::append*() and DateTimeFormatter::append() functions +- use NumberFormatter::append() and DateTimeFormatter::append() instead of format() where + it makes sense to gain some performance +- added system.dateTime and system.pid to Poco::Util::SystemConfiguration +- added %F format specifier (fractional seconds/microseconds) to DateTimeFormatter, + DateTimeParser and PatternFormatter. +- fixed SF# 2630476: Thread_POSIX::setStackSize() failure with g++ 4.3 +- fixed SF# 2679279: Handling of -- option broken +- added compile options to reduce memory footprint of statically linked applications + by excluding various classes from automatically being linked. + See the POCO_NO_* macros in Poco/Config.h. +- fixed SF# 2644940: on Windows the COMPUTER-NAME and the HOSTNAME can be different +- added DNS::hostName() function +- added build configuration for iPhone (using Apple's SDK) +- basic support for AIX 5.x/xlC 8 +- fixed a bug resulting in a badly formatted exception message with IOException + thrown due to a socket-related error +- fixed SF# 2644718: NetworkInterface name conflict in MinGW +- added a missing #include to CryptoTransform.h +- fixed SF# 2635377: HTTPServer::HTTPServer should take AutoPtr +- replaced plain pointers with smart pointers in some interfaces +- upgraded to sqlite 3.6.13 +- improved Data::SQLite error reporting +- Poco::Glob now works with UTF-8 encoded strings and supports case-insensitive comparison. + This also fixes SF# 1944831: Glob::glob on windows should be case insensitve +- added Twitter client sample to Net library +- Fixed SF# 2513643: Seg fault in Poco::UTF8::toLower on 64-bit Linux +- Poco::Data::SessionPool: the janitor can be disabled by specifying a zero idle time. +- added Poco::Data::SessionPool::customizeSession() +- added support for different SQLite transaction modes (DEFERRED, IMMEDIATE, EXCLUSIVE) +- fixed a few wrong #if POCO_HAVE_IPv6 in the Net library +- added support for creating an initialized, but unconnected StreamSocket. +- added File::isDevice() +- added family() member function to SocketAddress, +- Data::SQLite: added support for automatic retries if the database is locked +- XMLConfiguration is now writable +- fixed an IPv6 implementation for Windows bug in HostEntry +- Timer class improvement: interval between callback is no longer influenced by the + time needed to execute the callback. +- added PriorityNotificationQueue and TimedNotificationQueue classes to Foundation. + These are variants of the NotificationQueue class that support priority and + timestamp-tagged notifications. +- added Poco::Util::Timer class. This implements a timer that can schedule different + tasks at different times, using only one thread. +- the signatures of Poco::NotificationQueue and Poco::NotificationCenter member functions + have been changed to accept a Poco::Notification::Ptr instead of Poco::Notification* + to improve exception safety. This change should be transparent and fully backwards + compatible. The signature of the methods returning a Poco::Notification* have not been + changed for backwards compatibility. It is recommended, that any Notification* obtained + should be immediately assigned to a Notification::Ptr. +- SQLite::SessionImpl::isTransaction() now uses sqlite3_get_autocommit() to find out + about the transaction state. +- refactored Crypto library to make it independent from NetSSL_OpenSSL. +- added support for RSA-MD5 digital signatures to Crypto library. +- removed SSLInitializer from NetSSL library (now moved to Crypto library) +- added build configs for static libraries to Crypto library +- OpenSSL now depends on Crypto library (which makes more sense than + vice versa, as it was before). Poco::Net::X509Certificate is now + a subclass of Poco::Crypto::X509Certificate (adding the verify() + member function) and the Poco::Net::SSLInitializer class was + moved to Poco::Crypto::OpenSSLInitializer. +- added build configs for static libraries to Zip +- added batch mode to CppUnit::WinTestRunner. + WinTestRunnerApp supports a batch mode, which runs the + test using the standard text-based TestRunner from CppUnit. + To enable batch mode, start the application with the "/b" + or "/B" command line argument. Optionally, a path to a file + where the test output will be written to may be given: + "/b:" or "/B:". + When run in batch mode, the exit code of the application + will denote test success (0) or failure (1). +- testsuites now also work for static builds on Windows +- The IPv6 support for Windows now basically works (Net library compiled with POCO_HAVE_IPv6) +- fixed a potential error when shutting down openssl in a statically linked application +- added static build configs to Data library +- added Poco::AtomicCounter class, which uses OS-specific APIs for atomic (thread-safe) + manipulation of counter values. +- Poco::RefCountedObject and Poco::SharedPtr now use Poco::AtomicCounter for + reference counting +- fixed SF# 2765569: LoadConfiguration failing from current directory + + +Release 1.3.3p1 (2008-10-09) +============================ + +- Fixed SF# 2153031: 1.3.3 Crypto won't compile on 64-bit Linux +- Fixed a warning in MySQL connector +- Updated README +- The global Makefile in the Zip archive is no longer broken + + +Release 1.3.3 (2008-10-07) +========================== + +- Threads now have optional user-settable stack size (if the OS supports that feature) +- Events now support simplified delegate syntax based on delegate function template. + See Poco::AbstractEvent documentation for new syntax. +- Cache supports new access expire strategy. +- Upgraded to SQLite 3.6.2 +- Upgraded to PCRE 7.8 +- added HttpOnly support to Poco::Net::HTTPCookie +- NetworkInterface now has displayName() member (useful only on Windows) +- Poco::Util::WinRegistryKey now has a read-only mode +- Poco::Util::WinRegistryKey::deleteKey() can now recursively delete registry keys +- Poco::File::created() now returns 0 if the creation date/time is not known, as + it's the case on most Unix platforms (including Linux). + On FreeBSD and Mac OS X, it returns the real creation time. +- Time interval based log file rotation (Poco::FileChannel) now works + correctly. Since there's no reliable and portable way to find out the creation + date of a file (Windows has the tunneling "feature", most Unixes don't provide + the creation date), the creation/rotation date of the log file is written into + the log file as the first line. +- added Environment::nodeId() for obtaining the Ethernet address of the system + (this is now also used by UUIDGenerator - the corresponding code from UUIDGenerator + was moved into Environment) +- added a release policy argument to SharedPtr template +- Socket::select() will no longer throw an InvalidArgumentException + on Windows when called with no sockets at all. If all three socket + sets are empty, Socket::select() will return 0 immediately. +- SocketReactor::run() now catches exceptions and reports them via + the ErrorHandler. +- SocketReactor has a new IdleNotification, which will be posted when + the SocketReactor has no sockets to handle. +- added referenceCount() method to Poco::SharedPtr. +- POCO now builds with GCC 4.3 (but there are some stupid warnings: + "suggest parentheses around && within ||". +- Solution and project files for Visual Studio 2008 are included +- The Zip library is now officially part of the standard POCO release. +- The Crypto library (based on OpenSSL) has been added. The original code + was kindly contributed by Ferdinand Beyer. +- A Data Connector to MySQL, contributed by Sergey Kholodilov, is now part + of the POCO release. +- fixed SF# 1859738: AsyncChannel stall +- fixed SF# 1815124: XML Compile failed on VS7.1 with XML_UNICODE_WCHAR_T +- fixed SF# 1867340: Net and NetSSL additional dependency not set - ws2_32.lib +- fixed SF# 1871946: no exception thrown on error +- fixed SF# 1881113: LinearHashTable does not conform to stl iterators +- fixed SF# 1899808: HTMLForm.load() should call clear() first +- fixed SF# 2030074: Cookie problem with .NET server +- fixed SF# 2009707: small bug in Net/ICMPPacketImpl.cpp +- fixed SF# 1988579: Intel Warning: invalid multibyte character sequence +- fixed SF# 2007486: Please clarify license for Data/samples/* +- fixed SF# 1985180: Poco::Net::DNS multithreading issue +- fixed SF# 1968106: DigestOutputStream losing data +- fixed SF# 1980478: FileChannel loses messages with "archive"="timestamp" +- fixed SF# 1906481: mingw build WC_NO_BEST_FIT_CHARS is not defined +- fixed SF# 1916763: Bug in Activity? +- fixed SF# 1956300: HTTPServerConnection hanging +- fixed SF# 1963214: Typo in documentation for NumberParser::parseFloat +- fixed SF# 1981865: Cygwin Makefile lacks ThreadTarget.cpp +- fixed SF# 1981130: pointless comparison of unsigned integer with zero +- fixed SF# 1943728: POCO_APP_MAIN namespace issue +- fixed SF# 1981139: initial value of reference to non-const must be an lvalue +- fixed SF# 1995073: setupRegistry is broken if POCO_WIN32_UTF8 enabled +- fixed SF# 1981125: std::swap_ranges overloading resolution failed +- fixed SF# 2019857: Memory leak in Data::ODBC Extractor +- fixed SF# 1916761: Bug in Stopwatch? +- fixed SF# 1951443: NetworkInterface::list BSD/QNX no netmask and broadcast addr +- fixed SF# 1935310: Unhandled characters in Windows1252Encoding +- fixed SF# 1948361: a little bug for win32 +- fixed SF# 1896482: tryReadLock intermittent error +- workaround for SF# 1959059: Poco::SignalHandler deadlock + the SignalHandler can now be disabled globally by adding a + #define POCO_NO_SIGNAL_HANDLER to Poco/Config.h +- fixed SF# 2012050: Configuration key created on read access +- fixed SF# 1895483: PCRE - possible buffer overflow +- fixed SF# 2062835: Logfile _creationDate is wrong +- fixed SF# 2118943: out_of_bound access in Poco::Data::BLOB:rawContent +- fixed SF# 2121732: Prevent InvalidArgumentException in SocketReactor +- fixed SF# 1891132: Poco::Data::StatementImpl::executeWithLimit is not correct +- fixed SF# 1951604: POCO refuses to compile with g++ 4.3.0 +- fixed SF# 1954327: CYGWIN's pthread does not define PTHREAD_STACK_MIN +- fixed SF# 2124636: Discrepancy between FileWIN32(U)::handleLastError +- fixed SF# 1558300: MinGW/MSYS Builds +- fixed SF# 2123266: Memory leak under QNX6 with dinkum library +- fixed SF# 2140411: ScopedUnlock documentation bug +- fixed SF# 2036460: UUID regression tests are failing on Linux with g++ 4.3.1 +- fixed SF# 2150438: Tuple TypeHandler position increment size is wrong + + +Release 1.3.2 (2008-02-04) +========================== + +Foundation, XML, Net, Util: +- added POCO_NO_SHAREDMEMORY to Config.h +- POCO_NO_WSTRING now really disables all wide string related calls +- added template specialization for string hashfunction (performance) +- XML parser performance improvements (SAX parser is now up to 40 % faster +- added parseMemoryNP() to XMLReader and friends +- URIStreamOpener improvement: redirect logic is now in URIStreamOpener. + this enables support for redirects from http to https. +- added support for temporary redirects and useproxy return code +- added getBlocking() to Socket +- added File::isHidden() +- better WIN64 support (AMD64 and IA64 platforms are recognized) +- added support for timed lock operations to [Fast]Mutex +- SharedLibrary: dlopen() is called with RTLD_GLOBAL instead of RTLD_LOCAL + (see http://gcc.gnu.org/faq.html#dso) +- Poco::Timer threads can now run with a specified priority +- added testcase for SF# 1774351 +- fixed SF# 1784772: Message::swap omits _tid mem +- fixed SF# 1790894: IPAddress(addr,family) doesn't fail on invalid address +- fixed SF# 1804395: Constructor argument name wrong +- fixed SF# 1806807: XMLWriter::characters should ignore empty strings +- fixed SF# 1806994: property application.runAsService set too late +- fixed SF# 1828908: HTMLForm does not encode '+' +- fixed SF# 1831871: Windows configuration file line endings not correct. +- fixed SF# 1845545: TCP server hangs on shutdown +- fixed SF# 1846734: Option::validator() does not behave according to doc +- fixed SF# 1856567: Assertion in DateTimeParser::tryParse() +- fixed SF# 1864832: HTTP server sendFile() uses incorrect date +- HTTPServerResponseImpl now always sets the Date header automatically + in the constructor. +- fixed SF# 1787667: DateTimeFormatter and time related classes + (also SF# 1800031: The wrong behavior of time related classes) +- fixed SF# 1829700: TaskManager::_taskList contains tasks that never started +- fixed SF# 1834127: Anonymous enums in Tuple.h result in invalid C++ +- fixed SF# 1834130: RunnableAdapter::operator= not returning a value +- fixed SF# 1873924: Add exception code to NetException +- fixed SF# 1873929: SMTPClientSession support for name in sender field +- logging performance improvements (PatternFormatter) +- fixed SF# 1883871: TypeList operator < fails for tuples with duplicate values +- CYGWIN build works again (most things work but Foundation testsuite still fails) +- new build configuration for Digi Embedded Linux (ARM9, uclibc) +- new build configuration for PowerPC Linux + +Data: +- fixed SF# 1724388: ODBC Diagnostics +- fixed SF# 1804797: ODBC Statement multiple execution fails +- fixed SF# 1803435: SessionPool onJanitorTimer called too often? +- fixed SF# 1851997: Undefined Behavior in ODBC::Preparation +- updated SQlite to 3.5.5 + + +Release 1.3.1 (2007-08-08) +========================== + +Foundation, XML, Net, Util: +- DynamicAny fixes for char conversions +- fixed SF# 1733362: Strange timeout handling in SocketImpl::poll and Socket::select +- fixed SF patch# 1728912: crash in POCO on Solaris +- fixed SF# 1732138: Bug in WinRegistryConfiguration::getString +- fixed SF# 1730790: Reference counting breaks NetworkInterface::list() +- fixed SF# 1720733: Poco::SignalHandler bug +- fixed SF# 1718724: Poco::StreamCopier::copyStream loops forever +- fixed SF# 1718437: HashMap bug +- changed LinearHashTable iterator implementation. less templates -> good thing. +- fixed SF# 1733964: DynamicAny compile error +- UUIDGenerator: fixed infinite loop with non ethernet interfaces +- updated expat to 2.0.1 +- fixed SF# 1730566: HTTP server throws exception +- Glob supports symbolic links (additional flag to control behavior) +- fixed a problem with non blocking connect in NetSSL_OpenSSL + (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=441&topics_threshold=0&topics_offset=29&topics_sort_mode=commentDate_desc&topics_find=&forumId=6) +- fixed a problem with SSL renegotiation in NetSSL_OpenSSL (thanks to Sanjay Chouksey for the fix) +- fixed SF# 1714753: NetSSL_OpenSSL: HTTPS connections fail with wildcard certs +- HTTPClientSession: set Host header only if it's not already set (proposed by EHL) +- NetworkInterface (Windows): Loopback interface now has correct netmask; + interfaces that do not have an IP address assigned are no longer reported. +- Fixes for VC++ W4 warnings from EHL +- SharedMemory: first constructor has an additional "server" parameter + Setting to true does not unlink the shared memory region when the SharedMemory object is destroyed. (Alessandro Oliveira Ungaro) +- fixed SF# 1768231: MemoryPool constructor + +Data: +- fixed SF# 1739989: Data::RecordSet::operator = () (in 1.3 branch) +- fixed SF# 1747525: SQLite, Transactions and Session Pooling (in 1.3 branch) +- upgraded to SQLite 3.4.1 + + +Release 1.3.0 (2007-05-07) +========================== + +- added HashMap, HashSet classes +- the HashFunction class template has been changed in an incompatible + way. The member function formerly named hash() is now the function + call operator. If you have defined your own HashFunction classes, + you have to update your code. Sorry for the inconvenience. +- added Poco::Tuple +- added AbstractCache::getAllKeys(), improved performance of the get operation +- fixed AbstractCache::size() to do cache replacement before returning the size +- added additional match() method to RegularExpression and documented the fact that the simple + match() method internally sets RE_ANCHORED and RE_NOTEMPTY. +- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches +- added operator ! to AutoPtr and SharedPtr +- Buffer uses std::size_t instead of int +- Exception::what() now returns exception name instead of message +- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds) +- added Environment::get(name, defaultValue); +- Foundation.h now includes Config.h at the very beginning. +- added replace() and replaceInPlace() to Poco/String.h +- added AutoPtr::assign() and SharedPtr::assign() +- added operator () to AbstractEvent +- gcc Makefiles now strip release builds +- Void now has a == and != operator +- Base64Encoder and HexBinaryEncoder now support an unlimited line length + (no newlines written), by specifying a line length of 0 +- NumberParser now has stricter syntax requirements: garbage following a number leads to a SyntaxException + (Thanks to phireis@gmail.com for the suggestion) +- fixed SF# 1676830: Don't use -rpath in libraries +- fixed SF# 1670279: AbstractConfiguration::unckeckedExpand crash +- fixed a warning in Hashtable +- HTTPClientSession now uses a keepAliveTimeout for better persistent connection handling +- added DateTime::makeUTC() and DateTime::makeLocal() +- added another constructor to LocalDateTime +- POCO_WIN32_UTF8 is ignored on non-Windows platforms +- fixed a timeout bug (with NetSSL) in HTTPSession +- AsyncChannel is automatically opened with first log() +- minor fix to NotificationQueue sample (reported by Laszlo Keresztfalvi) +- added File::canExecute() and File::setExecutable() +- added SharedMemory class to Foundation +- added FileStream, FileInputStream, FileOutputStream to Foundation +- added NodeAppender class to XML for faster DOM tree creation +- HTTPServerRequest and HTTPServerResponse are now abstract base classes, + actual functionality has moved into HTTPServerRequestImpl and + HTTPServerResponseImpl. This allows us to plug other HTTP servers + into POCO. +- added DynamicAny class to Foundation +- replaced std::fstream with Poco::FileStream across POCO. +- added Poco::Checksum class to Foundation. +- fixed SF# 1700811: conflict in threadpool +- bugfix: File::moveTo() does not work if the target is a directory +- File::copyTo() and File::moveTo() now copy/move directories recursively +- refactored NetworkInterface (now using pimpl idiom); + added broadcast address and netmask support +- fixed SF# 1688982: POP3ClientSession fails when retrieving mails with attachment +- fixed SF# 1655104: Enhance Poco::TextEncoding functionality +- added Poco::Condition class, implementing a POSIX-style condition variable +- fixed a bug in File::create() for Windows +- added poco_static_assert (imported from boost) +- added Thread::join(timeout) and Thread::tryJoin() +- ClassLoader support for named manifests (see ClassLibrary.h - POCO_EXPORT_NAMED_MANIFEST) +- POCO_WIN32_UTF8: UNICODE #define is no longer required (and no longer + automatically defined in POCO_WIN32_UTF8 is defined) +- PCRE: upgraded to PCRE version 7.1 +- fixed SF# 1682162: Suggestion on thread priority +- fixed SF# 1613460: MSVC/STLPort warnings +- fixed SF# 1709358: Format double percent std::String bug +- added WindowsConsoleChannel class to Foundation +- added AutoPtr::unsafeCast<>() and SharedPtr::unsafeCast<>() +- fixed SF# 1708552: Failed to build on arm and powerpc +- fixed SF$ 1708529: Failed to build using GCC 4.3: missing #includes +- fixed SF# 1710053: LogStream proposal +- fixed a bug involving empty root directories in Windows DirectoryIterator implementation + (see http://www.appinf.com/poco/wiki/tiki-view_forum_thread.php?comments_parentId=343&forumId=6) +- robustness improvements to ActiveMethod - removed the opportunity for memory leaks in + case something goes while invoking the method +- made C library usage more C++-like - use C++ headers (e.g. ) instead of + C ones (). Also, use C library functions in std namespace. +- added Unicode and UTF8String for improved Unicode support. + The Unicode class can be used to obtain the Unicode properties of a character. + The UTF8 class provides case insensitive comparison and case conversion + for UTF-8 encoded strings. +- added UnWindows.h header file, replaced all #include with #include "Poco/UnWindows.h". + See the Poco/UnWindows.h header file for a rationale and explanations. +- fixed SF# 1713820: StreamSocketImpl::sendBytes sends too many bytes +- File::copyTo(): on Windows, the copy now always has the read-only flag reset, to be consistent + with other platforms. +- With Microsoft Visual C++, the necessary POCO libraries are now implicitly linked when + the corresponding header files are included (#pragma comment(lib, "PocoXYZ.lib") is used). + To disable this, compile POCO with the preprocessor symbol POCO_NO_AUTOMATIC_LIBS #define'd + (see Poco/Foundation.h and Poco/Config.h). +- The Visual Studio project files for the POCO libraries now include configurations + for building static libraries. + + +Release 1.2.9 (2007-02-26) +========================== + +- fixed a formatting problem in Util::HelpFormatter +- HTTPClientSession::sendRequest() now attempts to send the complete request in one network packet. +- improved network performance of ChunkedOutputStream: chunk size and chunk data + are sent in one network packet if possible +- fixed SF# 1655035: Wrong expires field calculation in HTTPCookie + (thanks to Sergey N. Yatskevich for this and other fixes) +- fixed SF# 1655049: Fix discrepancy of a code to the description +- fixed SF# 1655170: Poco::Timezone::standardName() problem on WIN32 +- fixed SF# 1629095: POCO_WIN32_UTF8 problem + There is a new function Path::transcode() that can be used to convert a path (or any other string) + from UTF-8 to the current Windows code page. This string can the be passed as a filename + to an fstream or fopen(). This function only does the conversion on Windows, + and only, if POCO_WIN32_UTF8 is defined. Otherwise, it simply returns the unmodified argument. +- fixed SF# 1659607: Probably a bug in Poco::Net::DialogSocket +- HTTPServer network performance improvement: responses that fit into a single network packet + sent with HTTPServerResponse::sendFile() or the new HTTPServerResponse::sendBuffer() are + sent in only one packet. +- added HTTPServerResponse::sendBuffer() +- HTTPServer now sends a Bad Request response if it fails to parse the HTTP request header. +- HTTPServer now sends an Internal Server Error response if the request handler throws an + exception prior to sending a response.- enabled TCP_NODELAY per default on TCPServer/HTTPServer +- fixed a bug in HTTP persistent connection handling + (server does not send Connection: close when it reaches connection maximum) +- HTMLForm - POST submission of URL encoded form no longer uses chunked transfer encoding + (thus improving interoperability with certain web servers) +- integrated Environment.cpp from Main (missing get(var, default)) +- added missing AutoPtr include to Util/Application + (and using Poco::AutoPtr is no longer necessary for POCO_APP_MAIN macro) +- fixed SF# 1635420: Per Regents of the University of Calfornia letter, + remove advertising from BSD licensed parts +- fixed SF# 1633133: MultipartWriter writes superluous CR-LF at beginning + + +Release 1.2.8 (2007-01-04) +========================== + +- fixed SF# 1613906: Util/Application.h and GCC 3.3 +- fixed a byte order issue (failed test) in IPv6 address formatting +- fixed SF# 1626640: Poco::Net::SocketReactor bug +- fixed client side chunked transfer encoding handling +- fixed client side persistent connection handling +- fixed SF# 1623536: HTTP Server Chunked Transfer Encoding Bug +- improved HTTP server exception text +- fixed SF# 1616294: KeepAlive HTTPServerSession patch +- fixed SF# 1616296: Trivial Poco::TaskCustomNotification patch +- fixed SF# 1619282: PurgeStrategy bug fix +- fixed SF# 1620855: Format problem + there is a new format specifier %z for std::size_t, as well as a new + flag ? for %d, %i, %o, %x meaning any signed or unsigned integer + + +Release 1.2.7 (2006-12-07) +========================== + +- Poco::File: fixed root directory handling +- fixed UUIDGenerator documentation +- clarified Application::setUnixOptions() documentation +- fixes for issue [SOAPLite Transport 0000023]: SOAP Transport Listener should be able to use existing HTTPServer instance +- fixing mantis issues 13, 14, 15, 16, 17, 18, 19, 21 +- fixed SF# 1597022: Signed/unsigned warning in StringTokenizer::operator[] +- fixed SF# 1598601: Message::op= leaks +- fixed SF# 1605960: PatternFormatter crashes on custom property +- fixed SF# 1605950: Memory leak in Logger sample code +- fixed SF# 1591635: Copy Paste Error in sample code +- fixed SF# 1591512: SMTPClientSession response stream +- fixed SF #1592776: LayeredConfiguration: getRaw should enumerate in reverse order +- SF Patch # 1599848 ] VS 2005 Util build fails +- Logger::dump() now uses std::size_t instead of int for buffer size +- LayeredConfiguration now supports a priority value for each configuration. + Also, it's possible to specify for each configuration added whether it + should be writeable. +- ServerApplication: cd to root directory only if running as a daemon +- added Message::swap() +- improvements to build system: + global Makefile has correct dependencies for samples + on Windows, samples build after libraries are ready + configure supports --no-wstring and --no-fpenvironment flags + build system supports POCO_FLAGS environment variable for compiler flags +- RemoteGen: fixed error handling for write protected files (SystemException) + fixing integral constant overflow messages with large cache expiration, m_ support for type serializers, + case-insensitive comparison added + + +Release 1.2.6 (2006-11-19) +========================== + +- added additional match() method to RegularExpression and documented the fact that the simple + match() method internally sets RE_ANCHORED and RE_NOTEMPTY. +- added ExpirationDecorator template. Decorates data types so that they can be used with UniqueExpireCaches +- added operator ! to AutoPtr and SharedPtr +- Buffer uses std::size_t instead of int +- added poco_ndc_dbg() macro (same as poco_ndc(), but only enabled in debug builds) +- Foundation.h now includes Config.h at the very beginning. +- added AutoPtr::assign() and SharedPtr::assign() +- added operator () to AbstractEvent +- gcc Makefiles now strip release builds +- documentation improvements + + +Release 1.2.5 (2006-10-23) +========================== + +- Improved LoggingConfigurator: channel creation and configuration is now a two-step process. + This means that the previous problems with PropertyFileConfiguration and IniFileConfiguration when referencing other channels are solved. +- improved options handling: better handling of (non) ambiguities. + If both an option named "help" and one named "helper" is specified, this no longer causes ambiguity errors. +- added check for duplicate option definition +- ThreadPool bugfix: fixed a crash that occurs on Linux multiprocessor machines + (caused by an thread unsafe string assignment corrupting the heap...) + (SF# 1575315) +- improved ThreadPool performance +- XML now compiles with -DXML_UNICODE_WCHAR_T (SF# 1575174) +- fixed SF# 1572757: HTML forms can have more than one key/value pair with the same name +- got rid of the dynamic casts in Events, Events/Cache: simpler/faster Delegate < operator, + prevents some rare dynamic casts error from occuring when using StrategyCollection with Caches +- improvements to Logger and LoggingConfigurator: + * added Logger::unsafeGet() + * added Logger::setProperty(loggerName, propertyName, value) + * LoggingConfigurator now correctly (re)configures existing Loggers + (prior to this change, if a Logger named "a.b.c" existed before + the LoggingConfigurator started its work, and the LoggingConfigurator + configured a Logger named "a.b", then "a.b.c" would not inherit + the new configuration). +- improvements to SplitterChannel and EventLogChannel configuration +- improved LoggingRegistry exception messages +- MessageHeader::read() is more liberal with malformed message headers. + This fixes problems with certain network cameras sending malformed HTTP headers. + + +Release 1.2.4 (2006-10-02) +========================== + +- some code beautifying and improvements to comments +- DOMParser now automatically sets FEATURE_NAMESPACE_PREFIXES +- fixed SF #1567051: DOMBuilder/DOMParser/NamespaceStrategy bug +- fixed SF #1567364: POCO_APP_MAIN +- added Document::getElementById() (two-argument) and getElementByIdNS() +- added another test for DOMParser +- added AutoPtr::isNull() (to be consistent with SharedPtr) +- this release again compiles on PA-RISC HP-UX systems with aCC +- added CMAKE support files contributed by Andrew J. P. Maclean + + +Release 1.2.3 (2006-09-14) +========================== + +- configure script now checks if (auto)selected configuration is supported +- fixed SF #1552904: NamedEvent bug? +- fixed SF #1552787: POCO not handling EINTR +- fixed SF #1552846: Random::~Random uses scalar delete +- fixed SF #1552987: TLSSlot should explicitly default-construct _value +- IPAddress no longer accepts an empty address string +- split up Observer.h into AbstractObserver.h and Observer.h +- added NObserver class template which supports an AutoPtr + argument for the notification callback +- changed EchoServer sample to use NObserver +- some Windows-specific files were missing in the tarballs + + +Release 1.2.2 (2006-09-01) +========================== + +- fixed SF # 1549973: NotificationCenter::hasObservers() returns wrong result +- fixed a memory leak in EchoServer sample +- fixed SocketReactor TimeoutNotification bug (SF #1549365, SocketNotifier::addObserver() incorrect behavior) +- fixed SF# 1549513: MultipartReader does not work with Unix-style linefeeds +- MailMessage and HTMLForm: processing of multipart messages will no longer fail if a PartHandler does not read all data from the part stream. +- added additional test case (Unix-style line ends) to MultipartReaderTest + + +Release 1.2.1 (2006-08-29) +========================== + +- fixed Config.h header (no more #undefs) + +Release 1.2.0 (2006-08-29) +========================== + +- DateTime fixes: Julian Day is no longer stored internally. + Times (hours, minutes, seconds, ...) are now always taken from an utcValue (if available) and not from the Julian day. + The Julian day is only used for calculating year, month and day (except when the Julian day is the only thing we have) + This helps us get rid of rounding errors that the Julian Day arithmetic introduced.- on Windows, UUIDGenerator no longer uses Netbios, but GetAdaptersInfo instead +- The main Makefile now has correct dependencies +- updated poco-doc.pl with latest version by Caleb Epstein +- fixed SF #1542722: InflatingInputStream: buffer error +- improved Windows UTF-8 support +- added Logger::names() +- added configure script and make install target +- XMLWriter bugfix: pretty-print bug with characters() and rawCharacters() +- improvements to build system: support builds outside of source tree +- added header doc conversion tool contributed by Caleb Epstein +- fixed SF #1542618 (build/config/Linux patch) +- bugfix: BinaryReader/BinaryWriter BOM is now 16 bits, as documented +- fixed SF #1542247 (Compiler warning from OptionCallback) +- fixed SF #1542253 (ServerApplication::handleOption doesn't call Application::handleOption) +- added Application::stopOptionsProcessing() +- updated samples +- Util::Application command line handling now supports: + * argument validation (Option::validator(); see Validator, IntValidator, RegExpValidator) + * binding of argument values to config properties (Option::binding()) + * callbacks for arguments (Option::callback()) + * checking of required parameters +- changed header file locations: + Foundation headers are now in Poco (#include "Poco/Foundation.h") + XML headers are now in Poco/XML, Poco/SAX and Poco/DOM (#include "Poco/XML/XML.h") + Util headers are now in Poco/Util (#include "Poco/Util/Util.h") + etc. + Unfortunately, this change will break existing code. However, fixing the code is + a matter of a few global search/replace operations and can be done quickly. + On the plus side, POCO is now a much better citizen when used with other + libraries. +- changed namespaces: + Foundation is now Poco + XML is now Poco::XML + Util is now Poco::Util + Net is now Poco::Net +- removed namespace macros +- fixed some warnings reported by gcc -Wall -Wextra +- fixed AutoPtr and LayeredConfiguration documentation +- improved StreamSocket::receiveBytes() doc +- added Pipe and PipeStream classes +- added support for I/O redirection (pipes) to Process::launch() +- added LogStream class (ostream interface to Logger) +- improved Makefiles (no more double-building if clean all is specified) +- added CppUnit and DateTime testsuite contributions by Andrew Marlow +- improved Cygwin and minimal MinGW support +- FileChannel: gzip compression if archived files now runs in a background thread (SF #1537481) +- POCO now compiles with large (64-bit) file support on Linux (SF #1536634) +- added format() function, which provides typesafe sprintf-like functionality (SF #1327621) +- added File::isLink() +- bugfix: dangling symbolic links in a directory no longer cause recursive remove to fail with file not found error +- added Void class (useful as argument to ActiveMethod) +- ActiveResult now supports exceptions +- bugfix: Timezone::utcOffset() and Timezone::dst() returned wrong values on Unix platforms (SF #1535428) +- added ActiveDispatcher class +- added ActiveStarter class, which is a policy used by ActiveMethod for starting methods +- ActiveRunnable moved to its own header file +- ThreadPool: added startWithPriority(), which allows for running threads with a different priority +- added error handling to dir sample +- added additional test case to HTTPServer test suite- HTMLForm: should now work with request methods other than POST and GET (all non-POST requests are treated the same as GET) +- clarified HTMLForm documentation +- HTMLForm bugfix: uploaded files no longer end up in value; PartHandler is called instead +- NameValueCollection: added get(name, defaultValue) +- added HTTPFormServer sample +- added Foundation::HashTable and SimpleHashTable +- added Net::HTTPSessionFactory +- improvements to AutoPtr and SharedPtr +- improvements to namespaces handling in XMLWriter +- Foundation Cache: fixed add implementation to match the docu: a 2nd add will now simply overwrite existing entries +- added DateTime::isValid() +- added Exception::rethrow() (virtual, must be overridden by all subclasses) +- Timer can now use a user-supplied ThreadPool +- added rethrow() to exception classes +- Net: made some constructors explicit +- Net: added SocketAddress constructor to HTTPClientSession +- Net: added HTTPSession::networkException() to check for exceptions swallowed by stream classes +- Net: added single string argument constructor to SocketAddress. +- Net: improved HTTPClientSession error handling (no more "Invalid HTTP version string" exceptions when the server prematurely closes the connection due to too much load) +- Net: improved HTTPSession error handling. Exceptions while sending and receiving data are stored for later retrieval and no longer get lost since streambufs swallow them. +- Net: added HTTPLoadTest sample +- fixed a bug when opening logfiles on Unix platforms causing an existing logfile to be truncated +- bugfix: log file purge intervals given in months did not work, due to a stupid typo +- added RawSocket and ICMP classes +- UUID: fixed a doc formatting bug +- NetworkInterface::list() now includes loopback interface on Windows (SF #1460309) +- made Exception::message() and Exception::nested() inline +- added Net::UnsupportedRedirectException +- HTTPStreamFactory throws an UnsupportedRedirectException if it encounters a redirect to https +- HTTP: fixed bad 100 Continue handling in client and server code +- added CONTRIBUTORS file + + +Release 1.1.2 (2006-07-07) +========================== + +- Changed license to Boost license +- DBlite and NetSSL have been removed from the Boost-licensed release. + Please contact Applied Informatics (info@appinf.com) if you're interested in them. + + +Release 1.1.1 (2006-04-03) +========================== + +- NetSSL_OpenSSL now supports separate certificate verification + settings for client and server. +- fixed SF #1460309 (enumerating network interfaces failed on 64bit Linux) +- TCPServer no longer crashes if accept() fails + + +Release 1.1.0 (2006-03-23) +========================== + +- events no longer require awkward += new syntax +- source code and documentation cleanups +- basic support for new compilers and platforms + + +Release 1.1b2 (2006-03-04) +========================== + +- made NetSSL threadsafe (added locking callbacks for OpenSSL) +- improved OpenSSL initialization (random generator seeding) +- various changes to improve compatibility with various platforms + + +Release 1.1b1 (2006-03-03) +========================== + +- New Events package in Foundation. The package supports C#-style event handling +- New Cache package in Foundation: a templates-based caching framework +- added Any class to Foundation +- added DBLite library +- fixed a memory leak with layered configurations in the application +- made POCO_DLL the default (unless POCO_STATIC is #defined) + It is no longer necessary to specify POCO_DLL in projects that use Poco + (SourceForge Patch #1408231 and Feature Request #1407575). +- added Buffer template class to Foundation +- added the UnicodeConverter utility class. This is mainly used for Windows Unicode support and probably of little use for anything else. +- added Path::resolve() +- added Windows Unicode support. This calls the Unicode variant of the Windows API functions. + For this to work, all strings must be UTF-8 encoded and POCO_WIN32_UTF8 must be defined in all compilation units. +- added StreamCopier::copyToString() +- added URIStreamOpener::unregisterStreamFactory() and new variants of URIStreamOpener::open() that also work with filesystem paths. + This fixes SourceForge Bug #1409064 and Feature Request #1409062. +- added NodeIterator::currentNodeNP() to XML library +- added some sanity checks to UTF8Encoding::convert() +- added NetSSL - SSL support for Net library, based on OpenSSL +- console output of processes launched with Process::launch() is now visible + + +Release 1.0.0 (2006-01-19) +========================== + +- removed unnecessary console output from ProcessTest +- documentation fixes + + +Release 1.0b2 (2006-01-16) +========================== + +- added ProcessHandle class +- Process::launch() now returns a ProcessHandle instead of a process ID. + This fixes a potential problem on Windows with Process::wait() when + the process terminates before wait() is called. +- added SplitterChannel::close() +- added Logger::destroy() +- added POP3ClientSession::deleteMessage() +- added test for Process::launch() +- documentation fixes + + +Release 1.0b1 (2006-01-09) +========================== + +- improved recognition of Windows paths in Path::parseGuess() +- added setCurrentLineNumber()/getCurrentLineNumber() to CountingStreamBuf +- improvememts to StreamTokenizer and Token; fixed documentation +- added a workaround for some strange istream behaviour with VS 2005 and FTPClientSessionTest +- improved exception/error reporting in cppunit +- added POP3ClientSession +- added Process::launch() and Process::wait() +- added Mail sample +- added MailStream and SMTPClientSession classes +- renamed some methods in DialogSocket to make them more general +- NullPartHandler has moved out of HTMLForm.cpp into a separate file +- Base64Encoder now always writes \r\n line ends +- MessageHeader::quote has an optional addition arg controlling the treatment of whitespace +- bugfix: MultipartReader had a problem with empty lines (\r\n sequences) in a part +- added MailMessage and MailRecipient classes +- added text encoding support for Windows-1252 codepage + + +Release 1.0a1 (2006-01-03) [internal] +===================================== + +- mediaType is used consistently to refer to a MIME media type (some occurences of contentType and mimeType have been replaced) +- moved MediaType::quote() to MessageHeader and made it public +- added MultipartWriter::stream() +- Renamed AttachmentSource to PartSource and AttachmentHandler to PartHandler +- SIGPIPE is always blocked in main thread on Unix systems +- added EchoServer sample +- fixed a bug in SocketImpl::setBlocking() - did exactly the opposite (value to ioctl was wrong) +- fixed a memory leak in NotificationQueue sample +- added comparison operators to Socket so that Sockets can be used as keys in maps +- added Socket::setBlocking() +- added StreamSocket::connectNB() (non-blocking connect) +- added Observer::accepts() +- added SocketReactor, SocketConnector and SocketAcceptor classes to support event-based socket programming +- NamespacePrefixesStrategy now uses expat's XML_SetReturnNSTriplet(). + The previously used separate namespace handling code has been removed. + This improves performance if NamespacePrefixesStrategy is used (both the n + amespaces and namespace-prefixes SAX2 features are used) +- upgraded expat to 2.0 pre-release (2005-12-27) snapshot +- added TeeInputStream and TeeOutputStream classes +- added download sample for URIStreamOpener +- renamed registerOpener() to registerFactory() in HTTPStreamFactory and FTPStreamFactory +- added LineEndingConverter streams +- added FTPClientSession +- code and documentation clean-up +- added DialogSocket class +- reorganized HTTP test suites +- added FTPClientSession and FTPStreamFactory +- added DialogSocket class + + +Release 0.96.1 (2005-12-28) +=========================== + +- fixed a memory leak caused by a bug in Microsoft's stream implementation (see the comment in Foundation/StreamUtil.h for an explanation) +- added samples for Net library +- added uptime() and startTime() to Util::Application +- added DateTimeFormatter::format() for Timespan +- added ErrorHandler class and better exception handling for threads +- added poco_debugger() and poco_debugger_msg() macros +- added project and solution files for Visual Studio 2005 (due to some bugs/leaks in Microsofts standard library - see + http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=e08bd793-3fef-40ff-adda-ed313e0eafcc + we do not recommend using this for production purposes) +- fixed two problems with out-of-range string iterator in Path (the testsuite triggered an assertion in VC++ 8.0) +- fixed mac line endings in a few files +- added a workaround to the class loader that fixes strange behavior with VC++ 8.0. There seems to be a problem with typeid() not returning a valid typeinfo under certain circumstances. +- added buffer allocator argument to buffered stream buffer templates +- added buffer pools to HTTP to reduce memory fragmentation and to improve performance +- added Net to Windows build.cmd script +- added swap() to various classes that already support assignment +- added a null pointer check in DOMWriter::writeNode() +- fixed documentation in BinaryWriter.h and BinaryReader.h +- added explicit support for network byte order to BinaryReader and BinaryWriter +- added basic support for FreeBSD (needs more testing) +- BinaryReader: renamed readRawData() to readRaw() to be consistent with BinaryWriter::writeRaw() +- added support for uppercase output to HexBinaryEncoder. +- added MediaType class +- added QuotedPrintableEncoder and QuotedPrintableDecoder classes +- renamed ObjectFactory to Instantiator. This should prevent the confusion caused by DynamicFactory and ObjectFactory. Sorry for the inconvenience if you are already using this. +- AttachmentSource::filename() now returns const string& +- added StringAttachmentSource +- replaced old-style C casts with C++ casts in NetworkInterface.cpp +- MutexImpl (WIN32): replaced InitializeCriticalSection with InitializeCriticalSectionAndSpinCount, which should increase performance on multiprocessor or multicore systems when many locks are used. +- fixed a problem with STLport 5.0 when compiling StreamTokenizer +- HTTPStreamOpener now also works with no-path URIs (like http://www.appinf.com) +- fixed wrong delete usage (plain delete instead of delete [] was used in a few cases) +- fixed a handle leak in WinTestRunner + + +Release 0.95.4 (2005-11-07) +=========================== + +- fixed #1348006 and #1348005 + + +Release 0.95.3 (2005-10-28) [internal] +====================================== + +- updated build scripts (patch #1339015) +- added support for AMD64 platforms (patch #1339015) +- MultipartWriter creates its own boundary if an empty string is passed in as boundary +- made MultipartWriter::createBoundary() public +- fixed wrong documentation for DateTimeFormat::HTTP_FORMAT +- added support for HTTP Basic authentication +- added support for HTTP Cookies +- added support for HTML forms + + +Release 0.95.2 (2005-10-22) [internal] +====================================== + +- fixed a potential problems with streams when close in destructor fails (added try..catch block around close in destructors) +- added HTTPServer & friends +- added hasIdleThreads() method to NotificationQueue +- added TCPServer and friend +- added support for HTTP proxies to HTTPClientSession and HTTPStreamOpener +- fixed documentation bugs (Mutex.h, ClassLoader.h) + + +Relesae 0.95.1 (2005-10-15) [internal] +====================================== + +- Tasks can now throw custom notifications (contributed by Alex Fabijanic) +- renamed URIFileStreamFactory to FileStreamFactory +- added a few methods to URI (setPathEtc(), getPathEtc(), getPathAndQuery()) +- added new exception classes +- fixed some documentation +- added basic checks when reading a MessageHeader from a stream +- added HTTP classes (testsuite still incomplete) +- added MessageHeader, NameValueCollection, MultipartReader and MultipartWriter classes +- added Timespan::useconds() +- added ClassLoader::isLibraryLoaded() +- Socket classes use Timespan::useconds() to fill struct timeval +- added DatagramSocket, MulticastSocket and NetworkInterface classes +- added socket classes and related basic stuff +- added additonal constructor/assign to Timespan- added BasicBufferedBidirectionalStreamBuf +- fixed a potential MT issue in Base64Decoder +- code beautifying in [Un]BufferedStreamBuf +- more improvements to ClassLoader +- code cleanup and naming convention fixes (changed all *Imp classes to *Impl for consistency) + + +Release 0.94.1 (2005-09-30) [internal] +====================================== + +- added MetaSingleton (based on a contribution by Alex Fabijanic) +- added ClassLoader::create() +- added ClassLoader::instance() +- code clean-ups in FileChannel and related classes +- added SimpleFileChannel +- RotateAtTimeStrategy: + ::getNextRollover() rewritten (buggy) +- DateTime + microseconds assert corrected + asserts in computeGregorian() (except for year - see comment in computeGregorian()) + milliseconds calculation modified in computeGregorian() + microseconds assigned in computeGregorian() + normalize() and checkLimit() private functions to correct cases of overflow for milli/microseconds +- LocalDateTime: added timestamp() method +- FileChannel: + added "times" property (used to determine whether to use UTC or local time with RotateAtTimeStrategy) + ::setProperty() modified (whenever "times" property is set, methods setRotation and setArchive are + reinvoked to reflect the change) +- FileChannel: added support for archived file compression and archived file purging +- FileChannel tests modified +- FileChannel: put LogFile, RotateStrategy and ArchiveStrategy into their own files +- Message: added thread id field +- PatternFormatter: added %I specifier for thread id +- ThreadPool: PooledThread can be assigned a name +- TaskManager: task name is reflected in thread name +- fixed LocalDateTime::operator - (const Timespan&) [#0000004] +- upon startup all loggers' channels are set to a console channel +- improved search for application configuration files (see loadConfiguration()). +- added Glob class (fixes #1249700) +- upgraded to zlib 1.2.3 (fixes #1261712) +- added Logger::dump() +- fixed a wrong condition in Logger::log(const Message&) +- Path::find() now also works with relative paths in addition to plain file names +- added Path(const Path&, const Path&) constructor +- added SharedPtr template +- added Path::tryParse() +- SAXParser::parse()/EntityResolverImpl now works for both URIs and local filesystem paths (fixes #1254812) + + +Release 0.93.1 (2005-08-01) +=========================== + +This release contains various new features, improvements and bugfixes: +- bugfix: UUIDGenerator throws an exception if no connected ethernet adapter can + be found (and thus no MAC address can be obtained) +- added UUIDGenerator::createOne() method +- added error handling to UUID sample application +- added relational (==, !=, <, <=, >, >=) and arithmetic operators (+, -, +=, -=) to DateTime +- added LocalDateTime class +- added support for LocalDateTime to DateTimeParser and DateTimeFormatter +- added enqueueUrgentNotification() to NotificationQueue +- added support for timezone specifiers (%z, %Z) to PatternFormatter +- added [] operator and count() to StringTokenizer +- added elapsed() and isElapsed() to Timestamp +- added tzd() to Timezone +- added WinRegistryKey and WinService classes (Windows only) +- added index operator and count() to StringTokenizer +- added day/time-based log rotation (thanks to Alex Fabijanic), minor improvements to DateTimeParser +- support for Mac OS X 10.4/gcc 4.0.0 +- added NamedMutex and NamedEvent +- added Process::kill() +- added NoPermissionException +- added Task and TaskManager classes +- added ServerApplication class +- bugfix: EventLogChannel - _logFile was not properly initialized in one constructor +- bugfix: File::createDirectories did not work for hierarchies deeper than three +- added Util::FilesystemConfiguration +- documented logging policy: log() must open channel if it hasn't been opened yet +- FileChannel::log() opens channel if necessary +- the application reference passed to initialize() and reinitialize() is no longer const +- improved application logging initialization +- fixed a problem with configuration view and property placeholders +- fixed Util build configuration for Visual Studio +- improved application samples +- fixed documentation for Semaphore class + + +Release 0.92.1 (2005-05-09) +=========================== + +This release introduces the Util library that provides support for +configuration file parsing (different file formats), command line +argument processing, logging configuration and a framework for +command line/server applications. +There have also been various changes to the Foundation library: +- a new RefCountedObject class that acts as a base class for + various classes that use reference counting +- some missing members have been added to the AutoPtr template +- various improvements and bugfixes to the Logging framework, as well as + new LoggingFactory and LoggingRegistry classses, and a NullChannel class +- the SignalHandler class (Unix platforms only) +- ObjectFactory and DynamicFactory template classes +- the Path::find method for searching a file in a list of directories +- various new Exception classes + + +Release 0.91.4 (2005-04-11) +=========================== + +This is mainly a maintenance release that adds support for QNX Neutrino +and OpenVMS. There are also minor bugfixes and improvements. + +The Unix build system has been modified to work on QNX Neutrino. +The OpenVMS build system has been fixed and works now. +Some missing #include's have been added for QNX Neutrino. +Foundation/String.h: icompare now supports comparison with const char*; +the classic C version of isspace() has been used in a few places instead of the +C++ version, this has been fixed. +Foundation/Exception.h: IllegalStateException added. + + +Release 0.91.3 (2005-03-19) +=========================== + +This is a maintenance release that adds support for Solaris/Sun Forte C++. +No new features have been added. + +An implementation of FPEnvironment for Solaris has been included. +All stream classes have been modified to work around an initialization +problem that surfaced with Sun's C++ compiler when using STLport. +Source-code compatibility with the previous release is not affected. Various +minor changes, mostly adding missing #include's for Solaris. + + +Release 0.91.2 (2005-02-27) +=========================== + +Minor improvements to the Unix build system. No actual changes in the +libraries. + + +Release 0.91.1 (2005-02-21) +=========================== + +This is the first public release of the C++ Portable Components. +The release does not contain all features planned for the later 1.0 release +(the NET library is missing, for example), but is already quite usable. +Please refer to the README file for more information and instructions for +building the libraries. + + +-- +$Id: //poco/1.4/dist/CHANGELOG#59 $ diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6abeaaeb2..5657b2fb5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,26 +1,26 @@ -Guenter Obiltschnig -Alex Fabijanic -Peter Schojer -Ferdinand Beyer -Krzysztof Burghardt -Claus Dabringer -Caleb Epstein -Eran Hammer-Lahav -Chris Johnson -Sergey Kholodilov -Ryan Kraay -Larry Lewis -Andrew J. P. Maclean -Andrew Marlow -Paschal Mushubi -Jiang Shan -David Shawley -Sergey Skorokhodov -Tom Tan <> -Sergey N. Yatskevich -Marc Chevrier -Philippe Cuvillier -Marian Krivos - --- -$Id: //poco/1.4/dist/CONTRIBUTORS#2 $ +Guenter Obiltschnig +Alex Fabijanic +Peter Schojer +Ferdinand Beyer +Krzysztof Burghardt +Claus Dabringer +Caleb Epstein +Eran Hammer-Lahav +Chris Johnson +Sergey Kholodilov +Ryan Kraay +Larry Lewis +Andrew J. P. Maclean +Andrew Marlow +Paschal Mushubi +Jiang Shan +David Shawley +Sergey Skorokhodov +Tom Tan <> +Sergey N. Yatskevich +Marc Chevrier +Philippe Cuvillier +Marian Krivos + +-- +$Id: //poco/1.4/dist/CONTRIBUTORS#2 $ diff --git a/CppParser/CppParser.progen b/CppParser/CppParser.progen index 47f027b89..bee8c3589 100644 --- a/CppParser/CppParser.progen +++ b/CppParser/CppParser.progen @@ -1,17 +1,17 @@ -vc.project.guid = C77B9D92-EC91-11DA-A4CE-005056C00008 -vc.project.name = CppParser -vc.project.target = Poco${vc.project.name} -vc.project.type = library -vc.project.pocobase = .. -vc.project.outdir = ${vc.project.pocobase} -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = CppParser_vs90.vcproj -vc.project.compiler.include = ..\\Foundation\\include -vc.project.compiler.defines = -vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS -vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} -vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} -vc.project.linker.dependencies = -vc.solution.create = true -vc.solution.include = testsuite\\TestSuite +vc.project.guid = C77B9D92-EC91-11DA-A4CE-005056C00008 +vc.project.name = CppParser +vc.project.target = Poco${vc.project.name} +vc.project.type = library +vc.project.pocobase = .. +vc.project.outdir = ${vc.project.pocobase} +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = CppParser_vs90.vcproj +vc.project.compiler.include = ..\\Foundation\\include +vc.project.compiler.defines = +vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS +vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} +vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} +vc.project.linker.dependencies = +vc.solution.create = true +vc.solution.include = testsuite\\TestSuite diff --git a/CppParser/CppParser_vs100.sln b/CppParser/CppParser_vs100.sln index af8c2aeeb..e47ef2b89 100644 --- a/CppParser/CppParser_vs100.sln +++ b/CppParser/CppParser_vs100.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - debug_static_mt|Win32 = debug_static_mt|Win32 - release_static_mt|Win32 = release_static_mt|Win32 - debug_static_md|Win32 = debug_static_md|Win32 - release_static_md|Win32 = release_static_md|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + debug_static_mt|Win32 = debug_static_mt|Win32 + release_static_mt|Win32 = release_static_mt|Win32 + debug_static_md|Win32 = debug_static_md|Win32 + release_static_md|Win32 = release_static_md|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_vs100.vcxproj b/CppParser/CppParser_vs100.vcxproj index ecd82a306..194e26709 100644 --- a/CppParser/CppParser_vs100.vcxproj +++ b/CppParser/CppParser_vs100.vcxproj @@ -1,308 +1,308 @@ - - - - - debug_shared - Win32 - - - debug_static_md - Win32 - - - debug_static_mt - Win32 - - - release_shared - Win32 - - - release_static_md - Win32 - - - release_static_mt - Win32 - - - - CppParser - {C77B9D92-EC91-11DA-A4CE-005056C00008} - CppParser - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - ..\bin\ - obj\$(Configuration)\ - true - ..\bin\ - obj\$(Configuration)\ - false - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - PocoCppParserd - PocoCppParsermdd - PocoCppParsermtd - PocoCppParser - PocoCppParsermd - PocoCppParsermt - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoCppParserd.dll - true - true - ..\bin\PocoCppParserd.pdb - ..\lib;%(AdditionalLibraryDirectories) - Console - ..\lib\PocoCppParserd.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoCppParser.dll - true - false - ..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib\PocoCppParser.lib - MachineX86 - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\lib\PocoCppParsermtd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCppParsermtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCppParsermt.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\lib\PocoCppParsermdd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCppParsermdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - ..\lib\PocoCppParsermd.pdb - Level3 - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\lib\PocoCppParsermd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_static_md + Win32 + + + debug_static_mt + Win32 + + + release_shared + Win32 + + + release_static_md + Win32 + + + release_static_mt + Win32 + + + + CppParser + {C77B9D92-EC91-11DA-A4CE-005056C00008} + CppParser + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + ..\bin\ + obj\$(Configuration)\ + true + ..\bin\ + obj\$(Configuration)\ + false + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + PocoCppParserd + PocoCppParsermdd + PocoCppParsermtd + PocoCppParser + PocoCppParsermd + PocoCppParsermt + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoCppParserd.dll + true + true + ..\bin\PocoCppParserd.pdb + ..\lib;%(AdditionalLibraryDirectories) + Console + ..\lib\PocoCppParserd.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoCppParser.dll + true + false + ..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib\PocoCppParser.lib + MachineX86 + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\lib\PocoCppParsermtd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCppParsermtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCppParsermt.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\lib\PocoCppParsermdd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCppParsermdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + ..\lib\PocoCppParsermd.pdb + Level3 + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\lib\PocoCppParsermd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/CppParser_vs100.vcxproj.filters b/CppParser/CppParser_vs100.vcxproj.filters index 953f97587..c3c9b88a2 100644 --- a/CppParser/CppParser_vs100.vcxproj.filters +++ b/CppParser/CppParser_vs100.vcxproj.filters @@ -1,135 +1,135 @@ - - - - - {fe377055-0525-44e6-acc7-8d7b1f6c3eab} - - - {217c0ad9-ad83-4781-9937-3cd83b413b56} - - - {3952c193-998f-4899-bbd1-3fdd17661c10} - - - {b956ea7f-4ced-4a5f-9e27-ed5236d5aad4} - - - {c2c26550-40a8-4cee-9f8f-d9e18530d4ba} - - - {2422599c-57fd-475a-9fda-4a981d3645f3} - - - {aa2c1c4c-dbf1-4818-aeeb-d5d8b82d7f77} - - - {4ec2c692-a128-4bae-8906-3b341dfc867e} - - - {778a11b1-307d-4120-af80-2af792b2699a} - - - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Attributes\Header Files - - - Attributes\Header Files - - - - - CppParser\Source Files - - - CppParser\Source Files - - - CppParser\Source Files - - - CppParser\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Attributes\Source Files - - - Attributes\Source Files - - + + + + + {fe377055-0525-44e6-acc7-8d7b1f6c3eab} + + + {217c0ad9-ad83-4781-9937-3cd83b413b56} + + + {3952c193-998f-4899-bbd1-3fdd17661c10} + + + {b956ea7f-4ced-4a5f-9e27-ed5236d5aad4} + + + {c2c26550-40a8-4cee-9f8f-d9e18530d4ba} + + + {2422599c-57fd-475a-9fda-4a981d3645f3} + + + {aa2c1c4c-dbf1-4818-aeeb-d5d8b82d7f77} + + + {4ec2c692-a128-4bae-8906-3b341dfc867e} + + + {778a11b1-307d-4120-af80-2af792b2699a} + + + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Attributes\Header Files + + + Attributes\Header Files + + + + + CppParser\Source Files + + + CppParser\Source Files + + + CppParser\Source Files + + + CppParser\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Attributes\Source Files + + + Attributes\Source Files + + \ No newline at end of file diff --git a/CppParser/CppParser_vs71.sln b/CppParser/CppParser_vs71.sln index 9715f341d..4bbcaefed 100644 --- a/CppParser/CppParser_vs71.sln +++ b/CppParser/CppParser_vs71.sln @@ -1,50 +1,50 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs71.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs71.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - release_shared = release_shared - debug_static_mt = debug_static_mt - release_static_mt = release_static_mt - debug_static_md = debug_static_md - release_static_md = release_static_md - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs71.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs71.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + release_shared = release_shared + debug_static_mt = debug_static_mt + release_static_mt = release_static_mt + debug_static_md = debug_static_md + release_static_md = release_static_md + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_vs71.vcproj b/CppParser/CppParser_vs71.vcproj index 834e0acf8..3dffd8f29 100644 --- a/CppParser/CppParser_vs71.vcproj +++ b/CppParser/CppParser_vs71.vcproj @@ -1,458 +1,458 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/CppParser_vs80.sln b/CppParser/CppParser_vs80.sln index 801539e08..0ea6d50ba 100644 --- a/CppParser/CppParser_vs80.sln +++ b/CppParser/CppParser_vs80.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs80.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs80.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - debug_static_mt|Win32 = debug_static_mt|Win32 - release_static_mt|Win32 = release_static_mt|Win32 - debug_static_md|Win32 = debug_static_md|Win32 - release_static_md|Win32 = release_static_md|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs80.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs80.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + debug_static_mt|Win32 = debug_static_mt|Win32 + release_static_mt|Win32 = release_static_mt|Win32 + debug_static_md|Win32 = debug_static_md|Win32 + release_static_md|Win32 = release_static_md|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_vs80.vcproj b/CppParser/CppParser_vs80.vcproj index cb2369251..a04a0726a 100644 --- a/CppParser/CppParser_vs80.vcproj +++ b/CppParser/CppParser_vs80.vcproj @@ -1,479 +1,479 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/CppParser_vs90.sln b/CppParser/CppParser_vs90.sln index a91919cef..3516e3cd7 100644 --- a/CppParser/CppParser_vs90.sln +++ b/CppParser/CppParser_vs90.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - release_shared|Win32 = release_shared|Win32 - debug_static_mt|Win32 = debug_static_mt|Win32 - release_static_mt|Win32 = release_static_mt|Win32 - debug_static_md|Win32 = debug_static_md|Win32 - release_static_md|Win32 = release_static_md|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + release_shared|Win32 = release_shared|Win32 + debug_static_mt|Win32 = debug_static_mt|Win32 + release_static_mt|Win32 = release_static_mt|Win32 + debug_static_md|Win32 = debug_static_md|Win32 + release_static_md|Win32 = release_static_md|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_vs90.vcproj b/CppParser/CppParser_vs90.vcproj index 1b405f97c..cfd57e2c3 100644 --- a/CppParser/CppParser_vs90.vcproj +++ b/CppParser/CppParser_vs90.vcproj @@ -1,478 +1,478 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/CppParser_x64_vs100.sln b/CppParser/CppParser_x64_vs100.sln index 588744ebf..f71467562 100644 --- a/CppParser/CppParser_x64_vs100.sln +++ b/CppParser/CppParser_x64_vs100.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - debug_static_mt|x64 = debug_static_mt|x64 - release_static_mt|x64 = release_static_mt|x64 - debug_static_md|x64 = debug_static_md|x64 - release_static_md|x64 = release_static_md|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + debug_static_mt|x64 = debug_static_mt|x64 + release_static_mt|x64 = release_static_mt|x64 + debug_static_md|x64 = debug_static_md|x64 + release_static_md|x64 = release_static_md|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_x64_vs100.vcxproj b/CppParser/CppParser_x64_vs100.vcxproj index dc3e478f0..e9387882e 100644 --- a/CppParser/CppParser_x64_vs100.vcxproj +++ b/CppParser/CppParser_x64_vs100.vcxproj @@ -1,306 +1,306 @@ - - - - - debug_shared - x64 - - - debug_static_md - x64 - - - debug_static_mt - x64 - - - release_shared - x64 - - - release_static_md - x64 - - - release_static_mt - x64 - - - - CppParser - {C77B9D92-EC91-11DA-A4CE-005056C00008} - CppParser - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - ..\bin64\ - obj64\$(Configuration)\ - true - ..\bin64\ - obj64\$(Configuration)\ - false - ..\lib64\ - obj64\$(Configuration)\ - ..\lib64\ - obj64\$(Configuration)\ - ..\lib64\ - obj64\$(Configuration)\ - ..\lib64\ - obj64\$(Configuration)\ - PocoCppParser64d - PocoCppParsermdd - PocoCppParsermtd - PocoCppParser64 - PocoCppParsermd - PocoCppParsermt - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin64\PocoCppParser64d.dll - true - true - ..\bin64\PocoCppParser64d.pdb - ..\lib64;%(AdditionalLibraryDirectories) - Console - ..\lib64\PocoCppParserd.lib - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin64\PocoCppParser64.dll - true - false - ..\lib64;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib64\PocoCppParser.lib - MachineX64 - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\lib64\PocoCppParsermtd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\lib64\PocoCppParsermtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\lib64\PocoCppParsermt.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\lib64\PocoCppParsermdd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\lib64\PocoCppParsermdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\lib64\PocoCppParsermd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + x64 + + + debug_static_md + x64 + + + debug_static_mt + x64 + + + release_shared + x64 + + + release_static_md + x64 + + + release_static_mt + x64 + + + + CppParser + {C77B9D92-EC91-11DA-A4CE-005056C00008} + CppParser + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + ..\bin64\ + obj64\$(Configuration)\ + true + ..\bin64\ + obj64\$(Configuration)\ + false + ..\lib64\ + obj64\$(Configuration)\ + ..\lib64\ + obj64\$(Configuration)\ + ..\lib64\ + obj64\$(Configuration)\ + ..\lib64\ + obj64\$(Configuration)\ + PocoCppParser64d + PocoCppParsermdd + PocoCppParsermtd + PocoCppParser64 + PocoCppParsermd + PocoCppParsermt + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin64\PocoCppParser64d.dll + true + true + ..\bin64\PocoCppParser64d.pdb + ..\lib64;%(AdditionalLibraryDirectories) + Console + ..\lib64\PocoCppParserd.lib + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin64\PocoCppParser64.dll + true + false + ..\lib64;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib64\PocoCppParser.lib + MachineX64 + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\lib64\PocoCppParsermtd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\lib64\PocoCppParsermtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\lib64\PocoCppParsermt.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\lib64\PocoCppParsermdd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\lib64\PocoCppParsermdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\lib64\PocoCppParsermd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/CppParser_x64_vs100.vcxproj.filters b/CppParser/CppParser_x64_vs100.vcxproj.filters index ec04a8e0f..e899229b4 100644 --- a/CppParser/CppParser_x64_vs100.vcxproj.filters +++ b/CppParser/CppParser_x64_vs100.vcxproj.filters @@ -1,135 +1,135 @@ - - - - - {19215921-761d-464e-af27-28d7c93a63f2} - - - {c2372101-9da3-4395-a2f0-7468d31e32f3} - - - {63b47522-0c86-4023-a401-9cb9a667725a} - - - {036225b5-e214-42dc-bde5-8106bcdd1750} - - - {e415005a-799a-477c-b4fa-135a9aacac35} - - - {f9df1cea-79ac-415a-b540-7e6d6a8049ef} - - - {841b696e-ac52-444a-86f5-e39516c8048b} - - - {175f1410-2e70-4d6f-9ade-092ed4060be9} - - - {35e35cae-d099-414e-bb49-70b4b3cb956a} - - - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - CppParser\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Symbol Table\Header Files - - - Attributes\Header Files - - - Attributes\Header Files - - - - - CppParser\Source Files - - - CppParser\Source Files - - - CppParser\Source Files - - - CppParser\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Symbol Table\Source Files - - - Attributes\Source Files - - - Attributes\Source Files - - + + + + + {19215921-761d-464e-af27-28d7c93a63f2} + + + {c2372101-9da3-4395-a2f0-7468d31e32f3} + + + {63b47522-0c86-4023-a401-9cb9a667725a} + + + {036225b5-e214-42dc-bde5-8106bcdd1750} + + + {e415005a-799a-477c-b4fa-135a9aacac35} + + + {f9df1cea-79ac-415a-b540-7e6d6a8049ef} + + + {841b696e-ac52-444a-86f5-e39516c8048b} + + + {175f1410-2e70-4d6f-9ade-092ed4060be9} + + + {35e35cae-d099-414e-bb49-70b4b3cb956a} + + + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + CppParser\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Symbol Table\Header Files + + + Attributes\Header Files + + + Attributes\Header Files + + + + + CppParser\Source Files + + + CppParser\Source Files + + + CppParser\Source Files + + + CppParser\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Symbol Table\Source Files + + + Attributes\Source Files + + + Attributes\Source Files + + \ No newline at end of file diff --git a/CppParser/CppParser_x64_vs90.sln b/CppParser/CppParser_x64_vs90.sln index 4533182db..506f38270 100644 --- a/CppParser/CppParser_x64_vs90.sln +++ b/CppParser/CppParser_x64_vs90.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" - ProjectSection(ProjectDependencies) = postProject - {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|x64 = debug_shared|x64 - release_shared|x64 = release_shared|x64 - debug_static_mt|x64 = debug_static_mt|x64 - release_static_mt|x64 = release_static_mt|x64 - debug_static_md|x64 = debug_static_md|x64 - release_static_md|x64 = release_static_md|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 - {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 - {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|x64 = debug_shared|x64 + release_shared|x64 = release_shared|x64 + debug_static_mt|x64 = debug_static_mt|x64 + release_static_mt|x64 = release_static_mt|x64 + debug_static_md|x64 = debug_static_md|x64 + release_static_md|x64 = release_static_md|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 + {C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64 + {C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppParser/CppParser_x64_vs90.vcproj b/CppParser/CppParser_x64_vs90.vcproj index 14e528418..c880269fa 100644 --- a/CppParser/CppParser_x64_vs90.vcproj +++ b/CppParser/CppParser_x64_vs90.vcproj @@ -1,483 +1,483 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite.progen b/CppParser/testsuite/TestSuite.progen index b21c98060..61546c382 100644 --- a/CppParser/testsuite/TestSuite.progen +++ b/CppParser/testsuite/TestSuite.progen @@ -1,12 +1,12 @@ -vc.project.guid = C79112BD-EC91-11DA-A4CE-005056C00008 -vc.project.name = TestSuite -vc.project.target = TestSuite -vc.project.type = testsuite -vc.project.pocobase = ..\\.. -vc.project.platforms = Win32, x64, WinCE -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = TestSuite_vs90.vcproj -vc.project.compiler.include = ..\\..\\Foundation\\include -vc.project.linker.dependencies.Win32 = -vc.project.linker.dependencies.x64 = -vc.project.linker.dependencies.WinCE = +vc.project.guid = C79112BD-EC91-11DA-A4CE-005056C00008 +vc.project.name = TestSuite +vc.project.target = TestSuite +vc.project.type = testsuite +vc.project.pocobase = ..\\.. +vc.project.platforms = Win32, x64, WinCE +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = TestSuite_vs90.vcproj +vc.project.compiler.include = ..\\..\\Foundation\\include +vc.project.linker.dependencies.Win32 = +vc.project.linker.dependencies.x64 = +vc.project.linker.dependencies.WinCE = diff --git a/CppParser/testsuite/TestSuite_CE_vs90.vcproj b/CppParser/testsuite/TestSuite_CE_vs90.vcproj index c4d0c7dbe..2e4827d3b 100644 --- a/CppParser/testsuite/TestSuite_CE_vs90.vcproj +++ b/CppParser/testsuite/TestSuite_CE_vs90.vcproj @@ -1,512 +1,512 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_vs100.vcxproj b/CppParser/testsuite/TestSuite_vs100.vcxproj index 64cfc281b..25d41d55b 100644 --- a/CppParser/testsuite/TestSuite_vs100.vcxproj +++ b/CppParser/testsuite/TestSuite_vs100.vcxproj @@ -1,317 +1,317 @@ - - - - - debug_shared - Win32 - - - debug_static_md - Win32 - - - debug_static_mt - Win32 - - - release_shared - Win32 - - - release_static_md - Win32 - - - release_static_mt - Win32 - - - - TestSuite - {C79112BD-EC91-11DA-A4CE-005056C00008} - TestSuite - Win32Proj - - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin\ - obj\$(Configuration)\ - true - bin\ - obj\$(Configuration)\ - false - bin\static_mt\ - obj\$(Configuration)\ - true - bin\static_mt\ - obj\$(Configuration)\ - false - bin\static_md\ - obj\$(Configuration)\ - true - bin\static_md\ - obj\$(Configuration)\ - false - TestSuited - TestSuited - TestSuited - TestSuite - TestSuite - TestSuite - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies) - bin\TestSuited.exe - ..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies) - bin\TestSuite.exe - ..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies) - bin\static_mt\TestSuited.exe - ..\..\lib;%(AdditionalLibraryDirectories) - nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) - true - true - bin\static_mt\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies) - bin\static_mt\TestSuite.exe - ..\..\lib;%(AdditionalLibraryDirectories) - nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) - false - Windows - true - true - MachineX86 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) - bin\static_md\TestSuited.exe - ..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\static_md\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) - bin\static_md\TestSuite.exe - ..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_static_md + Win32 + + + debug_static_mt + Win32 + + + release_shared + Win32 + + + release_static_md + Win32 + + + release_static_mt + Win32 + + + + TestSuite + {C79112BD-EC91-11DA-A4CE-005056C00008} + TestSuite + Win32Proj + + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin\ + obj\$(Configuration)\ + true + bin\ + obj\$(Configuration)\ + false + bin\static_mt\ + obj\$(Configuration)\ + true + bin\static_mt\ + obj\$(Configuration)\ + false + bin\static_md\ + obj\$(Configuration)\ + true + bin\static_md\ + obj\$(Configuration)\ + false + TestSuited + TestSuited + TestSuited + TestSuite + TestSuite + TestSuite + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies) + bin\TestSuited.exe + ..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies) + bin\TestSuite.exe + ..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies) + bin\static_mt\TestSuited.exe + ..\..\lib;%(AdditionalLibraryDirectories) + nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) + true + true + bin\static_mt\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies) + bin\static_mt\TestSuite.exe + ..\..\lib;%(AdditionalLibraryDirectories) + nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + MachineX86 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) + bin\static_md\TestSuited.exe + ..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\static_md\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) + bin\static_md\TestSuite.exe + ..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_vs100.vcxproj.filters b/CppParser/testsuite/TestSuite_vs100.vcxproj.filters index 8845b1fae..ef8787838 100644 --- a/CppParser/testsuite/TestSuite_vs100.vcxproj.filters +++ b/CppParser/testsuite/TestSuite_vs100.vcxproj.filters @@ -1,69 +1,69 @@ - - - - - {3dbe62ab-f7d9-4d3e-9ab6-3312cc0d0d35} - - - {487fd5d4-34e1-4ced-9824-be2eb50ecea6} - - - {31c109cb-3156-45c8-b3fc-f8e312348f98} - - - {462c6f35-933d-4d79-ac6c-cb22b2e6127a} - - - {a897b148-fb3f-4ff6-baf7-c5f203a47d4e} - - - {f9c4b62e-3e7a-4e05-b266-ab16c1940566} - - - {1c844178-3834-47cc-bcf9-d1e85d1419ff} - - - {501d852d-ae97-41d1-9c7b-974b851fac8d} - - - {439a624a-3294-4620-a5a9-5859e00a3764} - - - {5e286b44-34f3-4561-b047-9af6c3b64c40} - - - {37e80b84-ac0f-4dc1-98bb-9e91a1f3301a} - - - - - CppParser\Header Files - - - _Suite\Header Files - - - Attributes\Header Files - - - Attributes\Header Files - - - - - CppParser\Source Files - - - _Suite\Source Files - - - _Driver\Source Files - - - Attributes\Source Files - - - Attributes\Source Files - - + + + + + {3dbe62ab-f7d9-4d3e-9ab6-3312cc0d0d35} + + + {487fd5d4-34e1-4ced-9824-be2eb50ecea6} + + + {31c109cb-3156-45c8-b3fc-f8e312348f98} + + + {462c6f35-933d-4d79-ac6c-cb22b2e6127a} + + + {a897b148-fb3f-4ff6-baf7-c5f203a47d4e} + + + {f9c4b62e-3e7a-4e05-b266-ab16c1940566} + + + {1c844178-3834-47cc-bcf9-d1e85d1419ff} + + + {501d852d-ae97-41d1-9c7b-974b851fac8d} + + + {439a624a-3294-4620-a5a9-5859e00a3764} + + + {5e286b44-34f3-4561-b047-9af6c3b64c40} + + + {37e80b84-ac0f-4dc1-98bb-9e91a1f3301a} + + + + + CppParser\Header Files + + + _Suite\Header Files + + + Attributes\Header Files + + + Attributes\Header Files + + + + + CppParser\Source Files + + + _Suite\Source Files + + + _Driver\Source Files + + + Attributes\Source Files + + + Attributes\Source Files + + \ No newline at end of file diff --git a/CppParser/testsuite/TestSuite_vs71.vcproj b/CppParser/testsuite/TestSuite_vs71.vcproj index bf34405c5..99cebcc91 100644 --- a/CppParser/testsuite/TestSuite_vs71.vcproj +++ b/CppParser/testsuite/TestSuite_vs71.vcproj @@ -1,447 +1,447 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_vs80.vcproj b/CppParser/testsuite/TestSuite_vs80.vcproj index fe4fb6236..cb1115fb7 100644 --- a/CppParser/testsuite/TestSuite_vs80.vcproj +++ b/CppParser/testsuite/TestSuite_vs80.vcproj @@ -1,487 +1,487 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_vs90.vcproj b/CppParser/testsuite/TestSuite_vs90.vcproj index 56323bbf8..7b66d47d7 100644 --- a/CppParser/testsuite/TestSuite_vs90.vcproj +++ b/CppParser/testsuite/TestSuite_vs90.vcproj @@ -1,487 +1,487 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_x64_vs100.vcxproj b/CppParser/testsuite/TestSuite_x64_vs100.vcxproj index 31e03aac6..9234c0b8e 100644 --- a/CppParser/testsuite/TestSuite_x64_vs100.vcxproj +++ b/CppParser/testsuite/TestSuite_x64_vs100.vcxproj @@ -1,317 +1,317 @@ - - - - - debug_shared - x64 - - - debug_static_md - x64 - - - debug_static_mt - x64 - - - release_shared - x64 - - - release_static_md - x64 - - - release_static_mt - x64 - - - - TestSuite - {C79112BD-EC91-11DA-A4CE-005056C00008} - TestSuite - Win32Proj - - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin64\ - obj64\$(Configuration)\ - true - bin64\ - obj64\$(Configuration)\ - false - bin64\static_mt\ - obj64\$(Configuration)\ - true - bin64\static_mt\ - obj64\$(Configuration)\ - false - bin64\static_md\ - obj64\$(Configuration)\ - true - bin64\static_md\ - obj64\$(Configuration)\ - false - TestSuited - TestSuited - TestSuited - TestSuite - TestSuite - TestSuite - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies) - bin64\TestSuited.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - true - true - bin64\TestSuited.pdb - Windows - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies) - bin64\TestSuite.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX64 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies) - bin64\static_mt\TestSuited.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) - true - true - bin64\static_mt\TestSuited.pdb - Windows - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies) - bin64\static_mt\TestSuite.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) - false - Windows - true - true - MachineX64 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) - bin64\static_md\TestSuited.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - true - true - bin64\static_md\TestSuited.pdb - Windows - MachineX64 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) - bin64\static_md\TestSuite.exe - ..\..\lib64;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX64 - - - - - - - - - - - - - - - - - - + + + + + debug_shared + x64 + + + debug_static_md + x64 + + + debug_static_mt + x64 + + + release_shared + x64 + + + release_static_md + x64 + + + release_static_mt + x64 + + + + TestSuite + {C79112BD-EC91-11DA-A4CE-005056C00008} + TestSuite + Win32Proj + + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin64\ + obj64\$(Configuration)\ + true + bin64\ + obj64\$(Configuration)\ + false + bin64\static_mt\ + obj64\$(Configuration)\ + true + bin64\static_mt\ + obj64\$(Configuration)\ + false + bin64\static_md\ + obj64\$(Configuration)\ + true + bin64\static_md\ + obj64\$(Configuration)\ + false + TestSuited + TestSuited + TestSuited + TestSuite + TestSuite + TestSuite + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies) + bin64\TestSuited.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + true + true + bin64\TestSuited.pdb + Windows + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies) + bin64\TestSuite.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX64 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies) + bin64\static_mt\TestSuited.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) + true + true + bin64\static_mt\TestSuited.pdb + Windows + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies) + bin64\static_mt\TestSuite.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + MachineX64 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) + bin64\static_md\TestSuited.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + true + true + bin64\static_md\TestSuited.pdb + Windows + MachineX64 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies) + bin64\static_md\TestSuite.exe + ..\..\lib64;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX64 + + + + + + + + + + + + + + + + + + diff --git a/CppParser/testsuite/TestSuite_x64_vs100.vcxproj.filters b/CppParser/testsuite/TestSuite_x64_vs100.vcxproj.filters index 6af69e6ca..372cc5d82 100644 --- a/CppParser/testsuite/TestSuite_x64_vs100.vcxproj.filters +++ b/CppParser/testsuite/TestSuite_x64_vs100.vcxproj.filters @@ -1,69 +1,69 @@ - - - - - {4cb1acf1-ba98-4bd9-84ac-74e8fe451ad1} - - - {86c44e6b-2aad-4210-8a93-8eee9287b3ef} - - - {5957f029-1958-45dd-971f-3daa0a49cd0d} - - - {72b6f2bd-1ebd-42e6-9875-e780e24c0192} - - - {3b26424c-0f5e-4ef6-8117-dc25e24f6355} - - - {b19431b3-6c68-4dae-a4a7-88714eb2ebf2} - - - {730c5f02-68f8-4324-910c-64460f3c07d8} - - - {5a5c72ce-7230-4721-8666-ae7b4e69db4d} - - - {a9ad947c-31ad-4b5d-942a-35eb74f8a352} - - - {2f8a6d81-22c2-4089-936a-3abfbc73ae47} - - - {8d629d90-5ba0-4508-910a-28933d4c6c22} - - - - - CppParser\Header Files - - - _Suite\Header Files - - - Attributes\Header Files - - - Attributes\Header Files - - - - - CppParser\Source Files - - - _Suite\Source Files - - - _Driver\Source Files - - - Attributes\Source Files - - - Attributes\Source Files - - + + + + + {4cb1acf1-ba98-4bd9-84ac-74e8fe451ad1} + + + {86c44e6b-2aad-4210-8a93-8eee9287b3ef} + + + {5957f029-1958-45dd-971f-3daa0a49cd0d} + + + {72b6f2bd-1ebd-42e6-9875-e780e24c0192} + + + {3b26424c-0f5e-4ef6-8117-dc25e24f6355} + + + {b19431b3-6c68-4dae-a4a7-88714eb2ebf2} + + + {730c5f02-68f8-4324-910c-64460f3c07d8} + + + {5a5c72ce-7230-4721-8666-ae7b4e69db4d} + + + {a9ad947c-31ad-4b5d-942a-35eb74f8a352} + + + {2f8a6d81-22c2-4089-936a-3abfbc73ae47} + + + {8d629d90-5ba0-4508-910a-28933d4c6c22} + + + + + CppParser\Header Files + + + _Suite\Header Files + + + Attributes\Header Files + + + Attributes\Header Files + + + + + CppParser\Source Files + + + _Suite\Source Files + + + _Driver\Source Files + + + Attributes\Source Files + + + Attributes\Source Files + + \ No newline at end of file diff --git a/CppParser/testsuite/TestSuite_x64_vs90.vcproj b/CppParser/testsuite/TestSuite_x64_vs90.vcproj index c65705a2f..215325a8d 100644 --- a/CppParser/testsuite/TestSuite_x64_vs90.vcproj +++ b/CppParser/testsuite/TestSuite_x64_vs90.vcproj @@ -1,487 +1,487 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/CppUnit_vs71.sln b/CppUnit/CppUnit_vs71.sln index 5af4af43c..087361b27 100644 --- a/CppUnit/CppUnit_vs71.sln +++ b/CppUnit/CppUnit_vs71.sln @@ -1,50 +1,50 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_VS71.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_VS71.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" - ProjectSection(ProjectDependencies) = postProject - {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - debug_static_md = debug_static_md - debug_static_mt = debug_static_mt - release_shared = release_shared - release_static_md = release_static_md - release_static_mt = release_static_mt - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared.ActiveCfg = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared.Build.0 = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md.ActiveCfg = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md.Build.0 = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt.Build.0 = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared.ActiveCfg = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared.Build.0 = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md.ActiveCfg = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md.Build.0 = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt.ActiveCfg = release_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt.Build.0 = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared.ActiveCfg = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared.Build.0 = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md.ActiveCfg = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md.Build.0 = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt.Build.0 = debug_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared.ActiveCfg = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared.Build.0 = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md.ActiveCfg = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md.Build.0 = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt.ActiveCfg = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt.Build.0 = release_static_mt|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_VS71.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_VS71.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" + ProjectSection(ProjectDependencies) = postProject + {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + debug_static_md = debug_static_md + debug_static_mt = debug_static_mt + release_shared = release_shared + release_static_md = release_static_md + release_static_mt = release_static_mt + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared.ActiveCfg = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared.Build.0 = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md.ActiveCfg = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md.Build.0 = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt.Build.0 = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared.ActiveCfg = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared.Build.0 = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md.ActiveCfg = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md.Build.0 = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt.ActiveCfg = release_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt.Build.0 = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared.ActiveCfg = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared.Build.0 = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md.ActiveCfg = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md.Build.0 = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt.ActiveCfg = debug_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt.Build.0 = debug_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared.ActiveCfg = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared.Build.0 = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md.ActiveCfg = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md.Build.0 = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt.ActiveCfg = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt.Build.0 = release_static_mt|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/CppUnit/CppUnit_vs71.vcproj b/CppUnit/CppUnit_vs71.vcproj index 6e92cbcb6..101454efc 100644 --- a/CppUnit/CppUnit_vs71.vcproj +++ b/CppUnit/CppUnit_vs71.vcproj @@ -1,541 +1,541 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/CppUnit_vs80.sln b/CppUnit/CppUnit_vs80.sln index 4fda4a65c..55adff903 100644 --- a/CppUnit/CppUnit_vs80.sln +++ b/CppUnit/CppUnit_vs80.sln @@ -1,48 +1,48 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_vs80.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_vs80.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" - ProjectSection(ProjectDependencies) = postProject - {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static_md|Win32 = debug_static_md|Win32 - debug_static_mt|Win32 = debug_static_mt|Win32 - release_shared|Win32 = release_shared|Win32 - release_static_md|Win32 = release_static_md|Win32 - release_static_mt|Win32 = release_static_mt|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.Build.0 = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.Build.0 = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.Build.0 = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_vs80.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_vs80.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" + ProjectSection(ProjectDependencies) = postProject + {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static_md|Win32 = debug_static_md|Win32 + debug_static_mt|Win32 = debug_static_mt|Win32 + release_shared|Win32 = release_shared|Win32 + release_static_md|Win32 = release_static_md|Win32 + release_static_mt|Win32 = release_static_mt|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.Build.0 = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.Build.0 = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.Build.0 = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppUnit/CppUnit_vs80.vcproj b/CppUnit/CppUnit_vs80.vcproj index b7d7f5103..9e1687fbb 100644 --- a/CppUnit/CppUnit_vs80.vcproj +++ b/CppUnit/CppUnit_vs80.vcproj @@ -1,724 +1,724 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/CppUnit_vs90.sln b/CppUnit/CppUnit_vs90.sln index 37c948b55..4935dad02 100644 --- a/CppUnit/CppUnit_vs90.sln +++ b/CppUnit/CppUnit_vs90.sln @@ -1,48 +1,48 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_vs90.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_vs90.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" - ProjectSection(ProjectDependencies) = postProject - {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static_md|Win32 = debug_static_md|Win32 - debug_static_mt|Win32 = debug_static_mt|Win32 - release_shared|Win32 = release_shared|Win32 - release_static_md|Win32 = release_static_md|Win32 - release_static_mt|Win32 = release_static_mt|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.Build.0 = release_shared|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.Build.0 = release_shared|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppUnit", "CppUnit_vs90.vcproj", "{138BB448-808A-4FE5-A66D-78D1F8770F59}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinTestRunner", "WinTestRunner\WinTestRunner_vs90.vcproj", "{BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}" + ProjectSection(ProjectDependencies) = postProject + {138BB448-808A-4FE5-A66D-78D1F8770F59} = {138BB448-808A-4FE5-A66D-78D1F8770F59} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static_md|Win32 = debug_static_md|Win32 + debug_static_mt|Win32 = debug_static_mt|Win32 + release_shared|Win32 = release_shared|Win32 + release_static_md|Win32 = release_static_md|Win32 + release_static_mt|Win32 = release_static_mt|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_shared|Win32.Build.0 = release_shared|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {138BB448-808A-4FE5-A66D-78D1F8770F59}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_shared|Win32.Build.0 = release_shared|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {BA620CC4-0E7D-4B9D-88E2-6DBE5C51FCBD}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CppUnit/CppUnit_vs90.vcproj b/CppUnit/CppUnit_vs90.vcproj index e3e804652..5335ca4ce 100644 --- a/CppUnit/CppUnit_vs90.vcproj +++ b/CppUnit/CppUnit_vs90.vcproj @@ -1,670 +1,670 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/Makefile b/CppUnit/Makefile index d5d12607a..d2c3974cb 100644 --- a/CppUnit/Makefile +++ b/CppUnit/Makefile @@ -1,18 +1,18 @@ -# -# Makefile -# -# $Id: //poco/1.4/CppUnit/Makefile#1 $ -# -# Makefile for Poco CppUnit -# - -include $(POCO_BASE)/build/rules/global - -objects = CppUnitException TestDecorator TestResult TestSuite \ - TestCase TestFailure TestRunner TextTestResult - -target = CppUnit -target_version = 1 -target_libs = - -include $(POCO_BASE)/build/rules/lib +# +# Makefile +# +# $Id: //poco/1.4/CppUnit/Makefile#1 $ +# +# Makefile for Poco CppUnit +# + +include $(POCO_BASE)/build/rules/global + +objects = CppUnitException TestDecorator TestResult TestSuite \ + TestCase TestFailure TestRunner TextTestResult + +target = CppUnit +target_version = 1 +target_libs = + +include $(POCO_BASE)/build/rules/lib diff --git a/CppUnit/WinTestRunner/WinTestRunner_vs71.vcproj b/CppUnit/WinTestRunner/WinTestRunner_vs71.vcproj index b3c14c5b0..3bc521329 100644 --- a/CppUnit/WinTestRunner/WinTestRunner_vs71.vcproj +++ b/CppUnit/WinTestRunner/WinTestRunner_vs71.vcproj @@ -1,504 +1,504 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/WinTestRunner/WinTestRunner_vs80.vcproj b/CppUnit/WinTestRunner/WinTestRunner_vs80.vcproj index 5d9eef3eb..c1b0d1e60 100644 --- a/CppUnit/WinTestRunner/WinTestRunner_vs80.vcproj +++ b/CppUnit/WinTestRunner/WinTestRunner_vs80.vcproj @@ -1,678 +1,678 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/WinTestRunner/WinTestRunner_vs90.vcproj b/CppUnit/WinTestRunner/WinTestRunner_vs90.vcproj index 65714ab6c..cdc84dd62 100644 --- a/CppUnit/WinTestRunner/WinTestRunner_vs90.vcproj +++ b/CppUnit/WinTestRunner/WinTestRunner_vs90.vcproj @@ -1,674 +1,674 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h b/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h index a31d397e0..2e7ac7014 100644 --- a/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h +++ b/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h @@ -1,77 +1,77 @@ -// -// WinTestRunner.h -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h#1 $ -// -// Application shell for CppUnit's TestRunner dialog. -// - - -#ifndef WinTestRunner_H_INCLUDED -#define WinTestRunner_H_INCLUDED - - -#if !defined(POCO_STATIC) -#if defined(WinTestRunner_EXPORTS) -#define WinTestRunner_API __declspec(dllexport) -#else -#define WinTestRunner_API __declspec(dllimport) -#endif -#else -#define WinTestRunner_API -#endif - - -#include "CppUnit/CppUnit.h" -#include -#include - - -namespace CppUnit { - - -class Test; - - -class WinTestRunner_API WinTestRunner -{ -public: - WinTestRunner(); - ~WinTestRunner(); - - void run(); - void addTest(Test* pTest); - -private: - std::vector _tests; -}; - - -class WinTestRunner_API WinTestRunnerApp: public CWinApp - /// A simple application class that hosts the TestRunner dialog. - /// Create a subclass and override the TestMain() method. - /// - /// WinTestRunnerApp supports a batch mode, which runs the - /// test using the standard text-based TestRunner from CppUnit. - /// To enable batch mode, start the application with the "/b" - /// or "/B" argument. Optionally, a filename may be specified - /// where the test output will be written to: "/b:" or - /// "/B:". - /// - /// When run in batch mode, the exit code of the application - /// will denote test success (0) or failure (1). -{ -public: - virtual BOOL InitInstance(); - - virtual void TestMain() = 0; - - DECLARE_MESSAGE_MAP() -}; - - -} // namespace CppUnit - - -#endif // WinTestRunner_H_INCLUDED - +// +// WinTestRunner.h +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/include/WinTestRunner/WinTestRunner.h#1 $ +// +// Application shell for CppUnit's TestRunner dialog. +// + + +#ifndef WinTestRunner_H_INCLUDED +#define WinTestRunner_H_INCLUDED + + +#if !defined(POCO_STATIC) +#if defined(WinTestRunner_EXPORTS) +#define WinTestRunner_API __declspec(dllexport) +#else +#define WinTestRunner_API __declspec(dllimport) +#endif +#else +#define WinTestRunner_API +#endif + + +#include "CppUnit/CppUnit.h" +#include +#include + + +namespace CppUnit { + + +class Test; + + +class WinTestRunner_API WinTestRunner +{ +public: + WinTestRunner(); + ~WinTestRunner(); + + void run(); + void addTest(Test* pTest); + +private: + std::vector _tests; +}; + + +class WinTestRunner_API WinTestRunnerApp: public CWinApp + /// A simple application class that hosts the TestRunner dialog. + /// Create a subclass and override the TestMain() method. + /// + /// WinTestRunnerApp supports a batch mode, which runs the + /// test using the standard text-based TestRunner from CppUnit. + /// To enable batch mode, start the application with the "/b" + /// or "/B" argument. Optionally, a filename may be specified + /// where the test output will be written to: "/b:" or + /// "/B:". + /// + /// When run in batch mode, the exit code of the application + /// will denote test success (0) or failure (1). +{ +public: + virtual BOOL InitInstance(); + + virtual void TestMain() = 0; + + DECLARE_MESSAGE_MAP() +}; + + +} // namespace CppUnit + + +#endif // WinTestRunner_H_INCLUDED + diff --git a/CppUnit/WinTestRunner/res/Resource.h b/CppUnit/WinTestRunner/res/Resource.h index c30c88ece..cd0bf3528 100644 --- a/CppUnit/WinTestRunner/res/Resource.h +++ b/CppUnit/WinTestRunner/res/Resource.h @@ -1,27 +1,27 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by TestRunner.rc -// -#define IDD_DIALOG_TESTRUNNER 129 -#define IDC_LIST 1000 -#define ID_RUN 1001 -#define ID_STOP 1002 -#define IDC_PROGRESS 1003 -#define IDC_INDICATOR 1004 -#define IDC_COMBO_TEST 1005 -#define IDC_STATIC_RUNS 1007 -#define IDC_STATIC_ERRORS 1008 -#define IDC_STATIC_FAILURES 1009 -#define IDC_EDIT_TIME 1010 -#define IDC_CHK_AUTORUN 1013 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 131 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1014 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by TestRunner.rc +// +#define IDD_DIALOG_TESTRUNNER 129 +#define IDC_LIST 1000 +#define ID_RUN 1001 +#define ID_STOP 1002 +#define IDC_PROGRESS 1003 +#define IDC_INDICATOR 1004 +#define IDC_COMBO_TEST 1005 +#define IDC_STATIC_RUNS 1007 +#define IDC_STATIC_ERRORS 1008 +#define IDC_STATIC_FAILURES 1009 +#define IDC_EDIT_TIME 1010 +#define IDC_CHK_AUTORUN 1013 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 131 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1014 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/CppUnit/WinTestRunner/src/ActiveTest.cpp b/CppUnit/WinTestRunner/src/ActiveTest.cpp index f0c6cf3c4..4ec91a506 100644 --- a/CppUnit/WinTestRunner/src/ActiveTest.cpp +++ b/CppUnit/WinTestRunner/src/ActiveTest.cpp @@ -1,44 +1,44 @@ -// -// ActiveTest.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ActiveTest.cpp#1 $ -// - - -#include -#include "ActiveTest.h" - - -namespace CppUnit { - - -// Spawn a thread to a test -void ActiveTest::run(TestResult* result) -{ - CWinThread* thread; - - setTestResult(result); - _runCompleted.ResetEvent(); - - thread = AfxBeginThread(threadFunction, this, THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED); - DuplicateHandle(GetCurrentProcess(), thread->m_hThread, GetCurrentProcess(), &_threadHandle, 0, FALSE, DUPLICATE_SAME_ACCESS); - - thread->ResumeThread(); -} - - -// Simple execution thread. Assuming that an ActiveTest instance -// only creates one of these at a time. -UINT ActiveTest::threadFunction(LPVOID thisInstance) -{ - ActiveTest* test = (ActiveTest*) thisInstance; - - test->run(); - test->_runCompleted.SetEvent(); - - return 0; -} - - -} // namespace CppUnit - +// +// ActiveTest.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ActiveTest.cpp#1 $ +// + + +#include +#include "ActiveTest.h" + + +namespace CppUnit { + + +// Spawn a thread to a test +void ActiveTest::run(TestResult* result) +{ + CWinThread* thread; + + setTestResult(result); + _runCompleted.ResetEvent(); + + thread = AfxBeginThread(threadFunction, this, THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED); + DuplicateHandle(GetCurrentProcess(), thread->m_hThread, GetCurrentProcess(), &_threadHandle, 0, FALSE, DUPLICATE_SAME_ACCESS); + + thread->ResumeThread(); +} + + +// Simple execution thread. Assuming that an ActiveTest instance +// only creates one of these at a time. +UINT ActiveTest::threadFunction(LPVOID thisInstance) +{ + ActiveTest* test = (ActiveTest*) thisInstance; + + test->run(); + test->_runCompleted.SetEvent(); + + return 0; +} + + +} // namespace CppUnit + diff --git a/CppUnit/WinTestRunner/src/ActiveTest.h b/CppUnit/WinTestRunner/src/ActiveTest.h index f6c9ae457..232747a9c 100644 --- a/CppUnit/WinTestRunner/src/ActiveTest.h +++ b/CppUnit/WinTestRunner/src/ActiveTest.h @@ -1,89 +1,89 @@ -// -// ActiveTest.h -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ActiveTest.h#1 $ -// - - -#ifndef ActiveTest_INCLUDED -#define ActiveTest_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/TestDecorator.h" -#include - - -namespace CppUnit { - - -/* A Microsoft-specific active test - * - * An active test manages its own - * thread of execution. This one - * is very simple and only sufficient - * for the limited use we put it through - * in the TestRunner. It spawns a thread - * on run (TestResult *) and signals - * completion of the test. - * - * We assume that only one thread - * will be active at once for each - * instance. - * - */ -class ActiveTest: public TestDecorator -{ -public: - ActiveTest(Test* test); - ~ActiveTest(); - - void run(TestResult* result); - -protected: - HANDLE _threadHandle; - CEvent _runCompleted; - TestResult* _currentTestResult; - - void run (); - void setTestResult(TestResult* result); - static UINT threadFunction(LPVOID thisInstance); -}; - - -// Construct the active test -inline ActiveTest::ActiveTest(Test *test): TestDecorator(test) -{ - _currentTestResult = NULL; - _threadHandle = INVALID_HANDLE_VALUE; -} - - -// Pend until the test has completed -inline ActiveTest::~ActiveTest() -{ - CSingleLock(&_runCompleted, TRUE); - CloseHandle(_threadHandle); -} - - -// Set the test result that we are to run -inline void ActiveTest::setTestResult(TestResult* result) -{ - _currentTestResult = result; -} - - -// Run our test result -inline void ActiveTest::run() -{ - TestDecorator::run(_currentTestResult); -} - - -} // namespace CppUnit - - -#endif // ActiveTest_INCLUDED - - +// +// ActiveTest.h +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ActiveTest.h#1 $ +// + + +#ifndef ActiveTest_INCLUDED +#define ActiveTest_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/TestDecorator.h" +#include + + +namespace CppUnit { + + +/* A Microsoft-specific active test + * + * An active test manages its own + * thread of execution. This one + * is very simple and only sufficient + * for the limited use we put it through + * in the TestRunner. It spawns a thread + * on run (TestResult *) and signals + * completion of the test. + * + * We assume that only one thread + * will be active at once for each + * instance. + * + */ +class ActiveTest: public TestDecorator +{ +public: + ActiveTest(Test* test); + ~ActiveTest(); + + void run(TestResult* result); + +protected: + HANDLE _threadHandle; + CEvent _runCompleted; + TestResult* _currentTestResult; + + void run (); + void setTestResult(TestResult* result); + static UINT threadFunction(LPVOID thisInstance); +}; + + +// Construct the active test +inline ActiveTest::ActiveTest(Test *test): TestDecorator(test) +{ + _currentTestResult = NULL; + _threadHandle = INVALID_HANDLE_VALUE; +} + + +// Pend until the test has completed +inline ActiveTest::~ActiveTest() +{ + CSingleLock(&_runCompleted, TRUE); + CloseHandle(_threadHandle); +} + + +// Set the test result that we are to run +inline void ActiveTest::setTestResult(TestResult* result) +{ + _currentTestResult = result; +} + + +// Run our test result +inline void ActiveTest::run() +{ + TestDecorator::run(_currentTestResult); +} + + +} // namespace CppUnit + + +#endif // ActiveTest_INCLUDED + + diff --git a/CppUnit/WinTestRunner/src/DLLMain.cpp b/CppUnit/WinTestRunner/src/DLLMain.cpp index f20ea5b1e..8fd293115 100644 --- a/CppUnit/WinTestRunner/src/DLLMain.cpp +++ b/CppUnit/WinTestRunner/src/DLLMain.cpp @@ -1,50 +1,50 @@ -// -// DLLMain.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/DLLMain.cpp#1 $ -// - - -#include -#include - - -static AFX_EXTENSION_MODULE TestRunnerDLL = { NULL, NULL }; - - -extern "C" int APIENTRY -DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) -{ - // Remove this if you use lpReserved - UNREFERENCED_PARAMETER(lpReserved); - - if (dwReason == DLL_PROCESS_ATTACH) - { - TRACE0("WinTestRunner.DLL Initializing\n"); - - // Extension DLL one-time initialization - if (!AfxInitExtensionModule(TestRunnerDLL, hInstance)) - return 0; - - // Insert this DLL into the resource chain - // NOTE: If this Extension DLL is being implicitly linked to by - // an MFC Regular DLL (such as an ActiveX Control) - // instead of an MFC application, then you will want to - // remove this line from DllMain and put it in a separate - // function exported from this Extension DLL. The Regular DLL - // that uses this Extension DLL should then explicitly call that - // function to initialize this Extension DLL. Otherwise, - // the CDynLinkLibrary object will not be attached to the - // Regular DLL's resource chain, and serious problems will - // result. - - new CDynLinkLibrary(TestRunnerDLL); - } - else if (dwReason == DLL_PROCESS_DETACH) - { - TRACE0("WinTestRunner.DLL Terminating\n"); - // Terminate the library before destructors are called - AfxTermExtensionModule(TestRunnerDLL); - } - return 1; // ok -} +// +// DLLMain.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/DLLMain.cpp#1 $ +// + + +#include +#include + + +static AFX_EXTENSION_MODULE TestRunnerDLL = { NULL, NULL }; + + +extern "C" int APIENTRY +DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +{ + // Remove this if you use lpReserved + UNREFERENCED_PARAMETER(lpReserved); + + if (dwReason == DLL_PROCESS_ATTACH) + { + TRACE0("WinTestRunner.DLL Initializing\n"); + + // Extension DLL one-time initialization + if (!AfxInitExtensionModule(TestRunnerDLL, hInstance)) + return 0; + + // Insert this DLL into the resource chain + // NOTE: If this Extension DLL is being implicitly linked to by + // an MFC Regular DLL (such as an ActiveX Control) + // instead of an MFC application, then you will want to + // remove this line from DllMain and put it in a separate + // function exported from this Extension DLL. The Regular DLL + // that uses this Extension DLL should then explicitly call that + // function to initialize this Extension DLL. Otherwise, + // the CDynLinkLibrary object will not be attached to the + // Regular DLL's resource chain, and serious problems will + // result. + + new CDynLinkLibrary(TestRunnerDLL); + } + else if (dwReason == DLL_PROCESS_DETACH) + { + TRACE0("WinTestRunner.DLL Terminating\n"); + // Terminate the library before destructors are called + AfxTermExtensionModule(TestRunnerDLL); + } + return 1; // ok +} diff --git a/CppUnit/WinTestRunner/src/GUITestResult.cpp b/CppUnit/WinTestRunner/src/GUITestResult.cpp index 9a8c7b75c..9486d02b5 100644 --- a/CppUnit/WinTestRunner/src/GUITestResult.cpp +++ b/CppUnit/WinTestRunner/src/GUITestResult.cpp @@ -1,52 +1,52 @@ -// -// GUITestResult.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/GUITestResult.cpp#1 $ -// - - -#include "TestRunnerDlg.h" -#include "GUITestResult.h" - - -namespace CppUnit { - - -void GUITestResult::addError(Test *test, CppUnitException *e) -{ - ExclusiveZone zone(_syncObject); - - TestResult::addError(test, e); - _runner->addError(this, test, e); -} - - -void GUITestResult::addFailure(Test *test, CppUnitException *e) -{ - ExclusiveZone zone(_syncObject); - - TestResult::addFailure(test, e); - _runner->addFailure(this, test, e); -} - - -void GUITestResult::startTest(Test *test) -{ - ExclusiveZone zone(_syncObject); - - TestResult::startTest(test); - _runner->startTest(test); -} - - -void GUITestResult::endTest(Test *test) -{ - ExclusiveZone zone(_syncObject); - - TestResult::endTest(test); - _runner->endTest(this, test); -} - - -} // namespace CppUnit - +// +// GUITestResult.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/GUITestResult.cpp#1 $ +// + + +#include "TestRunnerDlg.h" +#include "GUITestResult.h" + + +namespace CppUnit { + + +void GUITestResult::addError(Test *test, CppUnitException *e) +{ + ExclusiveZone zone(_syncObject); + + TestResult::addError(test, e); + _runner->addError(this, test, e); +} + + +void GUITestResult::addFailure(Test *test, CppUnitException *e) +{ + ExclusiveZone zone(_syncObject); + + TestResult::addFailure(test, e); + _runner->addFailure(this, test, e); +} + + +void GUITestResult::startTest(Test *test) +{ + ExclusiveZone zone(_syncObject); + + TestResult::startTest(test); + _runner->startTest(test); +} + + +void GUITestResult::endTest(Test *test) +{ + ExclusiveZone zone(_syncObject); + + TestResult::endTest(test); + _runner->endTest(this, test); +} + + +} // namespace CppUnit + diff --git a/CppUnit/WinTestRunner/src/GUITestResult.h b/CppUnit/WinTestRunner/src/GUITestResult.h index 981b640d8..3fae4e00a 100644 --- a/CppUnit/WinTestRunner/src/GUITestResult.h +++ b/CppUnit/WinTestRunner/src/GUITestResult.h @@ -1,83 +1,83 @@ -// -// GUITestResult.h -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/GUITestResult.h#1 $ -// - - -#ifndef GuiTestResult_INCLUDED -#define GuiTestResult_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/TestResult.h" -#include - - -namespace CppUnit { - - -class TestRunnerDlg; - - -class GUITestResult: public TestResult -{ -public: - GUITestResult(TestRunnerDlg* runner); - ~GUITestResult(); - - void addError(Test* test, CppUnitException* e); - void addFailure(Test* test, CppUnitException* e); - - void startTest(Test* test); - void endTest(Test* test); - void stop(); - -protected: - class LightweightSynchronizationObject: public TestResult::SynchronizationObject - { - public: - void lock() - { - _syncObject.Lock(); - } - - void unlock() - { - _syncObject.Unlock(); - } - - private: - CCriticalSection _syncObject; - }; - -private: - TestRunnerDlg *_runner; -}; - - - -// Construct with lightweight synchronization -inline GUITestResult::GUITestResult(TestRunnerDlg* runner): _runner(runner) -{ - setSynchronizationObject(new LightweightSynchronizationObject()); -} - - -// Destructor -inline GUITestResult::~GUITestResult() -{ -} - - -// Override without protection to prevent deadlock -inline void GUITestResult::stop() -{ - _stop = true; -} - - -} // namespace CppUnit - - -#endif // GuiTestResult_INCLUDED +// +// GUITestResult.h +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/GUITestResult.h#1 $ +// + + +#ifndef GuiTestResult_INCLUDED +#define GuiTestResult_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/TestResult.h" +#include + + +namespace CppUnit { + + +class TestRunnerDlg; + + +class GUITestResult: public TestResult +{ +public: + GUITestResult(TestRunnerDlg* runner); + ~GUITestResult(); + + void addError(Test* test, CppUnitException* e); + void addFailure(Test* test, CppUnitException* e); + + void startTest(Test* test); + void endTest(Test* test); + void stop(); + +protected: + class LightweightSynchronizationObject: public TestResult::SynchronizationObject + { + public: + void lock() + { + _syncObject.Lock(); + } + + void unlock() + { + _syncObject.Unlock(); + } + + private: + CCriticalSection _syncObject; + }; + +private: + TestRunnerDlg *_runner; +}; + + + +// Construct with lightweight synchronization +inline GUITestResult::GUITestResult(TestRunnerDlg* runner): _runner(runner) +{ + setSynchronizationObject(new LightweightSynchronizationObject()); +} + + +// Destructor +inline GUITestResult::~GUITestResult() +{ +} + + +// Override without protection to prevent deadlock +inline void GUITestResult::stop() +{ + _stop = true; +} + + +} // namespace CppUnit + + +#endif // GuiTestResult_INCLUDED diff --git a/CppUnit/WinTestRunner/src/ProgressBar.cpp b/CppUnit/WinTestRunner/src/ProgressBar.cpp index f51a772d0..08935e548 100644 --- a/CppUnit/WinTestRunner/src/ProgressBar.cpp +++ b/CppUnit/WinTestRunner/src/ProgressBar.cpp @@ -1,140 +1,140 @@ -// -// ProgressBar.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ProgressBar.cpp#1 $ -// - - -#include "ProgressBar.h" - - -namespace CppUnit { - - -// Paint the progress bar in response to a paint message -void ProgressBar::paint(CDC& dc) -{ - paintBackground (dc); - paintStatus (dc); -} - - -// Paint the background of the progress bar region -void ProgressBar::paintBackground (CDC& dc) -{ - CBrush brshBackground; - CPen penGray (PS_SOLID, 1, RGB (128, 128, 128)); - CPen penWhite (PS_SOLID, 1, RGB (255, 255, 255)); - - VERIFY (brshBackground.CreateSolidBrush (::GetSysColor (COLOR_BTNFACE))); - - dc.FillRect (_bounds, &brshBackground); - - CPen *pOldPen; - - pOldPen = dc.SelectObject (&penGray); - { - dc.MoveTo (_bounds.left, _bounds.top); - dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top); - - dc.MoveTo (_bounds.left, _bounds.top); - dc.LineTo (_bounds.left, _bounds.top + _bounds.Height () -1); - - } - dc.SelectObject (&penWhite); - { - dc.MoveTo (_bounds.left + _bounds.Width () -1, _bounds.top); - dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top + _bounds.Height () -1); - - dc.MoveTo (_bounds.left, _bounds.top + _bounds.Height () -1); - dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top + _bounds.Height () -1); - - } - dc.SelectObject (pOldPen); - -} - - -// Paint the actual status of the progress bar -void ProgressBar::paintStatus (CDC& dc) -{ - if (_progress <= 0) - return; - - CBrush brshStatus; - CRect rect (_bounds.left, _bounds.top, - _bounds.left + _progressX, _bounds.bottom); - - COLORREF statusColor = getStatusColor (); - - VERIFY (brshStatus.CreateSolidBrush (statusColor)); - - rect.DeflateRect (1, 1); - dc.FillRect (rect, &brshStatus); - -} - - -// Paint the current step -void ProgressBar::paintStep (int startX, int endX) -{ - // kludge: painting the whole region on each step - _baseWindow->RedrawWindow (_bounds); - _baseWindow->UpdateWindow (); - -} - - -// Setup the progress bar for execution over a total number of steps -void ProgressBar::start (int total) -{ - _total = total; - reset (); -} - - -// Take one step, indicating whether it was a successful step -void ProgressBar::step (bool successful) -{ - _progress++; - - int x = _progressX; - - _progressX = scale (_progress); - - if (!_error && !successful) - { - _error = true; - x = 1; - } - - paintStep (x, _progressX); - -} - - -// Map from steps to display units -int ProgressBar::scale (int value) -{ - if (_total > 0) - return max (1, value * (_bounds.Width () - 1) / _total); - - return value; - -} - - -// Reset the progress bar -void ProgressBar::reset () -{ - _progressX = 1; - _progress = 0; - _error = false; - - _baseWindow->RedrawWindow (_bounds); - _baseWindow->UpdateWindow (); - -} - - -} // namespace CppUnit +// +// ProgressBar.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ProgressBar.cpp#1 $ +// + + +#include "ProgressBar.h" + + +namespace CppUnit { + + +// Paint the progress bar in response to a paint message +void ProgressBar::paint(CDC& dc) +{ + paintBackground (dc); + paintStatus (dc); +} + + +// Paint the background of the progress bar region +void ProgressBar::paintBackground (CDC& dc) +{ + CBrush brshBackground; + CPen penGray (PS_SOLID, 1, RGB (128, 128, 128)); + CPen penWhite (PS_SOLID, 1, RGB (255, 255, 255)); + + VERIFY (brshBackground.CreateSolidBrush (::GetSysColor (COLOR_BTNFACE))); + + dc.FillRect (_bounds, &brshBackground); + + CPen *pOldPen; + + pOldPen = dc.SelectObject (&penGray); + { + dc.MoveTo (_bounds.left, _bounds.top); + dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top); + + dc.MoveTo (_bounds.left, _bounds.top); + dc.LineTo (_bounds.left, _bounds.top + _bounds.Height () -1); + + } + dc.SelectObject (&penWhite); + { + dc.MoveTo (_bounds.left + _bounds.Width () -1, _bounds.top); + dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top + _bounds.Height () -1); + + dc.MoveTo (_bounds.left, _bounds.top + _bounds.Height () -1); + dc.LineTo (_bounds.left + _bounds.Width () -1, _bounds.top + _bounds.Height () -1); + + } + dc.SelectObject (pOldPen); + +} + + +// Paint the actual status of the progress bar +void ProgressBar::paintStatus (CDC& dc) +{ + if (_progress <= 0) + return; + + CBrush brshStatus; + CRect rect (_bounds.left, _bounds.top, + _bounds.left + _progressX, _bounds.bottom); + + COLORREF statusColor = getStatusColor (); + + VERIFY (brshStatus.CreateSolidBrush (statusColor)); + + rect.DeflateRect (1, 1); + dc.FillRect (rect, &brshStatus); + +} + + +// Paint the current step +void ProgressBar::paintStep (int startX, int endX) +{ + // kludge: painting the whole region on each step + _baseWindow->RedrawWindow (_bounds); + _baseWindow->UpdateWindow (); + +} + + +// Setup the progress bar for execution over a total number of steps +void ProgressBar::start (int total) +{ + _total = total; + reset (); +} + + +// Take one step, indicating whether it was a successful step +void ProgressBar::step (bool successful) +{ + _progress++; + + int x = _progressX; + + _progressX = scale (_progress); + + if (!_error && !successful) + { + _error = true; + x = 1; + } + + paintStep (x, _progressX); + +} + + +// Map from steps to display units +int ProgressBar::scale (int value) +{ + if (_total > 0) + return max (1, value * (_bounds.Width () - 1) / _total); + + return value; + +} + + +// Reset the progress bar +void ProgressBar::reset () +{ + _progressX = 1; + _progress = 0; + _error = false; + + _baseWindow->RedrawWindow (_bounds); + _baseWindow->UpdateWindow (); + +} + + +} // namespace CppUnit diff --git a/CppUnit/WinTestRunner/src/ProgressBar.h b/CppUnit/WinTestRunner/src/ProgressBar.h index 8e937771d..09eaa4796 100644 --- a/CppUnit/WinTestRunner/src/ProgressBar.h +++ b/CppUnit/WinTestRunner/src/ProgressBar.h @@ -1,74 +1,74 @@ -// -// ProgressBar.h -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ProgressBar.h#1 $ -// - - -#ifndef ProgressBar_INCLUDED -#define ProgressBar_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include - - -namespace CppUnit { - - -/* A Simple ProgressBar for test execution display - */ -class ProgressBar -{ -public: - ProgressBar(CWnd* baseWindow, CRect& bounds); - - void step(bool successful); - void paint(CDC& dc); - int scale(int value); - void reset(); - void start(int total); - -protected: - void paintBackground(CDC& dc); - void paintStatus(CDC& dc); - COLORREF getStatusColor(); - void paintStep(int startX, int endX); - - CWnd* _baseWindow; - CRect _bounds; - - bool _error; - int _total; - int _progress; - int _progressX; -}; - - -// Construct a ProgressBar -inline ProgressBar::ProgressBar(CWnd* baseWindow, CRect& bounds): - _baseWindow(baseWindow), - _bounds(bounds), - _error(false), - _total(0), - _progress(0), - _progressX(0) -{ - WINDOWINFO wi; - wi.cbSize = sizeof(WINDOWINFO); - baseWindow->GetWindowInfo(&wi); - _bounds.OffsetRect(-wi.rcClient.left, -wi.rcClient.top); -} - - -// Get the current color -inline COLORREF ProgressBar::getStatusColor() -{ - return _error ? RGB(255, 0, 0) : RGB(0, 255, 0); -} - - -} // namespace CppUnit - - -#endif // ProgressBar_INCLUDED +// +// ProgressBar.h +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/ProgressBar.h#1 $ +// + + +#ifndef ProgressBar_INCLUDED +#define ProgressBar_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include + + +namespace CppUnit { + + +/* A Simple ProgressBar for test execution display + */ +class ProgressBar +{ +public: + ProgressBar(CWnd* baseWindow, CRect& bounds); + + void step(bool successful); + void paint(CDC& dc); + int scale(int value); + void reset(); + void start(int total); + +protected: + void paintBackground(CDC& dc); + void paintStatus(CDC& dc); + COLORREF getStatusColor(); + void paintStep(int startX, int endX); + + CWnd* _baseWindow; + CRect _bounds; + + bool _error; + int _total; + int _progress; + int _progressX; +}; + + +// Construct a ProgressBar +inline ProgressBar::ProgressBar(CWnd* baseWindow, CRect& bounds): + _baseWindow(baseWindow), + _bounds(bounds), + _error(false), + _total(0), + _progress(0), + _progressX(0) +{ + WINDOWINFO wi; + wi.cbSize = sizeof(WINDOWINFO); + baseWindow->GetWindowInfo(&wi); + _bounds.OffsetRect(-wi.rcClient.left, -wi.rcClient.top); +} + + +// Get the current color +inline COLORREF ProgressBar::getStatusColor() +{ + return _error ? RGB(255, 0, 0) : RGB(0, 255, 0); +} + + +} // namespace CppUnit + + +#endif // ProgressBar_INCLUDED diff --git a/CppUnit/WinTestRunner/src/SynchronizedTestResult.h b/CppUnit/WinTestRunner/src/SynchronizedTestResult.h index 84f461547..55dc01c55 100644 --- a/CppUnit/WinTestRunner/src/SynchronizedTestResult.h +++ b/CppUnit/WinTestRunner/src/SynchronizedTestResult.h @@ -1,106 +1,106 @@ -#ifndef SYNCHRONIZEDTESTRESULTDECORATOR_H -#define SYNCHRONIZEDTESTRESULTDECORATOR_H - -#include -#include "TestResultDecorator.h" - -class SynchronizedTestResult : public TestResultDecorator -{ -public: - SynchronizedTestResult (TestResult *result); - ~SynchronizedTestResult (); - - - bool shouldStop (); - void addError (Test *test, CppUnitException *e); - void addFailure (Test *test, CppUnitException *e); - void startTest (Test *test); - void endTest (Test *test); - int runTests (); - int testErrors (); - int testFailures (); - bool wasSuccessful (); - void stop (); - - vector& errors (); - vector& failures (); - -private: - CCriticalSection m_criticalSection; - -}; - - -// Constructor -inline SynchronizedTestResult::SynchronizedTestResult (TestResult *result) -: TestResultDecorator (result) {} - -// Destructor -inline SynchronizedTestResult::~SynchronizedTestResult () -{} - -// Returns whether the test should stop -inline bool SynchronizedTestResult::shouldStop () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->shouldStop (); } - - -// Adds an error to the list of errors. The passed in exception -// caused the error -inline void SynchronizedTestResult::addError (Test *test, CppUnitException *e) -{ CSingleLock sync (&m_criticalSection, TRUE); m_result->addError (test, e); } - - -// Adds a failure to the list of failures. The passed in exception -// caused the failure. -inline void SynchronizedTestResult::addFailure (Test *test, CppUnitException *e) -{ CSingleLock sync (&m_criticalSection, TRUE); m_result->addFailure (test, e); } - - -// Informs the result that a test will be started. -inline void SynchronizedTestResult::startTest (Test *test) -{ CSingleLock sync (&m_criticalSection, TRUE); m_result->startTest (test); } - - -// Informs the result that a test was completed. -inline void SynchronizedTestResult::endTest (Test *test) -{ CSingleLock sync (&m_criticalSection, TRUE); m_result->endTest (test); } - - -// Gets the number of run tests. -inline int SynchronizedTestResult::runTests () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->runTests (); } - - -// Gets the number of detected errors. -inline int SynchronizedTestResult::testErrors () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->testErrors (); } - - -// Gets the number of detected failures. -inline int SynchronizedTestResult::testFailures () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->testFailures (); } - - -// Returns whether the entire test was successful or not. -inline bool SynchronizedTestResult::wasSuccessful () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->wasSuccessful (); } - - -// Marks that the test run should stop. -inline void SynchronizedTestResult::stop () -{ CSingleLock sync (&m_criticalSection, TRUE); m_result->stop (); } - - -// Returns a vector of the errors. -inline vector& SynchronizedTestResult::errors () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->errors (); } - - -// Returns a vector of the failures. -inline vector& SynchronizedTestResult::failures () -{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->failures (); } - - -#endif - - +#ifndef SYNCHRONIZEDTESTRESULTDECORATOR_H +#define SYNCHRONIZEDTESTRESULTDECORATOR_H + +#include +#include "TestResultDecorator.h" + +class SynchronizedTestResult : public TestResultDecorator +{ +public: + SynchronizedTestResult (TestResult *result); + ~SynchronizedTestResult (); + + + bool shouldStop (); + void addError (Test *test, CppUnitException *e); + void addFailure (Test *test, CppUnitException *e); + void startTest (Test *test); + void endTest (Test *test); + int runTests (); + int testErrors (); + int testFailures (); + bool wasSuccessful (); + void stop (); + + vector& errors (); + vector& failures (); + +private: + CCriticalSection m_criticalSection; + +}; + + +// Constructor +inline SynchronizedTestResult::SynchronizedTestResult (TestResult *result) +: TestResultDecorator (result) {} + +// Destructor +inline SynchronizedTestResult::~SynchronizedTestResult () +{} + +// Returns whether the test should stop +inline bool SynchronizedTestResult::shouldStop () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->shouldStop (); } + + +// Adds an error to the list of errors. The passed in exception +// caused the error +inline void SynchronizedTestResult::addError (Test *test, CppUnitException *e) +{ CSingleLock sync (&m_criticalSection, TRUE); m_result->addError (test, e); } + + +// Adds a failure to the list of failures. The passed in exception +// caused the failure. +inline void SynchronizedTestResult::addFailure (Test *test, CppUnitException *e) +{ CSingleLock sync (&m_criticalSection, TRUE); m_result->addFailure (test, e); } + + +// Informs the result that a test will be started. +inline void SynchronizedTestResult::startTest (Test *test) +{ CSingleLock sync (&m_criticalSection, TRUE); m_result->startTest (test); } + + +// Informs the result that a test was completed. +inline void SynchronizedTestResult::endTest (Test *test) +{ CSingleLock sync (&m_criticalSection, TRUE); m_result->endTest (test); } + + +// Gets the number of run tests. +inline int SynchronizedTestResult::runTests () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->runTests (); } + + +// Gets the number of detected errors. +inline int SynchronizedTestResult::testErrors () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->testErrors (); } + + +// Gets the number of detected failures. +inline int SynchronizedTestResult::testFailures () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->testFailures (); } + + +// Returns whether the entire test was successful or not. +inline bool SynchronizedTestResult::wasSuccessful () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->wasSuccessful (); } + + +// Marks that the test run should stop. +inline void SynchronizedTestResult::stop () +{ CSingleLock sync (&m_criticalSection, TRUE); m_result->stop (); } + + +// Returns a vector of the errors. +inline vector& SynchronizedTestResult::errors () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->errors (); } + + +// Returns a vector of the failures. +inline vector& SynchronizedTestResult::failures () +{ CSingleLock sync (&m_criticalSection, TRUE); return m_result->failures (); } + + +#endif + + diff --git a/CppUnit/WinTestRunner/src/TestResultDecorator.h b/CppUnit/WinTestRunner/src/TestResultDecorator.h index ed2d46212..33ed48db0 100644 --- a/CppUnit/WinTestRunner/src/TestResultDecorator.h +++ b/CppUnit/WinTestRunner/src/TestResultDecorator.h @@ -1,102 +1,102 @@ -#ifndef CPP_UNIT_TESTRESULTDECORATOR_H -#define CPP_UNIT_TESTRESULTDECORATOR_H - -#include "TestResult.h" - -class TestResultDecorator -{ -public: - TestResultDecorator (TestResult *result); - virtual ~TestResultDecorator (); - - - virtual bool shouldStop (); - virtual void addError (Test *test, CppUnitException *e); - virtual void addFailure (Test *test, CppUnitException *e); - virtual void startTest (Test *test); - virtual void endTest (Test *test); - virtual int runTests (); - virtual int testErrors (); - virtual int testFailures (); - virtual bool wasSuccessful (); - virtual void stop (); - - vector& errors (); - vector& failures (); - -protected: - TestResult *m_result; -}; - - -inline TestResultDecorator::TestResultDecorator (TestResult *result) -: m_result (result) {} - -inline TestResultDecorator::~TestResultDecorator () -{} - -// Returns whether the test should stop -inline bool TestResultDecorator::shouldStop () -{ return m_result->shouldStop (); } - - -// Adds an error to the list of errors. The passed in exception -// caused the error -inline void TestResultDecorator::addError (Test *test, CppUnitException *e) -{ m_result->addError (test, e); } - - -// Adds a failure to the list of failures. The passed in exception -// caused the failure. -inline void TestResultDecorator::addFailure (Test *test, CppUnitException *e) -{ m_result->addFailure (test, e); } - - -// Informs the result that a test will be started. -inline void TestResultDecorator::startTest (Test *test) -{ m_result->startTest (test); } - - -// Informs the result that a test was completed. -inline void TestResultDecorator::endTest (Test *test) -{ m_result->endTest (test); } - - -// Gets the number of run tests. -inline int TestResultDecorator::runTests () -{ return m_result->runTests (); } - - -// Gets the number of detected errors. -inline int TestResultDecorator::testErrors () -{ return m_result->testErrors (); } - - -// Gets the number of detected failures. -inline int TestResultDecorator::testFailures () -{ return m_result->testFailures (); } - - -// Returns whether the entire test was successful or not. -inline bool TestResultDecorator::wasSuccessful () -{ return m_result->wasSuccessful (); } - - -// Marks that the test run should stop. -inline void TestResultDecorator::stop () -{ m_result->stop (); } - - -// Returns a vector of the errors. -inline vector& TestResultDecorator::errors () -{ return m_result->errors (); } - - -// Returns a vector of the failures. -inline vector& TestResultDecorator::failures () -{ return m_result->failures (); } - - -#endif - - +#ifndef CPP_UNIT_TESTRESULTDECORATOR_H +#define CPP_UNIT_TESTRESULTDECORATOR_H + +#include "TestResult.h" + +class TestResultDecorator +{ +public: + TestResultDecorator (TestResult *result); + virtual ~TestResultDecorator (); + + + virtual bool shouldStop (); + virtual void addError (Test *test, CppUnitException *e); + virtual void addFailure (Test *test, CppUnitException *e); + virtual void startTest (Test *test); + virtual void endTest (Test *test); + virtual int runTests (); + virtual int testErrors (); + virtual int testFailures (); + virtual bool wasSuccessful (); + virtual void stop (); + + vector& errors (); + vector& failures (); + +protected: + TestResult *m_result; +}; + + +inline TestResultDecorator::TestResultDecorator (TestResult *result) +: m_result (result) {} + +inline TestResultDecorator::~TestResultDecorator () +{} + +// Returns whether the test should stop +inline bool TestResultDecorator::shouldStop () +{ return m_result->shouldStop (); } + + +// Adds an error to the list of errors. The passed in exception +// caused the error +inline void TestResultDecorator::addError (Test *test, CppUnitException *e) +{ m_result->addError (test, e); } + + +// Adds a failure to the list of failures. The passed in exception +// caused the failure. +inline void TestResultDecorator::addFailure (Test *test, CppUnitException *e) +{ m_result->addFailure (test, e); } + + +// Informs the result that a test will be started. +inline void TestResultDecorator::startTest (Test *test) +{ m_result->startTest (test); } + + +// Informs the result that a test was completed. +inline void TestResultDecorator::endTest (Test *test) +{ m_result->endTest (test); } + + +// Gets the number of run tests. +inline int TestResultDecorator::runTests () +{ return m_result->runTests (); } + + +// Gets the number of detected errors. +inline int TestResultDecorator::testErrors () +{ return m_result->testErrors (); } + + +// Gets the number of detected failures. +inline int TestResultDecorator::testFailures () +{ return m_result->testFailures (); } + + +// Returns whether the entire test was successful or not. +inline bool TestResultDecorator::wasSuccessful () +{ return m_result->wasSuccessful (); } + + +// Marks that the test run should stop. +inline void TestResultDecorator::stop () +{ m_result->stop (); } + + +// Returns a vector of the errors. +inline vector& TestResultDecorator::errors () +{ return m_result->errors (); } + + +// Returns a vector of the failures. +inline vector& TestResultDecorator::failures () +{ return m_result->failures (); } + + +#endif + + diff --git a/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp b/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp index 9ad6b4690..b8aca676a 100644 --- a/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp +++ b/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp @@ -1,439 +1,439 @@ -// -// TestRunnerDlg.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp#1 $ -// - - -#include -#include -#include -#include -#include "TestRunnerDlg.h" -#include "ActiveTest.h" -#include "GUITestResult.h" -#include "ProgressBar.h" -#include "CppUnit/TestSuite.h" -#include "TestRunnerDlg.h" - - -namespace CppUnit { - - -TestRunnerDlg::TestRunnerDlg(CWnd* pParent): CDialog(TestRunnerDlg::IDD, pParent) -{ - //{{AFX_DATA_INIT(TestRunnerDlg) - // NOTE: the ClassWizard will add member initialization here - //}}AFX_DATA_INIT - - _testsProgress = 0; - _selectedTest = 0; - _currentTest = 0; -} - - -void TestRunnerDlg::DoDataExchange(CDataExchange* pDX) -{ - CDialog::DoDataExchange(pDX); - //{{AFX_DATA_MAP(TestRunnerDlg) - // NOTE: the ClassWizard will add DDX and DDV calls here - //}}AFX_DATA_MAP -} - - -BEGIN_MESSAGE_MAP(TestRunnerDlg, CDialog) - //{{AFX_MSG_MAP(TestRunnerDlg) - ON_BN_CLICKED(ID_RUN, OnRun) - ON_BN_CLICKED(ID_STOP, OnStop) - ON_CBN_SELCHANGE(IDC_COMBO_TEST, OnSelchangeComboTest) - ON_BN_CLICKED(IDC_CHK_AUTORUN, OnBnClickedAutorun) - ON_WM_PAINT() - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - - -BOOL TestRunnerDlg::OnInitDialog() -{ - CDialog::OnInitDialog(); - - CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); - CComboBox *comboBox = (CComboBox *)GetDlgItem (IDC_COMBO_TEST); - - ASSERT (listCtrl); - ASSERT (comboBox); - - CString title; - GetWindowText(title); -#if defined(_DEBUG) - title.Append(" [debug]"); -#else - title.Append(" [release]"); -#endif - SetWindowText(title); - - listCtrl->InsertColumn (0,"Type", LVCFMT_LEFT, 16 + listCtrl->GetStringWidth ("Type"), 1); - listCtrl->InsertColumn (1,"Name", LVCFMT_LEFT, 16 * listCtrl->GetStringWidth ("X"), 2); - listCtrl->InsertColumn (2,"Failed Condition", LVCFMT_LEFT, 24 * listCtrl->GetStringWidth ("M"), 3); - listCtrl->InsertColumn (3,"Line", LVCFMT_LEFT, 16 + listCtrl->GetStringWidth ("0000"), 4); - listCtrl->InsertColumn (4,"File Name", LVCFMT_LEFT, 36 * listCtrl->GetStringWidth ("M"), 5); - - int numberOfCases = 0; - - CWinApp* pApp = AfxGetApp(); - CString lastTestCS = pApp->GetProfileString("Tests", "lastTest"); - std::string lastTest((LPCSTR) lastTestCS); - int sel = -1; - for (std::vector::iterator it = _tests.begin (); it != _tests.end (); ++it) - { - std::string cbName(it->level*4, ' '); - cbName.append(it->pTest->toString()); - comboBox->AddString (cbName.c_str ()); - if (sel < 0) - { - if (lastTest.empty() || lastTest == it->pTest->toString()) - { - _selectedTest = it->pTest; - sel = numberOfCases; - } - } - numberOfCases++; - } - - if (numberOfCases > 0) - { - if (sel < 0) - { - _selectedTest = _tests[0].pTest; - sel = 0; - } - comboBox->SetCurSel (sel); - } - else - { - beRunDisabled (); - } - CWnd *pProgress = GetDlgItem(IDC_PROGRESS); - CRect rect; - pProgress->GetWindowRect(&rect); - _testsProgress = new ProgressBar (this, rect); - - CButton* autoRunBtn = (CButton*) GetDlgItem(IDC_CHK_AUTORUN); - autoRunBtn->SetCheck(pApp->GetProfileInt("Tests", "autoRun", BST_UNCHECKED)); - - reset (); - - if (autoRunBtn->GetCheck() == BST_CHECKED) - { - OnRun(); - } - - return TRUE; // return TRUE unless you set the focus to a control - // EXCEPTION: OCX Property Pages should return FALSE -} - - -TestRunnerDlg::~TestRunnerDlg () -{ - freeState (); - delete _testsProgress; -} - - -void TestRunnerDlg::OnRun() -{ - if (_selectedTest == 0) - return; - - freeState (); - reset (); - - beRunning (); - - int numberOfTests = _selectedTest->countTestCases (); - - _testsProgress->start (numberOfTests); - - _result = new GUITestResult ((TestRunnerDlg *)this); - _activeTest = new ActiveTest (_selectedTest); - - _testStartTime = timeGetTime (); - - _activeTest->run (_result); - - _testEndTime = timeGetTime (); - -} - - -void TestRunnerDlg::addListEntry(const std::string& type, TestResult *result, Test *test, CppUnitException *e) -{ - char stage [80]; - LV_ITEM lvi; - CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); - int currentEntry = result->testErrors () + result->testFailures () -1; - - sprintf (stage, "%s", type.c_str ()); - - lvi.mask = LVIF_TEXT; - lvi.iItem = currentEntry; - lvi.iSubItem = 0; - lvi.pszText = stage; - lvi.iImage = 0; - lvi.stateMask = 0; - lvi.state = 0; - - listCtrl->InsertItem (&lvi); - - // Set class string - listCtrl->SetItemText (currentEntry, 1, test->toString ().c_str ()); - - // Set the asserted text - listCtrl->SetItemText(currentEntry, 2, e->what ()); - - // Set the line number - if (e->lineNumber () == CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) - sprintf (stage, ""); - else - sprintf (stage, "%ld", e->lineNumber ()); - - listCtrl->SetItemText(currentEntry, 3, stage); - - // Set the file name - listCtrl->SetItemText(currentEntry, 4, e->fileName ().c_str ()); - - listCtrl->RedrawItems (currentEntry, currentEntry); - listCtrl->UpdateWindow (); - -} - - -void TestRunnerDlg::addError (TestResult *result, Test *test, CppUnitException *e) -{ - addListEntry ("Error", result, test, e); - _errors++; - - _currentTest = 0; - updateCountsDisplay (); - -} - - -void TestRunnerDlg::addFailure (TestResult *result, Test *test, CppUnitException *e) -{ - addListEntry ("Failure", result, test, e); - _failures++; - - _currentTest = 0; - updateCountsDisplay (); - -} - - -void TestRunnerDlg::startTest(Test* test) -{ - _currentTest = test; - updateCountsDisplay(); -} - - -void TestRunnerDlg::endTest (TestResult *result, Test *test) -{ - if (_selectedTest == 0) - return; - _currentTest = 0; - - _testsRun++; - updateCountsDisplay (); - _testsProgress->step (_failures == 0 && _errors == 0); - - _testEndTime = timeGetTime (); - - updateCountsDisplay (); - - if (_testsRun >= _selectedTest->countTestCases ()) - beIdle (); -} - - -void TestRunnerDlg::beRunning () -{ - CButton *runButton = (CButton *)GetDlgItem (ID_RUN); - CButton *closeButton = (CButton *)GetDlgItem (IDOK); - - runButton->EnableWindow (FALSE); - closeButton->EnableWindow (FALSE); - -} - - -void TestRunnerDlg::beIdle () -{ - CButton *runButton = (CButton *)GetDlgItem (ID_RUN); - CButton *closeButton = (CButton *)GetDlgItem (IDOK); - - runButton->EnableWindow (TRUE); - closeButton->EnableWindow (TRUE); - -} - - -void TestRunnerDlg::beRunDisabled () -{ - CButton *runButton = (CButton *)GetDlgItem (ID_RUN); - CButton *closeButton = (CButton *)GetDlgItem (IDOK); - CButton *stopButton = (CButton *)GetDlgItem (ID_STOP); - - runButton->EnableWindow (FALSE); - stopButton->EnableWindow (FALSE); - closeButton->EnableWindow (TRUE); - -} - - -void TestRunnerDlg::freeState () -{ - delete _activeTest; - delete _result; - -} - - -void TestRunnerDlg::reset () -{ - _testsRun = 0; - _errors = 0; - _failures = 0; - _testEndTime = _testStartTime; - - updateCountsDisplay (); - - _activeTest = 0; - _result = 0; - - CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); - - listCtrl->DeleteAllItems (); - _testsProgress->reset (); - -} - - -void TestRunnerDlg::updateCountsDisplay () -{ - CStatic *statTestsRun = (CStatic *)GetDlgItem (IDC_STATIC_RUNS); - CStatic *statErrors = (CStatic *)GetDlgItem (IDC_STATIC_ERRORS); - CStatic *statFailures = (CStatic *)GetDlgItem (IDC_STATIC_FAILURES); - CEdit *editTime = (CEdit *)GetDlgItem (IDC_EDIT_TIME); - - CString argumentString; - - argumentString.Format ("%d", _testsRun); - statTestsRun ->SetWindowText (argumentString); - - argumentString.Format ("%d", _errors); - statErrors ->SetWindowText (argumentString); - - argumentString.Format ("%d", _failures); - statFailures ->SetWindowText (argumentString); - - if (_currentTest) - argumentString.Format ("Execution Time: %3.3lf seconds, Current Test: %s", (_testEndTime - _testStartTime) / 1000.0, _currentTest->toString().c_str()); - else - argumentString.Format ("Execution Time: %3.3lf seconds", (_testEndTime - _testStartTime) / 1000.0); - - editTime ->SetWindowText (argumentString); - - -} - - -void TestRunnerDlg::OnStop() -{ - if (_result) - _result->stop (); - - beIdle (); - -} - - -void TestRunnerDlg::OnOK() -{ - if (_result) - _result->stop (); - - CDialog::OnOK (); -} - - -void TestRunnerDlg::OnSelchangeComboTest() -{ - CComboBox *testsSelection = (CComboBox *)GetDlgItem (IDC_COMBO_TEST); - - int currentSelection = testsSelection->GetCurSel (); - - if (currentSelection >= 0 && currentSelection < _tests.size ()) - { - _selectedTest = (_tests.begin () + currentSelection)->pTest; - beIdle (); - CWinApp* pApp = AfxGetApp(); - pApp->WriteProfileString("Tests", "lastTest", _selectedTest->toString().c_str()); - } - else - { - _selectedTest = 0; - beRunDisabled (); - - } - - freeState (); - reset (); - -} - - -void TestRunnerDlg::OnBnClickedAutorun() -{ - CButton *autoRunBtn = (CButton *)GetDlgItem (IDC_CHK_AUTORUN); - CWinApp* pApp = AfxGetApp(); - pApp->WriteProfileInt("Tests", "autoRun", autoRunBtn->GetCheck()); -} - - -void TestRunnerDlg::OnPaint() -{ - CPaintDC dc (this); - - _testsProgress->paint (dc); -} - - -void TestRunnerDlg::setTests(const std::vector& tests) -{ - _tests.clear(); - for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) - { - addTest(*it, 0); - } -} - - -void TestRunnerDlg::addTest(Test* pTest, int level) -{ - TestInfo ti; - ti.pTest = pTest; - ti.level = level; - _tests.push_back(ti); - TestSuite* pSuite = dynamic_cast(pTest); - if (pSuite) - { - const std::vector& tests = pSuite->tests(); - for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) - { - addTest(*it, level + 1); - } - } -} - - -} // namespace CppUnit +// +// TestRunnerDlg.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/TestRunnerDlg.cpp#1 $ +// + + +#include +#include +#include +#include +#include "TestRunnerDlg.h" +#include "ActiveTest.h" +#include "GUITestResult.h" +#include "ProgressBar.h" +#include "CppUnit/TestSuite.h" +#include "TestRunnerDlg.h" + + +namespace CppUnit { + + +TestRunnerDlg::TestRunnerDlg(CWnd* pParent): CDialog(TestRunnerDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(TestRunnerDlg) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT + + _testsProgress = 0; + _selectedTest = 0; + _currentTest = 0; +} + + +void TestRunnerDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(TestRunnerDlg) + // NOTE: the ClassWizard will add DDX and DDV calls here + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(TestRunnerDlg, CDialog) + //{{AFX_MSG_MAP(TestRunnerDlg) + ON_BN_CLICKED(ID_RUN, OnRun) + ON_BN_CLICKED(ID_STOP, OnStop) + ON_CBN_SELCHANGE(IDC_COMBO_TEST, OnSelchangeComboTest) + ON_BN_CLICKED(IDC_CHK_AUTORUN, OnBnClickedAutorun) + ON_WM_PAINT() + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +BOOL TestRunnerDlg::OnInitDialog() +{ + CDialog::OnInitDialog(); + + CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); + CComboBox *comboBox = (CComboBox *)GetDlgItem (IDC_COMBO_TEST); + + ASSERT (listCtrl); + ASSERT (comboBox); + + CString title; + GetWindowText(title); +#if defined(_DEBUG) + title.Append(" [debug]"); +#else + title.Append(" [release]"); +#endif + SetWindowText(title); + + listCtrl->InsertColumn (0,"Type", LVCFMT_LEFT, 16 + listCtrl->GetStringWidth ("Type"), 1); + listCtrl->InsertColumn (1,"Name", LVCFMT_LEFT, 16 * listCtrl->GetStringWidth ("X"), 2); + listCtrl->InsertColumn (2,"Failed Condition", LVCFMT_LEFT, 24 * listCtrl->GetStringWidth ("M"), 3); + listCtrl->InsertColumn (3,"Line", LVCFMT_LEFT, 16 + listCtrl->GetStringWidth ("0000"), 4); + listCtrl->InsertColumn (4,"File Name", LVCFMT_LEFT, 36 * listCtrl->GetStringWidth ("M"), 5); + + int numberOfCases = 0; + + CWinApp* pApp = AfxGetApp(); + CString lastTestCS = pApp->GetProfileString("Tests", "lastTest"); + std::string lastTest((LPCSTR) lastTestCS); + int sel = -1; + for (std::vector::iterator it = _tests.begin (); it != _tests.end (); ++it) + { + std::string cbName(it->level*4, ' '); + cbName.append(it->pTest->toString()); + comboBox->AddString (cbName.c_str ()); + if (sel < 0) + { + if (lastTest.empty() || lastTest == it->pTest->toString()) + { + _selectedTest = it->pTest; + sel = numberOfCases; + } + } + numberOfCases++; + } + + if (numberOfCases > 0) + { + if (sel < 0) + { + _selectedTest = _tests[0].pTest; + sel = 0; + } + comboBox->SetCurSel (sel); + } + else + { + beRunDisabled (); + } + CWnd *pProgress = GetDlgItem(IDC_PROGRESS); + CRect rect; + pProgress->GetWindowRect(&rect); + _testsProgress = new ProgressBar (this, rect); + + CButton* autoRunBtn = (CButton*) GetDlgItem(IDC_CHK_AUTORUN); + autoRunBtn->SetCheck(pApp->GetProfileInt("Tests", "autoRun", BST_UNCHECKED)); + + reset (); + + if (autoRunBtn->GetCheck() == BST_CHECKED) + { + OnRun(); + } + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + + +TestRunnerDlg::~TestRunnerDlg () +{ + freeState (); + delete _testsProgress; +} + + +void TestRunnerDlg::OnRun() +{ + if (_selectedTest == 0) + return; + + freeState (); + reset (); + + beRunning (); + + int numberOfTests = _selectedTest->countTestCases (); + + _testsProgress->start (numberOfTests); + + _result = new GUITestResult ((TestRunnerDlg *)this); + _activeTest = new ActiveTest (_selectedTest); + + _testStartTime = timeGetTime (); + + _activeTest->run (_result); + + _testEndTime = timeGetTime (); + +} + + +void TestRunnerDlg::addListEntry(const std::string& type, TestResult *result, Test *test, CppUnitException *e) +{ + char stage [80]; + LV_ITEM lvi; + CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); + int currentEntry = result->testErrors () + result->testFailures () -1; + + sprintf (stage, "%s", type.c_str ()); + + lvi.mask = LVIF_TEXT; + lvi.iItem = currentEntry; + lvi.iSubItem = 0; + lvi.pszText = stage; + lvi.iImage = 0; + lvi.stateMask = 0; + lvi.state = 0; + + listCtrl->InsertItem (&lvi); + + // Set class string + listCtrl->SetItemText (currentEntry, 1, test->toString ().c_str ()); + + // Set the asserted text + listCtrl->SetItemText(currentEntry, 2, e->what ()); + + // Set the line number + if (e->lineNumber () == CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) + sprintf (stage, ""); + else + sprintf (stage, "%ld", e->lineNumber ()); + + listCtrl->SetItemText(currentEntry, 3, stage); + + // Set the file name + listCtrl->SetItemText(currentEntry, 4, e->fileName ().c_str ()); + + listCtrl->RedrawItems (currentEntry, currentEntry); + listCtrl->UpdateWindow (); + +} + + +void TestRunnerDlg::addError (TestResult *result, Test *test, CppUnitException *e) +{ + addListEntry ("Error", result, test, e); + _errors++; + + _currentTest = 0; + updateCountsDisplay (); + +} + + +void TestRunnerDlg::addFailure (TestResult *result, Test *test, CppUnitException *e) +{ + addListEntry ("Failure", result, test, e); + _failures++; + + _currentTest = 0; + updateCountsDisplay (); + +} + + +void TestRunnerDlg::startTest(Test* test) +{ + _currentTest = test; + updateCountsDisplay(); +} + + +void TestRunnerDlg::endTest (TestResult *result, Test *test) +{ + if (_selectedTest == 0) + return; + _currentTest = 0; + + _testsRun++; + updateCountsDisplay (); + _testsProgress->step (_failures == 0 && _errors == 0); + + _testEndTime = timeGetTime (); + + updateCountsDisplay (); + + if (_testsRun >= _selectedTest->countTestCases ()) + beIdle (); +} + + +void TestRunnerDlg::beRunning () +{ + CButton *runButton = (CButton *)GetDlgItem (ID_RUN); + CButton *closeButton = (CButton *)GetDlgItem (IDOK); + + runButton->EnableWindow (FALSE); + closeButton->EnableWindow (FALSE); + +} + + +void TestRunnerDlg::beIdle () +{ + CButton *runButton = (CButton *)GetDlgItem (ID_RUN); + CButton *closeButton = (CButton *)GetDlgItem (IDOK); + + runButton->EnableWindow (TRUE); + closeButton->EnableWindow (TRUE); + +} + + +void TestRunnerDlg::beRunDisabled () +{ + CButton *runButton = (CButton *)GetDlgItem (ID_RUN); + CButton *closeButton = (CButton *)GetDlgItem (IDOK); + CButton *stopButton = (CButton *)GetDlgItem (ID_STOP); + + runButton->EnableWindow (FALSE); + stopButton->EnableWindow (FALSE); + closeButton->EnableWindow (TRUE); + +} + + +void TestRunnerDlg::freeState () +{ + delete _activeTest; + delete _result; + +} + + +void TestRunnerDlg::reset () +{ + _testsRun = 0; + _errors = 0; + _failures = 0; + _testEndTime = _testStartTime; + + updateCountsDisplay (); + + _activeTest = 0; + _result = 0; + + CListCtrl *listCtrl = (CListCtrl *)GetDlgItem (IDC_LIST); + + listCtrl->DeleteAllItems (); + _testsProgress->reset (); + +} + + +void TestRunnerDlg::updateCountsDisplay () +{ + CStatic *statTestsRun = (CStatic *)GetDlgItem (IDC_STATIC_RUNS); + CStatic *statErrors = (CStatic *)GetDlgItem (IDC_STATIC_ERRORS); + CStatic *statFailures = (CStatic *)GetDlgItem (IDC_STATIC_FAILURES); + CEdit *editTime = (CEdit *)GetDlgItem (IDC_EDIT_TIME); + + CString argumentString; + + argumentString.Format ("%d", _testsRun); + statTestsRun ->SetWindowText (argumentString); + + argumentString.Format ("%d", _errors); + statErrors ->SetWindowText (argumentString); + + argumentString.Format ("%d", _failures); + statFailures ->SetWindowText (argumentString); + + if (_currentTest) + argumentString.Format ("Execution Time: %3.3lf seconds, Current Test: %s", (_testEndTime - _testStartTime) / 1000.0, _currentTest->toString().c_str()); + else + argumentString.Format ("Execution Time: %3.3lf seconds", (_testEndTime - _testStartTime) / 1000.0); + + editTime ->SetWindowText (argumentString); + + +} + + +void TestRunnerDlg::OnStop() +{ + if (_result) + _result->stop (); + + beIdle (); + +} + + +void TestRunnerDlg::OnOK() +{ + if (_result) + _result->stop (); + + CDialog::OnOK (); +} + + +void TestRunnerDlg::OnSelchangeComboTest() +{ + CComboBox *testsSelection = (CComboBox *)GetDlgItem (IDC_COMBO_TEST); + + int currentSelection = testsSelection->GetCurSel (); + + if (currentSelection >= 0 && currentSelection < _tests.size ()) + { + _selectedTest = (_tests.begin () + currentSelection)->pTest; + beIdle (); + CWinApp* pApp = AfxGetApp(); + pApp->WriteProfileString("Tests", "lastTest", _selectedTest->toString().c_str()); + } + else + { + _selectedTest = 0; + beRunDisabled (); + + } + + freeState (); + reset (); + +} + + +void TestRunnerDlg::OnBnClickedAutorun() +{ + CButton *autoRunBtn = (CButton *)GetDlgItem (IDC_CHK_AUTORUN); + CWinApp* pApp = AfxGetApp(); + pApp->WriteProfileInt("Tests", "autoRun", autoRunBtn->GetCheck()); +} + + +void TestRunnerDlg::OnPaint() +{ + CPaintDC dc (this); + + _testsProgress->paint (dc); +} + + +void TestRunnerDlg::setTests(const std::vector& tests) +{ + _tests.clear(); + for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) + { + addTest(*it, 0); + } +} + + +void TestRunnerDlg::addTest(Test* pTest, int level) +{ + TestInfo ti; + ti.pTest = pTest; + ti.level = level; + _tests.push_back(ti); + TestSuite* pSuite = dynamic_cast(pTest); + if (pSuite) + { + const std::vector& tests = pSuite->tests(); + for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) + { + addTest(*it, level + 1); + } + } +} + + +} // namespace CppUnit diff --git a/CppUnit/WinTestRunner/src/TestRunnerDlg.h b/CppUnit/WinTestRunner/src/TestRunnerDlg.h index 83ba5675e..8357bda2e 100644 --- a/CppUnit/WinTestRunner/src/TestRunnerDlg.h +++ b/CppUnit/WinTestRunner/src/TestRunnerDlg.h @@ -1,94 +1,94 @@ -// -// TestRunnerDlg.h -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/TestRunnerDlg.h#1 $ -// - - -#ifndef TestRunnerDlg_INCLUDED -#define TestRunnerDlg_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/CppUnitException.h" -#include "ActiveTest.h" -#include -#include "../res/Resource.h" -#include -#include "afxwin.h" - - -namespace CppUnit { - - -class ProgressBar; - - -class TestRunnerDlg: public CDialog -{ -public: - TestRunnerDlg(CWnd* pParent = NULL); - ~TestRunnerDlg(); - - void setTests(const std::vector& tests); - - void addError(TestResult* result, Test* test, CppUnitException* e); - void addFailure(TestResult* result, Test* test, CppUnitException* e); - void startTest(Test* test); - void endTest(TestResult* result, Test* test); - - //{{AFX_DATA(TestRunnerDlg) - enum { IDD = IDD_DIALOG_TESTRUNNER }; - // NOTE: the ClassWizard will add data members here - //}}AFX_DATA - - //{{AFX_VIRTUAL(TestRunnerDlg) - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - //}}AFX_VIRTUAL - -protected: - //{{AFX_MSG(TestRunnerDlg) - virtual BOOL OnInitDialog(); - afx_msg void OnRun(); - afx_msg void OnStop(); - virtual void OnOK(); - afx_msg void OnSelchangeComboTest(); - afx_msg void OnBnClickedAutorun(); - afx_msg void OnPaint(); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() - - void addListEntry(const std::string& type, TestResult* result, Test* test, CppUnitException* e); - void beIdle(); - void beRunning(); - void beRunDisabled(); - void reset(); - void freeState(); - void updateCountsDisplay(); - void addTest(Test* pTest, int level); - - struct TestInfo - { - Test* pTest; - int level; - }; - std::vector _tests; - ProgressBar* _testsProgress; - Test* _selectedTest; - ActiveTest* _activeTest; - TestResult* _result; - int _testsRun; - int _errors; - int _failures; - DWORD _testStartTime; - DWORD _testEndTime; - Test* _currentTest; -}; - - -} // namespace CppUnit - - -#endif // TestRunnerDlg_INCLUDED - +// +// TestRunnerDlg.h +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/TestRunnerDlg.h#1 $ +// + + +#ifndef TestRunnerDlg_INCLUDED +#define TestRunnerDlg_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/CppUnitException.h" +#include "ActiveTest.h" +#include +#include "../res/Resource.h" +#include +#include "afxwin.h" + + +namespace CppUnit { + + +class ProgressBar; + + +class TestRunnerDlg: public CDialog +{ +public: + TestRunnerDlg(CWnd* pParent = NULL); + ~TestRunnerDlg(); + + void setTests(const std::vector& tests); + + void addError(TestResult* result, Test* test, CppUnitException* e); + void addFailure(TestResult* result, Test* test, CppUnitException* e); + void startTest(Test* test); + void endTest(TestResult* result, Test* test); + + //{{AFX_DATA(TestRunnerDlg) + enum { IDD = IDD_DIALOG_TESTRUNNER }; + // NOTE: the ClassWizard will add data members here + //}}AFX_DATA + + //{{AFX_VIRTUAL(TestRunnerDlg) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + //}}AFX_VIRTUAL + +protected: + //{{AFX_MSG(TestRunnerDlg) + virtual BOOL OnInitDialog(); + afx_msg void OnRun(); + afx_msg void OnStop(); + virtual void OnOK(); + afx_msg void OnSelchangeComboTest(); + afx_msg void OnBnClickedAutorun(); + afx_msg void OnPaint(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + + void addListEntry(const std::string& type, TestResult* result, Test* test, CppUnitException* e); + void beIdle(); + void beRunning(); + void beRunDisabled(); + void reset(); + void freeState(); + void updateCountsDisplay(); + void addTest(Test* pTest, int level); + + struct TestInfo + { + Test* pTest; + int level; + }; + std::vector _tests; + ProgressBar* _testsProgress; + Test* _selectedTest; + ActiveTest* _activeTest; + TestResult* _result; + int _testsRun; + int _errors; + int _failures; + DWORD _testStartTime; + DWORD _testEndTime; + Test* _currentTest; +}; + + +} // namespace CppUnit + + +#endif // TestRunnerDlg_INCLUDED + diff --git a/CppUnit/WinTestRunner/src/WinTestRunner.cpp b/CppUnit/WinTestRunner/src/WinTestRunner.cpp index d9218db45..b974f7b58 100644 --- a/CppUnit/WinTestRunner/src/WinTestRunner.cpp +++ b/CppUnit/WinTestRunner/src/WinTestRunner.cpp @@ -1,96 +1,96 @@ -// -// WinTestRunner.cpp -// -// $Id: //poco/1.4/CppUnit/WinTestRunner/src/WinTestRunner.cpp#1 $ -// - - -#include "WinTestRunner/WinTestRunner.h" -#include "TestRunnerDlg.h" -#include "CppUnit/TestRunner.h" -#include - - -namespace CppUnit { - - -WinTestRunner::WinTestRunner() -{ -} - - -WinTestRunner::~WinTestRunner() -{ - for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) - delete *it; -} - - -void WinTestRunner::run() -{ - // Note: The following code is some evil hack to - // add batch capability to the MFC based WinTestRunner. - - std::string cmdLine(AfxGetApp()->m_lpCmdLine); - if (cmdLine.size() >= 2 && cmdLine[0] == '/' && (cmdLine[1] == 'b' || cmdLine[1] == 'B')) - { - // We're running in batch mode. - std::string outPath; - if (cmdLine.size() > 4 && cmdLine[2] == ':') - outPath = cmdLine.substr(3); - else - outPath = "CON"; - std::ofstream ostr(outPath.c_str()); - if (ostr.good()) - { - TestRunner runner(ostr); - for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) - runner.addTest((*it)->toString(), *it); - _tests.clear(); - std::vector args; - args.push_back("WinTestRunner"); - args.push_back("-all"); - bool success = runner.run(args); - ExitProcess(success ? 0 : 1); - } - else ExitProcess(2); - } - else - { - // We're running in interactive mode. - TestRunnerDlg dlg; - dlg.setTests(_tests); - dlg.DoModal(); - } -} - - -void WinTestRunner::addTest(Test* pTest) -{ - _tests.push_back(pTest); -} - - -BEGIN_MESSAGE_MAP(WinTestRunnerApp, CWinApp) -END_MESSAGE_MAP() - - -BOOL WinTestRunnerApp::InitInstance() -{ - AllocConsole(); - SetConsoleTitle("CppUnit WinTestRunner Console"); - freopen("CONOUT$", "w", stdout); - freopen("CONOUT$", "w", stderr); - freopen("CONIN$", "r", stdin); - TestMain(); - FreeConsole(); - return FALSE; -} - - -void WinTestRunnerApp::TestMain() -{ -} - - -} // namespace CppUnit +// +// WinTestRunner.cpp +// +// $Id: //poco/1.4/CppUnit/WinTestRunner/src/WinTestRunner.cpp#1 $ +// + + +#include "WinTestRunner/WinTestRunner.h" +#include "TestRunnerDlg.h" +#include "CppUnit/TestRunner.h" +#include + + +namespace CppUnit { + + +WinTestRunner::WinTestRunner() +{ +} + + +WinTestRunner::~WinTestRunner() +{ + for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) + delete *it; +} + + +void WinTestRunner::run() +{ + // Note: The following code is some evil hack to + // add batch capability to the MFC based WinTestRunner. + + std::string cmdLine(AfxGetApp()->m_lpCmdLine); + if (cmdLine.size() >= 2 && cmdLine[0] == '/' && (cmdLine[1] == 'b' || cmdLine[1] == 'B')) + { + // We're running in batch mode. + std::string outPath; + if (cmdLine.size() > 4 && cmdLine[2] == ':') + outPath = cmdLine.substr(3); + else + outPath = "CON"; + std::ofstream ostr(outPath.c_str()); + if (ostr.good()) + { + TestRunner runner(ostr); + for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) + runner.addTest((*it)->toString(), *it); + _tests.clear(); + std::vector args; + args.push_back("WinTestRunner"); + args.push_back("-all"); + bool success = runner.run(args); + ExitProcess(success ? 0 : 1); + } + else ExitProcess(2); + } + else + { + // We're running in interactive mode. + TestRunnerDlg dlg; + dlg.setTests(_tests); + dlg.DoModal(); + } +} + + +void WinTestRunner::addTest(Test* pTest) +{ + _tests.push_back(pTest); +} + + +BEGIN_MESSAGE_MAP(WinTestRunnerApp, CWinApp) +END_MESSAGE_MAP() + + +BOOL WinTestRunnerApp::InitInstance() +{ + AllocConsole(); + SetConsoleTitle("CppUnit WinTestRunner Console"); + freopen("CONOUT$", "w", stdout); + freopen("CONOUT$", "w", stderr); + freopen("CONIN$", "r", stdin); + TestMain(); + FreeConsole(); + return FALSE; +} + + +void WinTestRunnerApp::TestMain() +{ +} + + +} // namespace CppUnit diff --git a/CppUnit/include/CppUnit/CppUnit.h b/CppUnit/include/CppUnit/CppUnit.h index 676b0370c..e86535a2e 100644 --- a/CppUnit/include/CppUnit/CppUnit.h +++ b/CppUnit/include/CppUnit/CppUnit.h @@ -1,56 +1,56 @@ -// -// CppUnit.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/CppUnit.h#1 $ -// - - -#ifndef CppUnit_CppUnit_INCLUDED -#define CppUnit_CppUnit_INCLUDED - - -// -// Ensure that POCO_DLL is default unless POCO_STATIC is defined -// -#if defined(_WIN32) && defined(_DLL) - #if !defined(POCO_DLL) && !defined(POCO_STATIC) - #define POCO_DLL - #endif -#endif - - -// -// The following block is the standard way of creating macros which make exporting -// from a DLL simpler. All files within this DLL are compiled with the CppUnit_EXPORTS -// symbol defined on the command line. this symbol should not be defined on any project -// that uses this DLL. This way any other project whose source files include this file see -// CppUnit_API functions as being imported from a DLL, wheras this DLL sees symbols -// defined with this macro as being exported. -// -#if defined(_WIN32) && defined(POCO_DLL) - #if defined(CppUnit_EXPORTS) - #define CppUnit_API __declspec(dllexport) - #else - #define CppUnit_API __declspec(dllimport) - #endif -#endif - - -#if !defined(CppUnit_API) - #define CppUnit_API -#endif - - -// Turn off some annoying warnings -#ifdef _MSC_VER - #pragma warning(disable:4786) // identifier truncation warning - #pragma warning(disable:4503) // decorated name length exceeded - mainly a problem with STLPort - #pragma warning(disable:4018) // signed/unsigned comparison - #pragma warning(disable:4284) // return type for operator -> is not UDT - #pragma warning(disable:4251) // ... needs to have dll-interface warning - #pragma warning(disable:4273) - #pragma warning(disable:4275) // ... non dll-interface class used as base for dll-interface class -#endif - - -#endif // CppUnit_CppUnit_INCLUDED +// +// CppUnit.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/CppUnit.h#1 $ +// + + +#ifndef CppUnit_CppUnit_INCLUDED +#define CppUnit_CppUnit_INCLUDED + + +// +// Ensure that POCO_DLL is default unless POCO_STATIC is defined +// +#if defined(_WIN32) && defined(_DLL) + #if !defined(POCO_DLL) && !defined(POCO_STATIC) + #define POCO_DLL + #endif +#endif + + +// +// The following block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the CppUnit_EXPORTS +// symbol defined on the command line. this symbol should not be defined on any project +// that uses this DLL. This way any other project whose source files include this file see +// CppUnit_API functions as being imported from a DLL, wheras this DLL sees symbols +// defined with this macro as being exported. +// +#if defined(_WIN32) && defined(POCO_DLL) + #if defined(CppUnit_EXPORTS) + #define CppUnit_API __declspec(dllexport) + #else + #define CppUnit_API __declspec(dllimport) + #endif +#endif + + +#if !defined(CppUnit_API) + #define CppUnit_API +#endif + + +// Turn off some annoying warnings +#ifdef _MSC_VER + #pragma warning(disable:4786) // identifier truncation warning + #pragma warning(disable:4503) // decorated name length exceeded - mainly a problem with STLPort + #pragma warning(disable:4018) // signed/unsigned comparison + #pragma warning(disable:4284) // return type for operator -> is not UDT + #pragma warning(disable:4251) // ... needs to have dll-interface warning + #pragma warning(disable:4273) + #pragma warning(disable:4275) // ... non dll-interface class used as base for dll-interface class +#endif + + +#endif // CppUnit_CppUnit_INCLUDED diff --git a/CppUnit/include/CppUnit/CppUnitException.h b/CppUnit/include/CppUnit/CppUnitException.h index be0394be1..27c50a3cb 100644 --- a/CppUnit/include/CppUnit/CppUnitException.h +++ b/CppUnit/include/CppUnit/CppUnitException.h @@ -1,141 +1,141 @@ -// -// CppUnitException.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/CppUnitException.h#1 $ -// - - -#ifndef CppUnit_CppUnitException_INCLUDED -#define CppUnit_CppUnitException_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include -#include - - -namespace CppUnit { - - -class CppUnit_API CppUnitException: public std::exception - /// CppUnitException is an exception that serves - /// descriptive strings through its what() method -{ -public: - CppUnitException(const std::string& message = "", - long lineNumber = CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CPPUNIT_UNKNOWNFILENAME); - CppUnitException(const std::string& message, - long lineNumber, - long data1lineNumber, - const std::string& fileName); - CppUnitException(const std::string& message, - long lineNumber, - long data1lineNumber, - long data2lineNumber, - const std::string& fileName); - CppUnitException(const CppUnitException& other); - virtual ~CppUnitException() throw(); - - CppUnitException& operator = (const CppUnitException& other); - - const char* what() const throw (); - - long lineNumber() const; - long data1LineNumber() const; - long data2LineNumber() const; - const std::string& fileName() const; - - static const std::string CPPUNIT_UNKNOWNFILENAME; - static const int CPPUNIT_UNKNOWNLINENUMBER; - -private: - std::string _message; - long _lineNumber; - long _data1lineNumber; - long _data2lineNumber; - std::string _fileName; -}; - - -inline CppUnitException::CppUnitException(const CppUnitException& other): exception (other) -{ - _message = other._message; - _lineNumber = other._lineNumber; - _data1lineNumber = other._data1lineNumber; - _data2lineNumber = other._data2lineNumber; - _fileName = other._fileName; -} - - -inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName) -{ -} - - -inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName) -{ -} - - -inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, long data2lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(data2lineNumber), _fileName(fileName) -{ -} - - -inline CppUnitException::~CppUnitException () throw() -{ -} - - -inline CppUnitException& CppUnitException::operator = (const CppUnitException& other) -{ - exception::operator= (other); - - if (&other != this) - { - _message = other._message; - _lineNumber = other._lineNumber; - _data1lineNumber = other._data1lineNumber; - _data2lineNumber = other._data2lineNumber; - _fileName = other._fileName; - } - return *this; -} - - -inline const char* CppUnitException::what() const throw () -{ - return _message.c_str(); -} - - -inline long CppUnitException::lineNumber() const -{ - return _lineNumber; -} - - -inline long CppUnitException::data1LineNumber() const -{ - return _data1lineNumber; -} - - -inline long CppUnitException::data2LineNumber() const -{ - return _data2lineNumber; -} - - -// The file in which the error occurred -inline const std::string& CppUnitException::fileName() const -{ - return _fileName; -} - - -} // namespace CppUnit - - -#endif // CppUnit_CppUnitException_INCLUDED +// +// CppUnitException.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/CppUnitException.h#1 $ +// + + +#ifndef CppUnit_CppUnitException_INCLUDED +#define CppUnit_CppUnitException_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include +#include + + +namespace CppUnit { + + +class CppUnit_API CppUnitException: public std::exception + /// CppUnitException is an exception that serves + /// descriptive strings through its what() method +{ +public: + CppUnitException(const std::string& message = "", + long lineNumber = CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CPPUNIT_UNKNOWNFILENAME); + CppUnitException(const std::string& message, + long lineNumber, + long data1lineNumber, + const std::string& fileName); + CppUnitException(const std::string& message, + long lineNumber, + long data1lineNumber, + long data2lineNumber, + const std::string& fileName); + CppUnitException(const CppUnitException& other); + virtual ~CppUnitException() throw(); + + CppUnitException& operator = (const CppUnitException& other); + + const char* what() const throw (); + + long lineNumber() const; + long data1LineNumber() const; + long data2LineNumber() const; + const std::string& fileName() const; + + static const std::string CPPUNIT_UNKNOWNFILENAME; + static const int CPPUNIT_UNKNOWNLINENUMBER; + +private: + std::string _message; + long _lineNumber; + long _data1lineNumber; + long _data2lineNumber; + std::string _fileName; +}; + + +inline CppUnitException::CppUnitException(const CppUnitException& other): exception (other) +{ + _message = other._message; + _lineNumber = other._lineNumber; + _data1lineNumber = other._data1lineNumber; + _data2lineNumber = other._data2lineNumber; + _fileName = other._fileName; +} + + +inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName) +{ +} + + +inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName) +{ +} + + +inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, long data2lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(data2lineNumber), _fileName(fileName) +{ +} + + +inline CppUnitException::~CppUnitException () throw() +{ +} + + +inline CppUnitException& CppUnitException::operator = (const CppUnitException& other) +{ + exception::operator= (other); + + if (&other != this) + { + _message = other._message; + _lineNumber = other._lineNumber; + _data1lineNumber = other._data1lineNumber; + _data2lineNumber = other._data2lineNumber; + _fileName = other._fileName; + } + return *this; +} + + +inline const char* CppUnitException::what() const throw () +{ + return _message.c_str(); +} + + +inline long CppUnitException::lineNumber() const +{ + return _lineNumber; +} + + +inline long CppUnitException::data1LineNumber() const +{ + return _data1lineNumber; +} + + +inline long CppUnitException::data2LineNumber() const +{ + return _data2lineNumber; +} + + +// The file in which the error occurred +inline const std::string& CppUnitException::fileName() const +{ + return _fileName; +} + + +} // namespace CppUnit + + +#endif // CppUnit_CppUnitException_INCLUDED diff --git a/CppUnit/include/CppUnit/Guards.h b/CppUnit/include/CppUnit/Guards.h index fa3ec0768..ef8a7d6ab 100644 --- a/CppUnit/include/CppUnit/Guards.h +++ b/CppUnit/include/CppUnit/Guards.h @@ -1,19 +1,19 @@ -// -// Guards.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/Guards.h#1 $ -// - - -#ifndef CppUnit_Guards_INCLUDED -#define CppUnit_Guards_INCLUDED - - -// Prevent copy construction and assignment for a class -#define REFERENCEOBJECT(className) \ -private: \ - className(const className& other); \ - className& operator = (const className& other); - - -#endif // CppUnit_Guards_INCLUDED +// +// Guards.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/Guards.h#1 $ +// + + +#ifndef CppUnit_Guards_INCLUDED +#define CppUnit_Guards_INCLUDED + + +// Prevent copy construction and assignment for a class +#define REFERENCEOBJECT(className) \ +private: \ + className(const className& other); \ + className& operator = (const className& other); + + +#endif // CppUnit_Guards_INCLUDED diff --git a/CppUnit/include/CppUnit/Orthodox.h b/CppUnit/include/CppUnit/Orthodox.h index 9cb188acb..3a038975c 100644 --- a/CppUnit/include/CppUnit/Orthodox.h +++ b/CppUnit/include/CppUnit/Orthodox.h @@ -1,105 +1,105 @@ -// -// Orthodox.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/Orthodox.h#1 $ -// - - -#ifndef CppUnit_Orthodox_INCLUDED -#define CppUnit_Orthodox_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/TestCase.h" - - -namespace CppUnit { - - -/* - * Orthodox performs a simple set of tests on an arbitary - * class to make sure that it supports at least the - * following operations: - * - * default construction - constructor - * equality/inequality - operator== && operator!= - * assignment - operator= - * negation - operator! - * safe passage - copy construction - * - * If operations for each of these are not declared - * the template will not instantiate. If it does - * instantiate, tests are performed to make sure - * that the operations have correct semantics. - * - * Adding an orthodox test to a suite is very - * easy: - * - * public: Test *suite () { - * TestSuite *suiteOfTests = new TestSuite; - * suiteOfTests->addTest (new ComplexNumberTest ("testAdd"); - * suiteOfTests->addTest (new TestCaller > ()); - * return suiteOfTests; - * } - * - * Templated test cases be very useful when you are want to - * make sure that a group of classes have the same form. - * - * see TestSuite - */ -template -class Orthodox: public TestCase -{ -public: - Orthodox(): TestCase("Orthodox") - { - } - -protected: - ClassUnderTest call(ClassUnderTest object); - void runTest (); -}; - - -// Run an orthodoxy test -template -void Orthodox::runTest() -{ - // make sure we have a default constructor - ClassUnderTest a, b, c; - - // make sure we have an equality operator - assert (a == b); - - // check the inverse - b.operator= (a.operator! ()); - assert (a != b); - - // double inversion - b = !!a; - assert (a == b); - - // invert again - b = !a; - - // check calls - c = a; - assert (c == call (a)); - - c = b; - assert (c == call (b)); -} - - -// Exercise a call -template -ClassUnderTest Orthodox::call(ClassUnderTest object) -{ - return object; -} - - -} // namespace CppUnit - - -#endif // CppUnit_Orthodox_INCLUDED +// +// Orthodox.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/Orthodox.h#1 $ +// + + +#ifndef CppUnit_Orthodox_INCLUDED +#define CppUnit_Orthodox_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/TestCase.h" + + +namespace CppUnit { + + +/* + * Orthodox performs a simple set of tests on an arbitary + * class to make sure that it supports at least the + * following operations: + * + * default construction - constructor + * equality/inequality - operator== && operator!= + * assignment - operator= + * negation - operator! + * safe passage - copy construction + * + * If operations for each of these are not declared + * the template will not instantiate. If it does + * instantiate, tests are performed to make sure + * that the operations have correct semantics. + * + * Adding an orthodox test to a suite is very + * easy: + * + * public: Test *suite () { + * TestSuite *suiteOfTests = new TestSuite; + * suiteOfTests->addTest (new ComplexNumberTest ("testAdd"); + * suiteOfTests->addTest (new TestCaller > ()); + * return suiteOfTests; + * } + * + * Templated test cases be very useful when you are want to + * make sure that a group of classes have the same form. + * + * see TestSuite + */ +template +class Orthodox: public TestCase +{ +public: + Orthodox(): TestCase("Orthodox") + { + } + +protected: + ClassUnderTest call(ClassUnderTest object); + void runTest (); +}; + + +// Run an orthodoxy test +template +void Orthodox::runTest() +{ + // make sure we have a default constructor + ClassUnderTest a, b, c; + + // make sure we have an equality operator + assert (a == b); + + // check the inverse + b.operator= (a.operator! ()); + assert (a != b); + + // double inversion + b = !!a; + assert (a == b); + + // invert again + b = !a; + + // check calls + c = a; + assert (c == call (a)); + + c = b; + assert (c == call (b)); +} + + +// Exercise a call +template +ClassUnderTest Orthodox::call(ClassUnderTest object) +{ + return object; +} + + +} // namespace CppUnit + + +#endif // CppUnit_Orthodox_INCLUDED diff --git a/CppUnit/include/CppUnit/RepeatedTest.h b/CppUnit/include/CppUnit/RepeatedTest.h index 132947449..1842762ef 100644 --- a/CppUnit/include/CppUnit/RepeatedTest.h +++ b/CppUnit/include/CppUnit/RepeatedTest.h @@ -1,77 +1,77 @@ -// -// RepeatedTest.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/RepeatedTest.h#1 $ -// - - -#ifndef CppUnit_RepeatedTest_INCLUDED -#define CppUnit_RepeatedTest_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/TestDecorator.h" - - -namespace CppUnit { - - -class Test; -class TestResult; - - -/* - * A decorator that runs a test repeatedly. - * Does not assume ownership of the test it decorates - * - */ -class CppUnit_API RepeatedTest: public TestDecorator -{ - REFERENCEOBJECT (RepeatedTest) - -public: - RepeatedTest(Test* test, int timesRepeat): TestDecorator (test), _timesRepeat (timesRepeat) - { - } - - int countTestCases(); - std::string toString(); - void run(TestResult *result); - -private: - const int _timesRepeat; -}; - - -// Counts the number of test cases that will be run by this test. -inline RepeatedTest::countTestCases () -{ - return TestDecorator::countTestCases() * _timesRepeat; -} - - -// Returns the name of the test instance. -inline std::string RepeatedTest::toString() -{ - return TestDecorator::toString() + " (repeated)"; -} - - -// Runs a repeated test -inline void RepeatedTest::run(TestResult *result) -{ - for (int n = 0; n < _timesRepeat; n++) - { - if (result->shouldStop()) - break; - - TestDecorator::run(result); - } -} - - -} // namespace CppUnit - - -#endif // CppUnit_RepeatedTest_INCLUDED +// +// RepeatedTest.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/RepeatedTest.h#1 $ +// + + +#ifndef CppUnit_RepeatedTest_INCLUDED +#define CppUnit_RepeatedTest_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/TestDecorator.h" + + +namespace CppUnit { + + +class Test; +class TestResult; + + +/* + * A decorator that runs a test repeatedly. + * Does not assume ownership of the test it decorates + * + */ +class CppUnit_API RepeatedTest: public TestDecorator +{ + REFERENCEOBJECT (RepeatedTest) + +public: + RepeatedTest(Test* test, int timesRepeat): TestDecorator (test), _timesRepeat (timesRepeat) + { + } + + int countTestCases(); + std::string toString(); + void run(TestResult *result); + +private: + const int _timesRepeat; +}; + + +// Counts the number of test cases that will be run by this test. +inline RepeatedTest::countTestCases () +{ + return TestDecorator::countTestCases() * _timesRepeat; +} + + +// Returns the name of the test instance. +inline std::string RepeatedTest::toString() +{ + return TestDecorator::toString() + " (repeated)"; +} + + +// Runs a repeated test +inline void RepeatedTest::run(TestResult *result) +{ + for (int n = 0; n < _timesRepeat; n++) + { + if (result->shouldStop()) + break; + + TestDecorator::run(result); + } +} + + +} // namespace CppUnit + + +#endif // CppUnit_RepeatedTest_INCLUDED diff --git a/CppUnit/include/CppUnit/Test.h b/CppUnit/include/CppUnit/Test.h index 62054f270..84be16793 100644 --- a/CppUnit/include/CppUnit/Test.h +++ b/CppUnit/include/CppUnit/Test.h @@ -1,65 +1,65 @@ -// -// Test.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/Test.h#1 $ -// - - -#ifndef CppUnit_Test_INCLUDED -#define CppUnit_Test_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include - - -namespace CppUnit { - - -class TestResult; - - -/* - * A Test can be run and collect its results. - * See TestResult. - * - */ -class CppUnit_API Test -{ -public: - virtual ~Test() = 0; - virtual void run(TestResult* result) = 0; - virtual int countTestCases() = 0; - virtual std::string toString() = 0; -}; - - -inline Test::~Test() -{ -} - - -// Runs a test and collects its result in a TestResult instance. -inline void Test::run(TestResult *result) -{ -} - - -// Counts the number of test cases that will be run by this test. -inline int Test::countTestCases() -{ - return 0; -} - - -// Returns the name of the test instance. -inline std::string Test::toString() -{ - return ""; -} - - -} // namespace CppUnit - - -#endif // CppUnit_Test_INCLUDED +// +// Test.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/Test.h#1 $ +// + + +#ifndef CppUnit_Test_INCLUDED +#define CppUnit_Test_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include + + +namespace CppUnit { + + +class TestResult; + + +/* + * A Test can be run and collect its results. + * See TestResult. + * + */ +class CppUnit_API Test +{ +public: + virtual ~Test() = 0; + virtual void run(TestResult* result) = 0; + virtual int countTestCases() = 0; + virtual std::string toString() = 0; +}; + + +inline Test::~Test() +{ +} + + +// Runs a test and collects its result in a TestResult instance. +inline void Test::run(TestResult *result) +{ +} + + +// Counts the number of test cases that will be run by this test. +inline int Test::countTestCases() +{ + return 0; +} + + +// Returns the name of the test instance. +inline std::string Test::toString() +{ + return ""; +} + + +} // namespace CppUnit + + +#endif // CppUnit_Test_INCLUDED diff --git a/CppUnit/include/CppUnit/TestCaller.h b/CppUnit/include/CppUnit/TestCaller.h index 496a64522..0a4a8db87 100644 --- a/CppUnit/include/CppUnit/TestCaller.h +++ b/CppUnit/include/CppUnit/TestCaller.h @@ -1,95 +1,95 @@ -// -// TestCaller.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestCaller.h#1 $ -// - - -#ifndef CppUnit_TestCaller_INCLUDED -#define CppUnit_TestCaller_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "Guards.h" -#include "TestCase.h" -#include - - -namespace CppUnit { - - -/* - * A test caller provides access to a test case method - * on a test case class. Test callers are useful when - * you want to run an individual test or add it to a - * suite. - * - * Here is an example: - * - * class MathTest : public TestCase { - * ... - * public: - * void setUp (); - * void tearDown (); - * - * void testAdd (); - * void testSubtract (); - * }; - * - * Test *MathTest::suite () { - * TestSuite *suite = new TestSuite; - * - * suite->addTest (new TestCaller ("testAdd", testAdd)); - * return suite; - * } - * - * You can use a TestCaller to bind any test method on a TestCase - * class, as long as it returns accepts void and returns void. - * - * See TestCase - */ -template -class TestCaller: public TestCase -{ - REFERENCEOBJECT (TestCaller) - - typedef void (Fixture::*TestMethod)(); - -public: - TestCaller(const std::string& name, TestMethod test): - TestCase(name), - _test(test), - _fixture(new Fixture(name)) - { - } - -protected: - void runTest() - { - (_fixture.get()->*_test)(); - } - - void setUp() - { - _fixture.get()->setUp(); - } - - void tearDown() - { - _fixture.get()->tearDown(); - } - -private: - TestMethod _test; - std::auto_ptr _fixture; -}; - - -} // namespace CppUnit - - -#define CppUnit_addTest(suite, cls, mth) \ - suite->addTest(new CppUnit::TestCaller(#mth, &cls::mth)) - - -#endif // CppUnit_TestCaller_INCLUDED +// +// TestCaller.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestCaller.h#1 $ +// + + +#ifndef CppUnit_TestCaller_INCLUDED +#define CppUnit_TestCaller_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "Guards.h" +#include "TestCase.h" +#include + + +namespace CppUnit { + + +/* + * A test caller provides access to a test case method + * on a test case class. Test callers are useful when + * you want to run an individual test or add it to a + * suite. + * + * Here is an example: + * + * class MathTest : public TestCase { + * ... + * public: + * void setUp (); + * void tearDown (); + * + * void testAdd (); + * void testSubtract (); + * }; + * + * Test *MathTest::suite () { + * TestSuite *suite = new TestSuite; + * + * suite->addTest (new TestCaller ("testAdd", testAdd)); + * return suite; + * } + * + * You can use a TestCaller to bind any test method on a TestCase + * class, as long as it returns accepts void and returns void. + * + * See TestCase + */ +template +class TestCaller: public TestCase +{ + REFERENCEOBJECT (TestCaller) + + typedef void (Fixture::*TestMethod)(); + +public: + TestCaller(const std::string& name, TestMethod test): + TestCase(name), + _test(test), + _fixture(new Fixture(name)) + { + } + +protected: + void runTest() + { + (_fixture.get()->*_test)(); + } + + void setUp() + { + _fixture.get()->setUp(); + } + + void tearDown() + { + _fixture.get()->tearDown(); + } + +private: + TestMethod _test; + std::auto_ptr _fixture; +}; + + +} // namespace CppUnit + + +#define CppUnit_addTest(suite, cls, mth) \ + suite->addTest(new CppUnit::TestCaller(#mth, &cls::mth)) + + +#endif // CppUnit_TestCaller_INCLUDED diff --git a/CppUnit/include/CppUnit/TestCase.h b/CppUnit/include/CppUnit/TestCase.h index 58906400d..d7ad8538e 100644 --- a/CppUnit/include/CppUnit/TestCase.h +++ b/CppUnit/include/CppUnit/TestCase.h @@ -1,249 +1,249 @@ -// -// TestCase.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestCase.h#1 $ -// - - -#ifndef CppUnit_TestCase_INCLUDED -#define CppUnit_TestCase_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/Test.h" -#include "CppUnit/CppUnitException.h" -#include -#include - - -namespace CppUnit { - - -class TestResult; - - -/* - * A test case defines the fixture to run multiple tests. To define a test case - * 1) implement a subclass of TestCase - * 2) define instance variables that store the state of the fixture - * 3) initialize the fixture state by overriding setUp - * 4) clean-up after a test by overriding tearDown. - * - * Each test runs in its own fixture so there - * can be no side effects among test runs. - * Here is an example: - * - * class MathTest : public TestCase { - * protected: int m_value1; - * protected: int m_value2; - * - * public: MathTest (std::string name) - * : TestCase (name) { - * } - * - * protected: void setUp () { - * m_value1 = 2; - * m_value2 = 3; - * } - * } - * - * - * For each test implement a method which interacts - * with the fixture. Verify the expected results with assertions specified - * by calling assert on the expression you want to test: - * - * protected: void testAdd () { - * int result = value1 + value2; - * assert (result == 5); - * } - * - * Once the methods are defined you can run them. To do this, use - * a TestCaller. - * - * Test *test = new TestCaller("testAdd", MathTest::testAdd); - * test->run (); - * - * - * The tests to be run can be collected into a TestSuite. CppUnit provides - * different test runners which can run a test suite and collect the results. - * The test runners expect a static method suite as the entry - * point to get a test to run. - * - * public: static MathTest::suite () { - * TestSuite *suiteOfTests = new TestSuite; - * suiteOfTests->addTest(new TestCaller("testAdd", testAdd)); - * suiteOfTests->addTest(new TestCaller("testDivideByZero", testDivideByZero)); - * return suiteOfTests; - * } - * - * Note that the caller of suite assumes lifetime control - * for the returned suite. - * - * see TestResult, TestSuite and TestCaller - * - */ -class CppUnit_API TestCase: public Test -{ - REFERENCEOBJECT (TestCase) - -public: - TestCase(const std::string& Name); - ~TestCase(); - - virtual void run(TestResult* result); - virtual TestResult* run(); - virtual int countTestCases(); - const std::string& name() const; - std::string toString(); - - virtual void setUp(); - virtual void tearDown(); - -protected: - virtual void runTest(); - TestResult* defaultResult(); - - void assertImplementation(bool condition, - const std::string& conditionExpression = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void loop1assertImplementation(bool condition, - const std::string& conditionExpression = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - long dataLineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void loop2assertImplementation(bool condition, - const std::string& conditionExpression = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - long data1LineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - long data2LineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void assertEquals(long expected, - long actual, - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void assertEquals(double expected, - double actual, - double delta, - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void assertEquals(const std::string& expected, - const std::string& actual, - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void assertEquals(const void* expected, - const void* actual, - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - std::string notEqualsMessage(long expected, long actual); - std::string notEqualsMessage(double expected, double actual); - std::string notEqualsMessage(const void* expected, const void* actual); - std::string notEqualsMessage(const std::string& expected, const std::string& actual); - - void assertNotNull(const void* pointer, - const std::string& pointerExpression = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void assertNull(const void* pointer, - const std::string& pointerExpression = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - - void fail(const std::string&message = "", - long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, - const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); - -private: - const std::string _name; -}; - - -// Constructs a test case -inline TestCase::TestCase(const std::string& name): _name (name) -{ -} - - -// Destructs a test case -inline TestCase::~TestCase() -{ -} - - -// Returns a count of all the tests executed -inline int TestCase::countTestCases() -{ - return 1; -} - - -// Returns the name of the test case -inline const std::string& TestCase::name() const -{ - return _name; -} - - -// A hook for fixture set up -inline void TestCase::setUp() -{ -} - - -// A hook for fixture tear down -inline void TestCase::tearDown() -{ -} - - -// Returns the name of the test case instance -inline std::string TestCase::toString() -{ - const std::type_info& thisClass = typeid(*this); - return std::string(thisClass.name()) + "." + name(); -} - - -// A set of macros which allow us to get the line number -// and file name at the point of an error. -// Just goes to show that preprocessors do have some -// redeeming qualities. -#undef assert -#define assert(condition) \ - (this->assertImplementation((condition), (#condition), __LINE__, __FILE__)) - -#define loop_1_assert(data1line, condition) \ - (this->loop1assertImplementation((condition), (#condition), __LINE__, data1line, __FILE__)) - -#define loop_2_assert(data1line, data2line, condition) \ - (this->loop2assertImplementation((condition), (#condition), __LINE__, data1line, data2line, __FILE__)) - -#define assertEqualDelta(expected, actual, delta) \ - (this->assertEquals((expected), (actual), (delta), __LINE__, __FILE__)) - -#define assertEqual(expected, actual) \ - (this->assertEquals((expected), (actual), __LINE__, __FILE__)) - -#define assertNullPtr(ptr) \ - (this->assertNull((ptr), #ptr, __LINE__, __FILE__)) - -#define assertNotNullPtr(ptr) \ - (this->assertNotNull((ptr), #ptr, __LINE__, __FILE__)) - -#define failmsg(msg) \ - (this->fail(msg, __LINE__, __FILE__)) - - -} // namespace CppUnit - - -#endif // CppUnit_TestCase_INCLUDED +// +// TestCase.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestCase.h#1 $ +// + + +#ifndef CppUnit_TestCase_INCLUDED +#define CppUnit_TestCase_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/Test.h" +#include "CppUnit/CppUnitException.h" +#include +#include + + +namespace CppUnit { + + +class TestResult; + + +/* + * A test case defines the fixture to run multiple tests. To define a test case + * 1) implement a subclass of TestCase + * 2) define instance variables that store the state of the fixture + * 3) initialize the fixture state by overriding setUp + * 4) clean-up after a test by overriding tearDown. + * + * Each test runs in its own fixture so there + * can be no side effects among test runs. + * Here is an example: + * + * class MathTest : public TestCase { + * protected: int m_value1; + * protected: int m_value2; + * + * public: MathTest (std::string name) + * : TestCase (name) { + * } + * + * protected: void setUp () { + * m_value1 = 2; + * m_value2 = 3; + * } + * } + * + * + * For each test implement a method which interacts + * with the fixture. Verify the expected results with assertions specified + * by calling assert on the expression you want to test: + * + * protected: void testAdd () { + * int result = value1 + value2; + * assert (result == 5); + * } + * + * Once the methods are defined you can run them. To do this, use + * a TestCaller. + * + * Test *test = new TestCaller("testAdd", MathTest::testAdd); + * test->run (); + * + * + * The tests to be run can be collected into a TestSuite. CppUnit provides + * different test runners which can run a test suite and collect the results. + * The test runners expect a static method suite as the entry + * point to get a test to run. + * + * public: static MathTest::suite () { + * TestSuite *suiteOfTests = new TestSuite; + * suiteOfTests->addTest(new TestCaller("testAdd", testAdd)); + * suiteOfTests->addTest(new TestCaller("testDivideByZero", testDivideByZero)); + * return suiteOfTests; + * } + * + * Note that the caller of suite assumes lifetime control + * for the returned suite. + * + * see TestResult, TestSuite and TestCaller + * + */ +class CppUnit_API TestCase: public Test +{ + REFERENCEOBJECT (TestCase) + +public: + TestCase(const std::string& Name); + ~TestCase(); + + virtual void run(TestResult* result); + virtual TestResult* run(); + virtual int countTestCases(); + const std::string& name() const; + std::string toString(); + + virtual void setUp(); + virtual void tearDown(); + +protected: + virtual void runTest(); + TestResult* defaultResult(); + + void assertImplementation(bool condition, + const std::string& conditionExpression = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void loop1assertImplementation(bool condition, + const std::string& conditionExpression = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + long dataLineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void loop2assertImplementation(bool condition, + const std::string& conditionExpression = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + long data1LineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + long data2LineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void assertEquals(long expected, + long actual, + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void assertEquals(double expected, + double actual, + double delta, + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void assertEquals(const std::string& expected, + const std::string& actual, + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void assertEquals(const void* expected, + const void* actual, + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + std::string notEqualsMessage(long expected, long actual); + std::string notEqualsMessage(double expected, double actual); + std::string notEqualsMessage(const void* expected, const void* actual); + std::string notEqualsMessage(const std::string& expected, const std::string& actual); + + void assertNotNull(const void* pointer, + const std::string& pointerExpression = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void assertNull(const void* pointer, + const std::string& pointerExpression = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + + void fail(const std::string&message = "", + long lineNumber = CppUnitException::CPPUNIT_UNKNOWNLINENUMBER, + const std::string& fileName = CppUnitException::CPPUNIT_UNKNOWNFILENAME); + +private: + const std::string _name; +}; + + +// Constructs a test case +inline TestCase::TestCase(const std::string& name): _name (name) +{ +} + + +// Destructs a test case +inline TestCase::~TestCase() +{ +} + + +// Returns a count of all the tests executed +inline int TestCase::countTestCases() +{ + return 1; +} + + +// Returns the name of the test case +inline const std::string& TestCase::name() const +{ + return _name; +} + + +// A hook for fixture set up +inline void TestCase::setUp() +{ +} + + +// A hook for fixture tear down +inline void TestCase::tearDown() +{ +} + + +// Returns the name of the test case instance +inline std::string TestCase::toString() +{ + const std::type_info& thisClass = typeid(*this); + return std::string(thisClass.name()) + "." + name(); +} + + +// A set of macros which allow us to get the line number +// and file name at the point of an error. +// Just goes to show that preprocessors do have some +// redeeming qualities. +#undef assert +#define assert(condition) \ + (this->assertImplementation((condition), (#condition), __LINE__, __FILE__)) + +#define loop_1_assert(data1line, condition) \ + (this->loop1assertImplementation((condition), (#condition), __LINE__, data1line, __FILE__)) + +#define loop_2_assert(data1line, data2line, condition) \ + (this->loop2assertImplementation((condition), (#condition), __LINE__, data1line, data2line, __FILE__)) + +#define assertEqualDelta(expected, actual, delta) \ + (this->assertEquals((expected), (actual), (delta), __LINE__, __FILE__)) + +#define assertEqual(expected, actual) \ + (this->assertEquals((expected), (actual), __LINE__, __FILE__)) + +#define assertNullPtr(ptr) \ + (this->assertNull((ptr), #ptr, __LINE__, __FILE__)) + +#define assertNotNullPtr(ptr) \ + (this->assertNotNull((ptr), #ptr, __LINE__, __FILE__)) + +#define failmsg(msg) \ + (this->fail(msg, __LINE__, __FILE__)) + + +} // namespace CppUnit + + +#endif // CppUnit_TestCase_INCLUDED diff --git a/CppUnit/include/CppUnit/TestDecorator.h b/CppUnit/include/CppUnit/TestDecorator.h index 4b435ed6e..ac57c591e 100644 --- a/CppUnit/include/CppUnit/TestDecorator.h +++ b/CppUnit/include/CppUnit/TestDecorator.h @@ -1,52 +1,52 @@ -// -// TestDecorator.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestDecorator.h#1 $ -// - - -#ifndef CppUnit_TestDecorator_INCLUDED -#define CppUnit_TestDecorator_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/Test.h" - - -namespace CppUnit { - - -class TestResult; - - -/* - * A Decorator for Tests - * - * Does not assume ownership of the test it decorates - * - */ -class CppUnit_API TestDecorator: public Test -{ - REFERENCEOBJECT(TestDecorator) - -public: - TestDecorator(Test* test); - - virtual ~TestDecorator(); - - int countTestCases(); - - void run(TestResult* result); - - std::string toString(); - -protected: - Test* _test; -}; - - -} // namespace CppUnit - - -#endif // CppUnit_TestDecorator_INCLUDED +// +// TestDecorator.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestDecorator.h#1 $ +// + + +#ifndef CppUnit_TestDecorator_INCLUDED +#define CppUnit_TestDecorator_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/Test.h" + + +namespace CppUnit { + + +class TestResult; + + +/* + * A Decorator for Tests + * + * Does not assume ownership of the test it decorates + * + */ +class CppUnit_API TestDecorator: public Test +{ + REFERENCEOBJECT(TestDecorator) + +public: + TestDecorator(Test* test); + + virtual ~TestDecorator(); + + int countTestCases(); + + void run(TestResult* result); + + std::string toString(); + +protected: + Test* _test; +}; + + +} // namespace CppUnit + + +#endif // CppUnit_TestDecorator_INCLUDED diff --git a/CppUnit/include/CppUnit/TestFailure.h b/CppUnit/include/CppUnit/TestFailure.h index 37c93d4d2..c1f845d72 100644 --- a/CppUnit/include/CppUnit/TestFailure.h +++ b/CppUnit/include/CppUnit/TestFailure.h @@ -1,86 +1,86 @@ -// -// TestFailure.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestFailure.h#1 $ -// - - -#ifndef CppUnit_TestFailure_INCLUDED -#define CppUnit_TestFailure_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/CppUnitException.h" -#include "CppUnit/Guards.h" - - -namespace CppUnit { - - -class Test; - - -/* - * A TestFailure collects a failed test together with - * the caught exception. - * - * TestFailure assumes lifetime control for any exception - * passed to it. The lifetime of tests is handled by - * their TestSuite (if they have been added to one) or - * whomever creates them. - * - * see TestResult - * see TestSuite - * - */ -class CppUnit_API TestFailure -{ - REFERENCEOBJECT (TestFailure) - -public: - TestFailure(Test* failedTest, CppUnitException* thrownException); - ~TestFailure(); - - Test* failedTest(); - CppUnitException* thrownException(); - std::string toString(); - -protected: - Test* _failedTest; - CppUnitException *_thrownException; -}; - - -// Constructs a TestFailure with the given test and exception. -inline TestFailure::TestFailure(Test* failedTest, CppUnitException* thrownException): _failedTest(failedTest), _thrownException(thrownException) -{ -} - - -// Deletes the owned exception. -inline TestFailure::~TestFailure() -{ - delete _thrownException; -} - - -// Gets the failed test. -inline Test* TestFailure::failedTest() -{ - return _failedTest; -} - - -// Gets the thrown exception. -inline CppUnitException* TestFailure::thrownException() -{ - return _thrownException; -} - - -} // namespace CppUnit - - -#endif // CppUnit_TestFailure_INCLUDED - - +// +// TestFailure.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestFailure.h#1 $ +// + + +#ifndef CppUnit_TestFailure_INCLUDED +#define CppUnit_TestFailure_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/CppUnitException.h" +#include "CppUnit/Guards.h" + + +namespace CppUnit { + + +class Test; + + +/* + * A TestFailure collects a failed test together with + * the caught exception. + * + * TestFailure assumes lifetime control for any exception + * passed to it. The lifetime of tests is handled by + * their TestSuite (if they have been added to one) or + * whomever creates them. + * + * see TestResult + * see TestSuite + * + */ +class CppUnit_API TestFailure +{ + REFERENCEOBJECT (TestFailure) + +public: + TestFailure(Test* failedTest, CppUnitException* thrownException); + ~TestFailure(); + + Test* failedTest(); + CppUnitException* thrownException(); + std::string toString(); + +protected: + Test* _failedTest; + CppUnitException *_thrownException; +}; + + +// Constructs a TestFailure with the given test and exception. +inline TestFailure::TestFailure(Test* failedTest, CppUnitException* thrownException): _failedTest(failedTest), _thrownException(thrownException) +{ +} + + +// Deletes the owned exception. +inline TestFailure::~TestFailure() +{ + delete _thrownException; +} + + +// Gets the failed test. +inline Test* TestFailure::failedTest() +{ + return _failedTest; +} + + +// Gets the thrown exception. +inline CppUnitException* TestFailure::thrownException() +{ + return _thrownException; +} + + +} // namespace CppUnit + + +#endif // CppUnit_TestFailure_INCLUDED + + diff --git a/CppUnit/include/CppUnit/TestResult.h b/CppUnit/include/CppUnit/TestResult.h index 26a5fa3fe..22fbd44c4 100644 --- a/CppUnit/include/CppUnit/TestResult.h +++ b/CppUnit/include/CppUnit/TestResult.h @@ -1,231 +1,231 @@ -// -// TestResult.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestResult.h#1 $ -// - - -#ifndef CppUnit_TestResult_INCLUDED -#define CppUnit_TestResult_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/TestFailure.h" -#include - - -namespace CppUnit { - - -class CppUnitException; -class Test; - - -/* - * A TestResult collects the results of executing a test case. It is an - * instance of the Collecting Parameter pattern. - * - * The test framework distinguishes between failures and errors. - * A failure is anticipated and checked for with assertions. Errors are - * unanticipated problems signified by exceptions that are not generated - * by the framework. - * - * TestResult supplies a template method 'setSynchronizationObject ()' - * so that subclasses can provide mutual exclusion in the face of multiple - * threads. This can be useful when tests execute in one thread and - * they fill a subclass of TestResult which effects change in another - * thread. To have mutual exclusion, override setSynchronizationObject () - * and make sure that you create an instance of ExclusiveZone at the - * beginning of each method. - * - * see Test - */ -class CppUnit_API TestResult -{ - REFERENCEOBJECT (TestResult) - -public: - TestResult(); - virtual ~TestResult(); - - virtual void addError(Test* test, CppUnitException* e); - virtual void addFailure(Test* test, CppUnitException* e); - virtual void startTest(Test* test); - virtual void endTest(Test* test); - virtual int runTests(); - virtual int testErrors(); - virtual int testFailures(); - virtual bool wasSuccessful(); - virtual bool shouldStop(); - virtual void stop(); - - virtual std::vector& errors(); - virtual std::vector& failures(); - - class SynchronizationObject - { - public: - SynchronizationObject() - { - } - - virtual ~SynchronizationObject() - { - } - - virtual void lock() - { - } - - virtual void unlock() - { - } - }; - - class ExclusiveZone - { - SynchronizationObject* m_syncObject; - - public: - ExclusiveZone(SynchronizationObject* syncObject): m_syncObject(syncObject) - { - m_syncObject->lock(); - } - - ~ExclusiveZone() - { - m_syncObject->unlock(); - } - }; - -protected: - virtual void setSynchronizationObject(SynchronizationObject* syncObject); - - std::vector _errors; - std::vector _failures; - int _runTests; - bool _stop; - SynchronizationObject* _syncObject; - -}; - - -// Construct a TestResult -inline TestResult::TestResult(): _syncObject(new SynchronizationObject()) -{ - _runTests = 0; - _stop = false; -} - - -// Adds an error to the list of errors. The passed in exception -// caused the error -inline void TestResult::addError(Test* test, CppUnitException* e) -{ - ExclusiveZone zone(_syncObject); - _errors.push_back(new TestFailure(test, e)); -} - - -// Adds a failure to the list of failures. The passed in exception -// caused the failure. -inline void TestResult::addFailure(Test* test, CppUnitException* e) -{ - ExclusiveZone zone(_syncObject); - _failures.push_back(new TestFailure(test, e)); -} - - -// Informs the result that a test will be started. -inline void TestResult::startTest(Test* test) -{ - ExclusiveZone zone(_syncObject); - _runTests++; -} - - -// Informs the result that a test was completed. -inline void TestResult::endTest(Test* test) -{ - ExclusiveZone zone(_syncObject); -} - - -// Gets the number of run tests. -inline int TestResult::runTests() -{ - ExclusiveZone zone(_syncObject); - return _runTests; -} - - -// Gets the number of detected errors. -inline int TestResult::testErrors() -{ - ExclusiveZone zone(_syncObject); - return (int) _errors.size(); -} - - -// Gets the number of detected failures. -inline int TestResult::testFailures() -{ - ExclusiveZone zone(_syncObject); - return (int) _failures.size(); -} - - -// Returns whether the entire test was successful or not. -inline bool TestResult::wasSuccessful() -{ - ExclusiveZone zone(_syncObject); - return _failures.size() == 0 && _errors.size () == 0; -} - - -// Returns a std::vector of the errors. -inline std::vector& TestResult::errors() -{ - ExclusiveZone zone(_syncObject); - return _errors; -} - - -// Returns a std::vector of the failures. -inline std::vector& TestResult::failures() -{ - ExclusiveZone zone(_syncObject); - return _failures; -} - - -// Returns whether testing should be stopped -inline bool TestResult::shouldStop() -{ - ExclusiveZone zone(_syncObject); - return _stop; -} - - -// Stop testing -inline void TestResult::stop() -{ - ExclusiveZone zone(_syncObject); - _stop = true; -} - - -// Accept a new synchronization object for protection of this instance -// TestResult assumes ownership of the object -inline void TestResult::setSynchronizationObject(SynchronizationObject* syncObject) -{ - delete _syncObject; - _syncObject = syncObject; -} - - -} // namespace CppUnit - - -#endif // CppUnit_TestResult_INCLUDED +// +// TestResult.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestResult.h#1 $ +// + + +#ifndef CppUnit_TestResult_INCLUDED +#define CppUnit_TestResult_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/TestFailure.h" +#include + + +namespace CppUnit { + + +class CppUnitException; +class Test; + + +/* + * A TestResult collects the results of executing a test case. It is an + * instance of the Collecting Parameter pattern. + * + * The test framework distinguishes between failures and errors. + * A failure is anticipated and checked for with assertions. Errors are + * unanticipated problems signified by exceptions that are not generated + * by the framework. + * + * TestResult supplies a template method 'setSynchronizationObject ()' + * so that subclasses can provide mutual exclusion in the face of multiple + * threads. This can be useful when tests execute in one thread and + * they fill a subclass of TestResult which effects change in another + * thread. To have mutual exclusion, override setSynchronizationObject () + * and make sure that you create an instance of ExclusiveZone at the + * beginning of each method. + * + * see Test + */ +class CppUnit_API TestResult +{ + REFERENCEOBJECT (TestResult) + +public: + TestResult(); + virtual ~TestResult(); + + virtual void addError(Test* test, CppUnitException* e); + virtual void addFailure(Test* test, CppUnitException* e); + virtual void startTest(Test* test); + virtual void endTest(Test* test); + virtual int runTests(); + virtual int testErrors(); + virtual int testFailures(); + virtual bool wasSuccessful(); + virtual bool shouldStop(); + virtual void stop(); + + virtual std::vector& errors(); + virtual std::vector& failures(); + + class SynchronizationObject + { + public: + SynchronizationObject() + { + } + + virtual ~SynchronizationObject() + { + } + + virtual void lock() + { + } + + virtual void unlock() + { + } + }; + + class ExclusiveZone + { + SynchronizationObject* m_syncObject; + + public: + ExclusiveZone(SynchronizationObject* syncObject): m_syncObject(syncObject) + { + m_syncObject->lock(); + } + + ~ExclusiveZone() + { + m_syncObject->unlock(); + } + }; + +protected: + virtual void setSynchronizationObject(SynchronizationObject* syncObject); + + std::vector _errors; + std::vector _failures; + int _runTests; + bool _stop; + SynchronizationObject* _syncObject; + +}; + + +// Construct a TestResult +inline TestResult::TestResult(): _syncObject(new SynchronizationObject()) +{ + _runTests = 0; + _stop = false; +} + + +// Adds an error to the list of errors. The passed in exception +// caused the error +inline void TestResult::addError(Test* test, CppUnitException* e) +{ + ExclusiveZone zone(_syncObject); + _errors.push_back(new TestFailure(test, e)); +} + + +// Adds a failure to the list of failures. The passed in exception +// caused the failure. +inline void TestResult::addFailure(Test* test, CppUnitException* e) +{ + ExclusiveZone zone(_syncObject); + _failures.push_back(new TestFailure(test, e)); +} + + +// Informs the result that a test will be started. +inline void TestResult::startTest(Test* test) +{ + ExclusiveZone zone(_syncObject); + _runTests++; +} + + +// Informs the result that a test was completed. +inline void TestResult::endTest(Test* test) +{ + ExclusiveZone zone(_syncObject); +} + + +// Gets the number of run tests. +inline int TestResult::runTests() +{ + ExclusiveZone zone(_syncObject); + return _runTests; +} + + +// Gets the number of detected errors. +inline int TestResult::testErrors() +{ + ExclusiveZone zone(_syncObject); + return (int) _errors.size(); +} + + +// Gets the number of detected failures. +inline int TestResult::testFailures() +{ + ExclusiveZone zone(_syncObject); + return (int) _failures.size(); +} + + +// Returns whether the entire test was successful or not. +inline bool TestResult::wasSuccessful() +{ + ExclusiveZone zone(_syncObject); + return _failures.size() == 0 && _errors.size () == 0; +} + + +// Returns a std::vector of the errors. +inline std::vector& TestResult::errors() +{ + ExclusiveZone zone(_syncObject); + return _errors; +} + + +// Returns a std::vector of the failures. +inline std::vector& TestResult::failures() +{ + ExclusiveZone zone(_syncObject); + return _failures; +} + + +// Returns whether testing should be stopped +inline bool TestResult::shouldStop() +{ + ExclusiveZone zone(_syncObject); + return _stop; +} + + +// Stop testing +inline void TestResult::stop() +{ + ExclusiveZone zone(_syncObject); + _stop = true; +} + + +// Accept a new synchronization object for protection of this instance +// TestResult assumes ownership of the object +inline void TestResult::setSynchronizationObject(SynchronizationObject* syncObject) +{ + delete _syncObject; + _syncObject = syncObject; +} + + +} // namespace CppUnit + + +#endif // CppUnit_TestResult_INCLUDED diff --git a/CppUnit/include/CppUnit/TestRunner.h b/CppUnit/include/CppUnit/TestRunner.h index 4227d9ac5..e43934659 100644 --- a/CppUnit/include/CppUnit/TestRunner.h +++ b/CppUnit/include/CppUnit/TestRunner.h @@ -1,103 +1,103 @@ -// -// TestRunner.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestRunner.h#2 $ -// - - -#ifndef CppUnit_TestRunner_INCLUDED -#define CppUnit_TestRunner_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include -#include -#include -#if defined(POCO_VXWORKS) -#include -#endif - - -namespace CppUnit { - - -class Test; - - -/* - * A command line based tool to run tests. - * TestRunner expects as its only argument the name of a TestCase class. - * TestRunner prints out a trace as the tests are executed followed by a - * summary at the end. - * - * You can add to the tests that the TestRunner knows about by - * making additional calls to "addTest (...)" in main. - * - * Here is the synopsis: - * - * TestRunner [-all] [-print] [-wait] ExampleTestCase - * - */ -class CppUnit_API TestRunner -{ - typedef std::pair Mapping; - typedef std::vector Mappings; - -public: - TestRunner(); - TestRunner(std::ostream& ostr); - ~TestRunner(); - - bool run(const std::vector& args); - void addTest(const std::string& name, Test* test); - -protected: - bool run(Test* test); - void printBanner(); - void print(const std::string& name, Test* pTest, int indent); - Test* find(const std::string& name, Test* pTest, const std::string& testName); - -private: - std::ostream& _ostr; - Mappings _mappings; -}; - - -} // namespace CppUnit - - -#if defined(POCO_VXWORKS) -#define CppUnitMain(testCase) \ - int testCase##Runner(const char* arg0, ...) \ - { \ - std::vector args; \ - args.push_back(#testCase "Runner"); \ - args.push_back(std::string(arg0)); \ - va_list vargs; \ - va_start(vargs, arg0); \ - const char* arg = va_arg(vargs, const char*); \ - while (arg) \ - { \ - args.push_back(std::string(arg)); \ - arg = va_arg(vargs, const char*); \ - } \ - va_end(vargs); \ - CppUnit::TestRunner runner; \ - runner.addTest(#testCase, testCase::suite()); \ - return runner.run(args) ? 0 : 1; \ - } -#else -#define CppUnitMain(testCase) \ - int main(int ac, char **av) \ - { \ - std::vector args; \ - for (int i = 0; i < ac; ++i) \ - args.push_back(std::string(av[i])); \ - CppUnit::TestRunner runner; \ - runner.addTest(#testCase, testCase::suite()); \ - return runner.run(args) ? 0 : 1; \ - } -#endif - - -#endif // CppUnit_TestRunner_INCLUDED +// +// TestRunner.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestRunner.h#2 $ +// + + +#ifndef CppUnit_TestRunner_INCLUDED +#define CppUnit_TestRunner_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include +#include +#include +#if defined(POCO_VXWORKS) +#include +#endif + + +namespace CppUnit { + + +class Test; + + +/* + * A command line based tool to run tests. + * TestRunner expects as its only argument the name of a TestCase class. + * TestRunner prints out a trace as the tests are executed followed by a + * summary at the end. + * + * You can add to the tests that the TestRunner knows about by + * making additional calls to "addTest (...)" in main. + * + * Here is the synopsis: + * + * TestRunner [-all] [-print] [-wait] ExampleTestCase + * + */ +class CppUnit_API TestRunner +{ + typedef std::pair Mapping; + typedef std::vector Mappings; + +public: + TestRunner(); + TestRunner(std::ostream& ostr); + ~TestRunner(); + + bool run(const std::vector& args); + void addTest(const std::string& name, Test* test); + +protected: + bool run(Test* test); + void printBanner(); + void print(const std::string& name, Test* pTest, int indent); + Test* find(const std::string& name, Test* pTest, const std::string& testName); + +private: + std::ostream& _ostr; + Mappings _mappings; +}; + + +} // namespace CppUnit + + +#if defined(POCO_VXWORKS) +#define CppUnitMain(testCase) \ + int testCase##Runner(const char* arg0, ...) \ + { \ + std::vector args; \ + args.push_back(#testCase "Runner"); \ + args.push_back(std::string(arg0)); \ + va_list vargs; \ + va_start(vargs, arg0); \ + const char* arg = va_arg(vargs, const char*); \ + while (arg) \ + { \ + args.push_back(std::string(arg)); \ + arg = va_arg(vargs, const char*); \ + } \ + va_end(vargs); \ + CppUnit::TestRunner runner; \ + runner.addTest(#testCase, testCase::suite()); \ + return runner.run(args) ? 0 : 1; \ + } +#else +#define CppUnitMain(testCase) \ + int main(int ac, char **av) \ + { \ + std::vector args; \ + for (int i = 0; i < ac; ++i) \ + args.push_back(std::string(av[i])); \ + CppUnit::TestRunner runner; \ + runner.addTest(#testCase, testCase::suite()); \ + return runner.run(args) ? 0 : 1; \ + } +#endif + + +#endif // CppUnit_TestRunner_INCLUDED diff --git a/CppUnit/include/CppUnit/TestSetup.h b/CppUnit/include/CppUnit/TestSetup.h index 7af839669..789a076e5 100644 --- a/CppUnit/include/CppUnit/TestSetup.h +++ b/CppUnit/include/CppUnit/TestSetup.h @@ -1,57 +1,57 @@ -// -// TestSetup.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestSetup.h#1 $ -// - - -#ifndef CppUnit_TestSetup_INCLUDED -#define CppUnit_TestSetup_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/TestDecorator.h" - - -namespace CppUnit { - - -class Test; -class TestResult; - - -class CppUnit_API TestSetup: public TestDecorator -{ - REFERENCEOBJECT (TestSetup) - -public: - TestSetup(Test* test): TestDecorator(test) - { - } - - void run(TestResult* result); - -protected: - void setUp() - { - } - - void tearDown() - { - } -}; - - -inline void TestSetup::run(TestResult* result) -{ - setUp(); - TestDecorator::run(result); - tearDown(); -} - - -} // namespace CppUnit - - -#endif // CppUnit_TestSetup_INCLUDED +// +// TestSetup.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestSetup.h#1 $ +// + + +#ifndef CppUnit_TestSetup_INCLUDED +#define CppUnit_TestSetup_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/TestDecorator.h" + + +namespace CppUnit { + + +class Test; +class TestResult; + + +class CppUnit_API TestSetup: public TestDecorator +{ + REFERENCEOBJECT (TestSetup) + +public: + TestSetup(Test* test): TestDecorator(test) + { + } + + void run(TestResult* result); + +protected: + void setUp() + { + } + + void tearDown() + { + } +}; + + +inline void TestSetup::run(TestResult* result) +{ + setUp(); + TestDecorator::run(result); + tearDown(); +} + + +} // namespace CppUnit + + +#endif // CppUnit_TestSetup_INCLUDED diff --git a/CppUnit/include/CppUnit/TestSuite.h b/CppUnit/include/CppUnit/TestSuite.h index a2192ae6a..197cf2747 100644 --- a/CppUnit/include/CppUnit/TestSuite.h +++ b/CppUnit/include/CppUnit/TestSuite.h @@ -1,98 +1,98 @@ -// -// TestSuite.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TestSuite.h#1 $ -// - - -#ifndef CppUnit_TestSuite_INCLUDED -#define CppUnit_TestSuite_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/Guards.h" -#include "CppUnit/Test.h" -#include -#include - - -namespace CppUnit { - - -class TestResult; - - -/* - * A TestSuite is a Composite of Tests. - * It runs a collection of test cases. Here is an example. - * - * TestSuite *suite= new TestSuite(); - * suite->addTest(new TestCaller ("testAdd", testAdd)); - * suite->addTest(new TestCaller ("testDivideByZero", testDivideByZero)); - * - * Note that TestSuites assume lifetime - * control for any tests added to them. - * - * see Test and TestCaller - */ -class CppUnit_API TestSuite: public Test -{ - REFERENCEOBJECT (TestSuite) - -public: - TestSuite(const std::string& name = ""); - ~TestSuite(); - - void run(TestResult* result); - int countTestCases(); - void addTest(Test* test); - std::string toString(); - - virtual void deleteContents(); - - const std::vector tests() const; - -private: - std::vector _tests; - const std::string _name; -}; - - -// Default constructor -inline TestSuite::TestSuite(const std::string& name): _name(name) -{ -} - - -// Destructor -inline TestSuite::~TestSuite() -{ - deleteContents(); -} - - -// Adds a test to the suite. -inline void TestSuite::addTest(Test* test) -{ - _tests.push_back(test); -} - - -// Returns a std::string representation of the test suite. -inline std::string TestSuite::toString() -{ - return "suite " + _name; -} - - -// Returns all tests -inline const std::vector TestSuite::tests() const -{ - return _tests; -} - - -} // namespace CppUnit - - -#endif // CppUnit_TestSuite_INCLUDED +// +// TestSuite.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TestSuite.h#1 $ +// + + +#ifndef CppUnit_TestSuite_INCLUDED +#define CppUnit_TestSuite_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/Guards.h" +#include "CppUnit/Test.h" +#include +#include + + +namespace CppUnit { + + +class TestResult; + + +/* + * A TestSuite is a Composite of Tests. + * It runs a collection of test cases. Here is an example. + * + * TestSuite *suite= new TestSuite(); + * suite->addTest(new TestCaller ("testAdd", testAdd)); + * suite->addTest(new TestCaller ("testDivideByZero", testDivideByZero)); + * + * Note that TestSuites assume lifetime + * control for any tests added to them. + * + * see Test and TestCaller + */ +class CppUnit_API TestSuite: public Test +{ + REFERENCEOBJECT (TestSuite) + +public: + TestSuite(const std::string& name = ""); + ~TestSuite(); + + void run(TestResult* result); + int countTestCases(); + void addTest(Test* test); + std::string toString(); + + virtual void deleteContents(); + + const std::vector tests() const; + +private: + std::vector _tests; + const std::string _name; +}; + + +// Default constructor +inline TestSuite::TestSuite(const std::string& name): _name(name) +{ +} + + +// Destructor +inline TestSuite::~TestSuite() +{ + deleteContents(); +} + + +// Adds a test to the suite. +inline void TestSuite::addTest(Test* test) +{ + _tests.push_back(test); +} + + +// Returns a std::string representation of the test suite. +inline std::string TestSuite::toString() +{ + return "suite " + _name; +} + + +// Returns all tests +inline const std::vector TestSuite::tests() const +{ + return _tests; +} + + +} // namespace CppUnit + + +#endif // CppUnit_TestSuite_INCLUDED diff --git a/CppUnit/include/CppUnit/TextTestResult.h b/CppUnit/include/CppUnit/TextTestResult.h index b3130ec2f..2406093c1 100644 --- a/CppUnit/include/CppUnit/TextTestResult.h +++ b/CppUnit/include/CppUnit/TextTestResult.h @@ -1,53 +1,53 @@ -// -// TextTestResult.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/TextTestResult.h#1 $ -// - - -#ifndef CppUnit_TextTestResult_INCLUDED -#define CppUnit_TextTestResult_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include "CppUnit/TestResult.h" -#include - - -namespace CppUnit { - - -class CppUnit_API TextTestResult: public TestResult -{ -public: - TextTestResult(); - TextTestResult(std::ostream& ostr); - - virtual void addError(Test* test, CppUnitException* e); - virtual void addFailure(Test* test, CppUnitException* e); - virtual void startTest(Test* test); - virtual void print(std::ostream& stream); - virtual void printErrors(std::ostream& stream); - virtual void printFailures(std::ostream& stream); - virtual void printHeader(std::ostream& stream); - -protected: - std::string shortName(const std::string& testName); - -private: - std::ostream& _ostr; -}; - - -/* insertion operator for easy output */ -inline std::ostream& operator<< (std::ostream& stream, TextTestResult& result) -{ - result.print(stream); - return stream; -} - - -} // namespace CppUnit - - -#endif // CppUnit_TextTestResult_INCLUDED +// +// TextTestResult.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/TextTestResult.h#1 $ +// + + +#ifndef CppUnit_TextTestResult_INCLUDED +#define CppUnit_TextTestResult_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include "CppUnit/TestResult.h" +#include + + +namespace CppUnit { + + +class CppUnit_API TextTestResult: public TestResult +{ +public: + TextTestResult(); + TextTestResult(std::ostream& ostr); + + virtual void addError(Test* test, CppUnitException* e); + virtual void addFailure(Test* test, CppUnitException* e); + virtual void startTest(Test* test); + virtual void print(std::ostream& stream); + virtual void printErrors(std::ostream& stream); + virtual void printFailures(std::ostream& stream); + virtual void printHeader(std::ostream& stream); + +protected: + std::string shortName(const std::string& testName); + +private: + std::ostream& _ostr; +}; + + +/* insertion operator for easy output */ +inline std::ostream& operator<< (std::ostream& stream, TextTestResult& result) +{ + result.print(stream); + return stream; +} + + +} // namespace CppUnit + + +#endif // CppUnit_TextTestResult_INCLUDED diff --git a/CppUnit/include/CppUnit/estring.h b/CppUnit/include/CppUnit/estring.h index 7cdaac230..cc3fe99d9 100644 --- a/CppUnit/include/CppUnit/estring.h +++ b/CppUnit/include/CppUnit/estring.h @@ -1,73 +1,73 @@ -// -// estring.h -// -// $Id: //poco/1.4/CppUnit/include/CppUnit/estring.h#1 $ -// - - -#ifndef CppUnit_estring_INCLUDED -#define CppUnit_estring_INCLUDED - - -#include "CppUnit/CppUnit.h" -#include -#include - - -namespace CppUnit { - - -// Create a std::string from a const char pointer -inline std::string estring(const char *cstring) -{ - return std::string(cstring); -} - - -// Create a std::string from a std::string (for uniformities' sake) -inline std::string estring(std::string& expandedString) -{ - return expandedString; -} - - -// Create a std::string from an int -inline std::string estring(int number) -{ - char buffer[50]; - sprintf(buffer, "%d", number); - return std::string (buffer); -} - - -// Create a string from a long -inline std::string estring(long number) -{ - char buffer[50]; - sprintf(buffer, "%ld", number); - return std::string (buffer); -} - - -// Create a std::string from a double -inline std::string estring(double number) -{ - char buffer[50]; - sprintf(buffer, "%lf", number); - return std::string(buffer); -} - - -// Create a std::string from a double -inline std::string estring(const void* ptr) -{ - char buffer[50]; - sprintf(buffer, "%p", ptr); - return std::string(buffer); -} - - -} // namespace CppUnit - - -#endif // CppUnit_estring_INCLUDED +// +// estring.h +// +// $Id: //poco/1.4/CppUnit/include/CppUnit/estring.h#1 $ +// + + +#ifndef CppUnit_estring_INCLUDED +#define CppUnit_estring_INCLUDED + + +#include "CppUnit/CppUnit.h" +#include +#include + + +namespace CppUnit { + + +// Create a std::string from a const char pointer +inline std::string estring(const char *cstring) +{ + return std::string(cstring); +} + + +// Create a std::string from a std::string (for uniformities' sake) +inline std::string estring(std::string& expandedString) +{ + return expandedString; +} + + +// Create a std::string from an int +inline std::string estring(int number) +{ + char buffer[50]; + sprintf(buffer, "%d", number); + return std::string (buffer); +} + + +// Create a string from a long +inline std::string estring(long number) +{ + char buffer[50]; + sprintf(buffer, "%ld", number); + return std::string (buffer); +} + + +// Create a std::string from a double +inline std::string estring(double number) +{ + char buffer[50]; + sprintf(buffer, "%lf", number); + return std::string(buffer); +} + + +// Create a std::string from a double +inline std::string estring(const void* ptr) +{ + char buffer[50]; + sprintf(buffer, "%p", ptr); + return std::string(buffer); +} + + +} // namespace CppUnit + + +#endif // CppUnit_estring_INCLUDED diff --git a/CppUnit/src/CppUnitException.cpp b/CppUnit/src/CppUnitException.cpp index 005b121f8..fa4edfcaf 100644 --- a/CppUnit/src/CppUnitException.cpp +++ b/CppUnit/src/CppUnitException.cpp @@ -1,18 +1,18 @@ -// -// CppUnitException.cpp -// -// $Id: //poco/1.4/CppUnit/src/CppUnitException.cpp#1 $ -// - - -#include "CppUnit/CppUnitException.h" - - -namespace CppUnit { - - -const std::string CppUnitException::CPPUNIT_UNKNOWNFILENAME = ""; -const int CppUnitException::CPPUNIT_UNKNOWNLINENUMBER = -1; - - -} // namespace CppUnit +// +// CppUnitException.cpp +// +// $Id: //poco/1.4/CppUnit/src/CppUnitException.cpp#1 $ +// + + +#include "CppUnit/CppUnitException.h" + + +namespace CppUnit { + + +const std::string CppUnitException::CPPUNIT_UNKNOWNFILENAME = ""; +const int CppUnitException::CPPUNIT_UNKNOWNLINENUMBER = -1; + + +} // namespace CppUnit diff --git a/CppUnit/src/TestCase.cpp b/CppUnit/src/TestCase.cpp index 2f4e60383..b583cc9a3 100644 --- a/CppUnit/src/TestCase.cpp +++ b/CppUnit/src/TestCase.cpp @@ -1,182 +1,182 @@ -// -// TestCase.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestCase.cpp#1 $ -// - - -#include -#include -#include "CppUnit/TestCase.h" -#include "CppUnit/TestResult.h" -#include "CppUnit/estring.h" -#include - - -using namespace std; - - -namespace CppUnit { - - -// Create a default TestResult -TestResult* TestCase::defaultResult() -{ - return new TestResult; -} - - -// Check for a failed general assertion -void TestCase::assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, const std::string& fileName) -{ - if (!condition) - throw CppUnitException(conditionExpression, lineNumber, fileName); -} - - -void TestCase::loop1assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, long data1lineNumber, const std::string& fileName) -{ - if (!condition) - throw CppUnitException(conditionExpression, lineNumber, data1lineNumber, fileName); -} - - -void TestCase::loop2assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, long data1lineNumber, long data2lineNumber, const std::string& fileName) -{ - if (!condition) - throw CppUnitException(conditionExpression, lineNumber, data1lineNumber, data2lineNumber, fileName); -} - - -// Check for a failed equality assertion -void TestCase::assertEquals(long expected, long actual, long lineNumber, const std::string& fileName) -{ - if (expected != actual) - assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); -} - - -// Check for a failed equality assertion -void TestCase::assertEquals(double expected, double actual, double delta, long lineNumber, const std::string& fileName) -{ - if (fabs(expected - actual) > delta) - assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); -} - - -// Check for a failed equality assertion -void TestCase::assertEquals(const void* expected, const void* actual, long lineNumber, const std::string& fileName) -{ - if (expected != actual) - assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); -} - - -// Check for a failed equality assertion -void TestCase::assertEquals(const std::string& expected, const std::string& actual, long lineNumber, const std::string& fileName) -{ - if (expected != actual) - assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); -} - - -void TestCase::assertNotNull(const void* pointer, const std::string& pointerExpression, long lineNumber, const std::string& fileName) -{ - if (pointer == NULL) - throw CppUnitException(pointerExpression + " must not be NULL", lineNumber, fileName); -} - - -void TestCase::assertNull(const void* pointer, const std::string& pointerExpression, long lineNumber, const std::string& fileName) -{ - if (pointer != NULL) - throw CppUnitException(pointerExpression + " must be NULL", lineNumber, fileName); -} - - -void TestCase::fail (const std::string& message, long lineNumber, const std::string& fileName) -{ - throw CppUnitException(std::string("fail: ") + message, lineNumber, fileName); -} - - -// Run the test and catch any exceptions that are triggered by it -void TestCase::run(TestResult *result) -{ - result->startTest(this); - - setUp(); - try - { - runTest(); - } - catch (CppUnitException& e) - { - CppUnitException* copy = new CppUnitException(e); - result->addFailure(this, copy); - } - catch (std::exception& e) - { - std::string msg(typeid(e).name()); - msg.append(": "); - msg.append(e.what()); - result->addError(this, new CppUnitException(msg)); - - } -#if !defined(_WIN32) - catch (...) - { - CppUnitException *e = new CppUnitException ("unknown exception"); - result->addError (this, e); - } -#endif - tearDown (); - result->endTest(this); -} - - -// A default run method -TestResult* TestCase::run() -{ - TestResult* result = defaultResult(); - - run(result); - return result; -} - - -// All the work for runTest is deferred to subclasses -void TestCase::runTest() -{ -} - - -// Build a message about a failed equality check -std::string TestCase::notEqualsMessage(long expected, long actual) -{ - return "expected: " + estring(expected) + " but was: " + estring(actual); -} - - -// Build a message about a failed equality check -std::string TestCase::notEqualsMessage(double expected, double actual) -{ - return "expected: " + estring(expected) + " but was: " + estring(actual); -} - - -// Build a message about a failed equality check -std::string TestCase::notEqualsMessage(const void* expected, const void* actual) -{ - return "expected: " + estring(expected) + " but was: " + estring(actual); -} - - -// Build a message about a failed equality check -std::string TestCase::notEqualsMessage(const std::string& expected, const std::string& actual) -{ - return "expected: \"" + expected + "\" but was: \"" + actual + "\""; -} - - -} // namespace CppUnit +// +// TestCase.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestCase.cpp#1 $ +// + + +#include +#include +#include "CppUnit/TestCase.h" +#include "CppUnit/TestResult.h" +#include "CppUnit/estring.h" +#include + + +using namespace std; + + +namespace CppUnit { + + +// Create a default TestResult +TestResult* TestCase::defaultResult() +{ + return new TestResult; +} + + +// Check for a failed general assertion +void TestCase::assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, const std::string& fileName) +{ + if (!condition) + throw CppUnitException(conditionExpression, lineNumber, fileName); +} + + +void TestCase::loop1assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, long data1lineNumber, const std::string& fileName) +{ + if (!condition) + throw CppUnitException(conditionExpression, lineNumber, data1lineNumber, fileName); +} + + +void TestCase::loop2assertImplementation(bool condition, const std::string& conditionExpression, long lineNumber, long data1lineNumber, long data2lineNumber, const std::string& fileName) +{ + if (!condition) + throw CppUnitException(conditionExpression, lineNumber, data1lineNumber, data2lineNumber, fileName); +} + + +// Check for a failed equality assertion +void TestCase::assertEquals(long expected, long actual, long lineNumber, const std::string& fileName) +{ + if (expected != actual) + assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); +} + + +// Check for a failed equality assertion +void TestCase::assertEquals(double expected, double actual, double delta, long lineNumber, const std::string& fileName) +{ + if (fabs(expected - actual) > delta) + assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); +} + + +// Check for a failed equality assertion +void TestCase::assertEquals(const void* expected, const void* actual, long lineNumber, const std::string& fileName) +{ + if (expected != actual) + assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); +} + + +// Check for a failed equality assertion +void TestCase::assertEquals(const std::string& expected, const std::string& actual, long lineNumber, const std::string& fileName) +{ + if (expected != actual) + assertImplementation(false, notEqualsMessage(expected, actual), lineNumber, fileName); +} + + +void TestCase::assertNotNull(const void* pointer, const std::string& pointerExpression, long lineNumber, const std::string& fileName) +{ + if (pointer == NULL) + throw CppUnitException(pointerExpression + " must not be NULL", lineNumber, fileName); +} + + +void TestCase::assertNull(const void* pointer, const std::string& pointerExpression, long lineNumber, const std::string& fileName) +{ + if (pointer != NULL) + throw CppUnitException(pointerExpression + " must be NULL", lineNumber, fileName); +} + + +void TestCase::fail (const std::string& message, long lineNumber, const std::string& fileName) +{ + throw CppUnitException(std::string("fail: ") + message, lineNumber, fileName); +} + + +// Run the test and catch any exceptions that are triggered by it +void TestCase::run(TestResult *result) +{ + result->startTest(this); + + setUp(); + try + { + runTest(); + } + catch (CppUnitException& e) + { + CppUnitException* copy = new CppUnitException(e); + result->addFailure(this, copy); + } + catch (std::exception& e) + { + std::string msg(typeid(e).name()); + msg.append(": "); + msg.append(e.what()); + result->addError(this, new CppUnitException(msg)); + + } +#if !defined(_WIN32) + catch (...) + { + CppUnitException *e = new CppUnitException ("unknown exception"); + result->addError (this, e); + } +#endif + tearDown (); + result->endTest(this); +} + + +// A default run method +TestResult* TestCase::run() +{ + TestResult* result = defaultResult(); + + run(result); + return result; +} + + +// All the work for runTest is deferred to subclasses +void TestCase::runTest() +{ +} + + +// Build a message about a failed equality check +std::string TestCase::notEqualsMessage(long expected, long actual) +{ + return "expected: " + estring(expected) + " but was: " + estring(actual); +} + + +// Build a message about a failed equality check +std::string TestCase::notEqualsMessage(double expected, double actual) +{ + return "expected: " + estring(expected) + " but was: " + estring(actual); +} + + +// Build a message about a failed equality check +std::string TestCase::notEqualsMessage(const void* expected, const void* actual) +{ + return "expected: " + estring(expected) + " but was: " + estring(actual); +} + + +// Build a message about a failed equality check +std::string TestCase::notEqualsMessage(const std::string& expected, const std::string& actual) +{ + return "expected: \"" + expected + "\" but was: \"" + actual + "\""; +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TestDecorator.cpp b/CppUnit/src/TestDecorator.cpp index bb135c18d..40f4b6662 100644 --- a/CppUnit/src/TestDecorator.cpp +++ b/CppUnit/src/TestDecorator.cpp @@ -1,43 +1,43 @@ -// -// TestDecorator.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestDecorator.cpp#1 $ -// - - -#include "CppUnit/TestDecorator.h" - - -namespace CppUnit { - - -TestDecorator::TestDecorator(Test* test) -{ - _test = test; -} - - -TestDecorator::~TestDecorator() -{ -} - - -int TestDecorator::countTestCases() -{ - return _test->countTestCases(); -} - - -void TestDecorator::run(TestResult* result) -{ - _test->run(result); -} - - -std::string TestDecorator::toString() -{ - return _test->toString(); -} - - -} // namespace CppUnit +// +// TestDecorator.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestDecorator.cpp#1 $ +// + + +#include "CppUnit/TestDecorator.h" + + +namespace CppUnit { + + +TestDecorator::TestDecorator(Test* test) +{ + _test = test; +} + + +TestDecorator::~TestDecorator() +{ +} + + +int TestDecorator::countTestCases() +{ + return _test->countTestCases(); +} + + +void TestDecorator::run(TestResult* result) +{ + _test->run(result); +} + + +std::string TestDecorator::toString() +{ + return _test->toString(); +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TestFailure.cpp b/CppUnit/src/TestFailure.cpp index 754204483..bfae51606 100644 --- a/CppUnit/src/TestFailure.cpp +++ b/CppUnit/src/TestFailure.cpp @@ -1,22 +1,22 @@ -// -// TestFailure.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestFailure.cpp#1 $ -// - - -#include "CppUnit/TestFailure.h" -#include "CppUnit/Test.h" - - -namespace CppUnit { - - -// Returns a short description of the failure. -std::string TestFailure::toString() -{ - return _failedTest->toString () + ": " + _thrownException->what(); -} - - -} // namespace CppUnit +// +// TestFailure.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestFailure.cpp#1 $ +// + + +#include "CppUnit/TestFailure.h" +#include "CppUnit/Test.h" + + +namespace CppUnit { + + +// Returns a short description of the failure. +std::string TestFailure::toString() +{ + return _failedTest->toString () + ": " + _thrownException->what(); +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TestResult.cpp b/CppUnit/src/TestResult.cpp index 78b0b47f3..d6e3fcbbf 100644 --- a/CppUnit/src/TestResult.cpp +++ b/CppUnit/src/TestResult.cpp @@ -1,29 +1,29 @@ -// -// TestResult.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestResult.cpp#1 $ -// - - -#include "CppUnit/TestResult.h" - - -namespace CppUnit { - - -// Destroys a test result -TestResult::~TestResult() -{ - std::vector::iterator it; - - for (it = _errors.begin(); it != _errors.end(); ++it) - delete *it; - - for (it = _failures.begin(); it != _failures.end(); ++it) - delete *it; - - delete _syncObject; -} - - -} // namespace CppUnit +// +// TestResult.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestResult.cpp#1 $ +// + + +#include "CppUnit/TestResult.h" + + +namespace CppUnit { + + +// Destroys a test result +TestResult::~TestResult() +{ + std::vector::iterator it; + + for (it = _errors.begin(); it != _errors.end(); ++it) + delete *it; + + for (it = _failures.begin(); it != _failures.end(); ++it) + delete *it; + + delete _syncObject; +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TestRunner.cpp b/CppUnit/src/TestRunner.cpp index bf21ed4c3..196fbdeed 100644 --- a/CppUnit/src/TestRunner.cpp +++ b/CppUnit/src/TestRunner.cpp @@ -1,188 +1,188 @@ -// -// TestRunner.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestRunner.cpp#1 $ -// - - -#include "CppUnit/TestRunner.h" -#include "CppUnit/Test.h" -#include "CppUnit/TestSuite.h" -#include "CppUnit/TextTestResult.h" -#include - - -namespace CppUnit { - - -TestRunner::TestRunner(): - _ostr(std::cout) -{ -} - - -TestRunner::TestRunner(std::ostream& ostr): - _ostr(ostr) -{ -} - - -TestRunner::~TestRunner() -{ - for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) - delete it->second; -} - - -void TestRunner::printBanner() -{ - _ostr - << "Usage: driver [-all] [-print] [-wait] [name] ..." << std::endl - << " where name is the name of a test case class" << std::endl; -} - - -bool TestRunner::run(const std::vector& args) -{ - std::string testCase; - int numberOfTests = 0; - bool success = true; - bool all = false; - bool wait = false; - bool printed = false; - - for (int i = 1; i < args.size(); i++) - { - const std::string& arg = args[i]; - if (arg == "-wait") - { - wait = true; - continue; - } - else if (arg == "-all") - { - all = true; - continue; - } - else if (arg == "-print") - { - for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) - { - print(it->first, it->second, 0); - } - printed = true; - continue; - } - - if (!all) - { - testCase = arg; - - if (testCase == "") - { - printBanner(); - return false; - } - - Test* testToRun = 0; - for (Mappings::iterator it = _mappings.begin(); !testToRun && it != _mappings.end(); ++it) - { - testToRun = find(testCase, it->second, it->first); - } - if (testToRun) - { - if (!run(testToRun)) success = false; - } - numberOfTests++; - - if (!testToRun) - { - _ostr << "Test " << testCase << " not found." << std::endl; - return false; - } - } - } - - if (all) - { - for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) - { - if (!run(it->second)) success = false; - numberOfTests++; - } - } - - if (numberOfTests == 0 && !printed) - { - printBanner(); - return false; - } - - if (wait) - { - _ostr << " to continue" << std::endl; - std::cin.get(); - } - - return success; -} - - -bool TestRunner::run(Test* test) -{ - TextTestResult result(_ostr); - - test->run(&result); - _ostr << result << std::endl; - - return result.wasSuccessful(); -} - - -void TestRunner::addTest(const std::string& name, Test* test) -{ - _mappings.push_back(Mapping(name, test)); -} - - -void TestRunner::print(const std::string& name, Test* pTest, int indent) -{ - for (int i = 0; i < indent; ++i) - _ostr << " "; - _ostr << name << std::endl; - TestSuite* pSuite = dynamic_cast(pTest); - if (pSuite) - { - const std::vector& tests = pSuite->tests(); - for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) - { - print((*it)->toString(), *it, indent + 1); - } - } -} - - -Test* TestRunner::find(const std::string& name, Test* pTest, const std::string& testName) -{ - if (testName.find(name) != std::string::npos) - { - return pTest; - } - else - { - TestSuite* pSuite = dynamic_cast(pTest); - if (pSuite) - { - const std::vector& tests = pSuite->tests(); - for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) - { - Test* result = find(name, *it, (*it)->toString()); - if (result) return result; - } - } - return 0; - } -} - - -} // namespace CppUnit +// +// TestRunner.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestRunner.cpp#1 $ +// + + +#include "CppUnit/TestRunner.h" +#include "CppUnit/Test.h" +#include "CppUnit/TestSuite.h" +#include "CppUnit/TextTestResult.h" +#include + + +namespace CppUnit { + + +TestRunner::TestRunner(): + _ostr(std::cout) +{ +} + + +TestRunner::TestRunner(std::ostream& ostr): + _ostr(ostr) +{ +} + + +TestRunner::~TestRunner() +{ + for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) + delete it->second; +} + + +void TestRunner::printBanner() +{ + _ostr + << "Usage: driver [-all] [-print] [-wait] [name] ..." << std::endl + << " where name is the name of a test case class" << std::endl; +} + + +bool TestRunner::run(const std::vector& args) +{ + std::string testCase; + int numberOfTests = 0; + bool success = true; + bool all = false; + bool wait = false; + bool printed = false; + + for (int i = 1; i < args.size(); i++) + { + const std::string& arg = args[i]; + if (arg == "-wait") + { + wait = true; + continue; + } + else if (arg == "-all") + { + all = true; + continue; + } + else if (arg == "-print") + { + for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) + { + print(it->first, it->second, 0); + } + printed = true; + continue; + } + + if (!all) + { + testCase = arg; + + if (testCase == "") + { + printBanner(); + return false; + } + + Test* testToRun = 0; + for (Mappings::iterator it = _mappings.begin(); !testToRun && it != _mappings.end(); ++it) + { + testToRun = find(testCase, it->second, it->first); + } + if (testToRun) + { + if (!run(testToRun)) success = false; + } + numberOfTests++; + + if (!testToRun) + { + _ostr << "Test " << testCase << " not found." << std::endl; + return false; + } + } + } + + if (all) + { + for (Mappings::iterator it = _mappings.begin(); it != _mappings.end(); ++it) + { + if (!run(it->second)) success = false; + numberOfTests++; + } + } + + if (numberOfTests == 0 && !printed) + { + printBanner(); + return false; + } + + if (wait) + { + _ostr << " to continue" << std::endl; + std::cin.get(); + } + + return success; +} + + +bool TestRunner::run(Test* test) +{ + TextTestResult result(_ostr); + + test->run(&result); + _ostr << result << std::endl; + + return result.wasSuccessful(); +} + + +void TestRunner::addTest(const std::string& name, Test* test) +{ + _mappings.push_back(Mapping(name, test)); +} + + +void TestRunner::print(const std::string& name, Test* pTest, int indent) +{ + for (int i = 0; i < indent; ++i) + _ostr << " "; + _ostr << name << std::endl; + TestSuite* pSuite = dynamic_cast(pTest); + if (pSuite) + { + const std::vector& tests = pSuite->tests(); + for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) + { + print((*it)->toString(), *it, indent + 1); + } + } +} + + +Test* TestRunner::find(const std::string& name, Test* pTest, const std::string& testName) +{ + if (testName.find(name) != std::string::npos) + { + return pTest; + } + else + { + TestSuite* pSuite = dynamic_cast(pTest); + if (pSuite) + { + const std::vector& tests = pSuite->tests(); + for (std::vector::const_iterator it = tests.begin(); it != tests.end(); ++it) + { + Test* result = find(name, *it, (*it)->toString()); + if (result) return result; + } + } + return 0; + } +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TestSuite.cpp b/CppUnit/src/TestSuite.cpp index e9b0f61bd..066949243 100644 --- a/CppUnit/src/TestSuite.cpp +++ b/CppUnit/src/TestSuite.cpp @@ -1,49 +1,49 @@ -// -// TestSuite.cpp -// -// $Id: //poco/1.4/CppUnit/src/TestSuite.cpp#1 $ -// - - -#include "CppUnit/TestSuite.h" -#include "CppUnit/TestResult.h" - - -namespace CppUnit { - - -// Deletes all tests in the suite. -void TestSuite::deleteContents() -{ - for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) - delete *it; -} - - -// Runs the tests and collects their result in a TestResult. -void TestSuite::run(TestResult *result) -{ - for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) - { - if (result->shouldStop ()) - break; - - Test *test = *it; - test->run(result); - } -} - - -// Counts the number of test cases that will be run by this test. -int TestSuite::countTestCases() -{ - int count = 0; - - for (std::vector::iterator it = _tests.begin (); it != _tests.end (); ++it) - count += (*it)->countTestCases(); - - return count; -} - - -} // namespace CppUnit +// +// TestSuite.cpp +// +// $Id: //poco/1.4/CppUnit/src/TestSuite.cpp#1 $ +// + + +#include "CppUnit/TestSuite.h" +#include "CppUnit/TestResult.h" + + +namespace CppUnit { + + +// Deletes all tests in the suite. +void TestSuite::deleteContents() +{ + for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) + delete *it; +} + + +// Runs the tests and collects their result in a TestResult. +void TestSuite::run(TestResult *result) +{ + for (std::vector::iterator it = _tests.begin(); it != _tests.end(); ++it) + { + if (result->shouldStop ()) + break; + + Test *test = *it; + test->run(result); + } +} + + +// Counts the number of test cases that will be run by this test. +int TestSuite::countTestCases() +{ + int count = 0; + + for (std::vector::iterator it = _tests.begin (); it != _tests.end (); ++it) + count += (*it)->countTestCases(); + + return count; +} + + +} // namespace CppUnit diff --git a/CppUnit/src/TextTestResult.cpp b/CppUnit/src/TextTestResult.cpp index 0d66faf66..2c08bd341 100644 --- a/CppUnit/src/TextTestResult.cpp +++ b/CppUnit/src/TextTestResult.cpp @@ -1,186 +1,186 @@ -// -// TextTestResult.cpp -// -// $Id: //poco/1.4/CppUnit/src/TextTestResult.cpp#1 $ -// - - -#include "CppUnit/TextTestResult.h" -#include "CppUnit/CppUnitException.h" -#include "CppUnit/Test.h" -#include "CppUnit/estring.h" -#include -#include - - -namespace CppUnit { - - -TextTestResult::TextTestResult(): - _ostr(std::cout) -{ -} - - -TextTestResult::TextTestResult(std::ostream& ostr): - _ostr(ostr) -{ -} - - -void TextTestResult::addError(Test* test, CppUnitException* e) -{ - TestResult::addError(test, e); - _ostr << "ERROR" << std::flush; -} - - -void TextTestResult::addFailure(Test* test, CppUnitException* e) -{ - TestResult::addFailure(test, e); - _ostr << "FAILURE" << std::flush; -} - - -void TextTestResult::startTest(Test* test) -{ - TestResult::startTest(test); - _ostr << "\n" << shortName(test->toString()) << ": "; -} - - -void TextTestResult::printErrors(std::ostream& stream) -{ - if (testErrors() != 0) - { - stream << "\n"; - - if (testErrors() == 1) - stream << "There was " << testErrors() << " error: " << std::endl; - else - stream << "There were " << testErrors() << " errors: " << std::endl; - - int i = 1; - for (std::vector::iterator it = errors().begin(); it != errors().end(); ++it) - { - TestFailure* failure = *it; - CppUnitException* e = failure->thrownException(); - - stream << std::setw(2) << i - << ": " - << failure->failedTest()->toString() << "\n" - << " \"" << (e ? e->what() : "") << "\"\n" - << " in \"" - << (e ? e->fileName() : std::string()) - << "\", line "; - if (e == 0) - { - stream << "0"; - } - else - { - stream << e->lineNumber(); - if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) - { - stream << " data lines " << e->data1LineNumber() - << ", " << e->data2LineNumber(); - } - else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) - { - stream << " data line " << e->data1LineNumber(); - } - } - stream << "\n"; - i++; - } - } -} - - -void TextTestResult::printFailures(std::ostream& stream) -{ - if (testFailures() != 0) - { - stream << "\n"; - if (testFailures() == 1) - stream << "There was " << testFailures() << " failure: " << std::endl; - else - stream << "There were " << testFailures() << " failures: " << std::endl; - - int i = 1; - - for (std::vector::iterator it = failures().begin(); it != failures().end(); ++it) - { - TestFailure* failure = *it; - CppUnitException* e = failure->thrownException(); - - stream << std::setw(2) << i - << ": " - << failure->failedTest()->toString() << "\n" - << " \"" << (e ? e->what() : "") << "\"\n" - << " in \"" - << (e ? e->fileName() : std::string()) - << "\", line "; - if (e == 0) - { - stream << "0"; - } - else - { - stream << e->lineNumber(); - if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) - { - stream << " data lines " - << e->data1LineNumber() - << ", " << e->data2LineNumber(); - } - else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) - { - stream << " data line " << e->data1LineNumber(); - } - } - stream << "\n"; - i++; - } - } -} - - -void TextTestResult::print(std::ostream& stream) -{ - printHeader(stream); - printErrors(stream); - printFailures(stream); -} - - -void TextTestResult::printHeader(std::ostream& stream) -{ - stream << "\n\n"; - if (wasSuccessful()) - stream << "OK (" - << runTests() << " tests)" - << std::endl; - else - stream << "!!!FAILURES!!!" << std::endl - << "Runs: " - << runTests () - << " Failures: " - << testFailures () - << " Errors: " - << testErrors () - << std::endl; -} - - -std::string TextTestResult::shortName(const std::string& testName) -{ - std::string::size_type pos = testName.rfind('.'); - if (pos != std::string::npos) - return std::string(testName, pos + 1); - else - return testName; -} - - -} // namespace CppUnit +// +// TextTestResult.cpp +// +// $Id: //poco/1.4/CppUnit/src/TextTestResult.cpp#1 $ +// + + +#include "CppUnit/TextTestResult.h" +#include "CppUnit/CppUnitException.h" +#include "CppUnit/Test.h" +#include "CppUnit/estring.h" +#include +#include + + +namespace CppUnit { + + +TextTestResult::TextTestResult(): + _ostr(std::cout) +{ +} + + +TextTestResult::TextTestResult(std::ostream& ostr): + _ostr(ostr) +{ +} + + +void TextTestResult::addError(Test* test, CppUnitException* e) +{ + TestResult::addError(test, e); + _ostr << "ERROR" << std::flush; +} + + +void TextTestResult::addFailure(Test* test, CppUnitException* e) +{ + TestResult::addFailure(test, e); + _ostr << "FAILURE" << std::flush; +} + + +void TextTestResult::startTest(Test* test) +{ + TestResult::startTest(test); + _ostr << "\n" << shortName(test->toString()) << ": "; +} + + +void TextTestResult::printErrors(std::ostream& stream) +{ + if (testErrors() != 0) + { + stream << "\n"; + + if (testErrors() == 1) + stream << "There was " << testErrors() << " error: " << std::endl; + else + stream << "There were " << testErrors() << " errors: " << std::endl; + + int i = 1; + for (std::vector::iterator it = errors().begin(); it != errors().end(); ++it) + { + TestFailure* failure = *it; + CppUnitException* e = failure->thrownException(); + + stream << std::setw(2) << i + << ": " + << failure->failedTest()->toString() << "\n" + << " \"" << (e ? e->what() : "") << "\"\n" + << " in \"" + << (e ? e->fileName() : std::string()) + << "\", line "; + if (e == 0) + { + stream << "0"; + } + else + { + stream << e->lineNumber(); + if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) + { + stream << " data lines " << e->data1LineNumber() + << ", " << e->data2LineNumber(); + } + else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) + { + stream << " data line " << e->data1LineNumber(); + } + } + stream << "\n"; + i++; + } + } +} + + +void TextTestResult::printFailures(std::ostream& stream) +{ + if (testFailures() != 0) + { + stream << "\n"; + if (testFailures() == 1) + stream << "There was " << testFailures() << " failure: " << std::endl; + else + stream << "There were " << testFailures() << " failures: " << std::endl; + + int i = 1; + + for (std::vector::iterator it = failures().begin(); it != failures().end(); ++it) + { + TestFailure* failure = *it; + CppUnitException* e = failure->thrownException(); + + stream << std::setw(2) << i + << ": " + << failure->failedTest()->toString() << "\n" + << " \"" << (e ? e->what() : "") << "\"\n" + << " in \"" + << (e ? e->fileName() : std::string()) + << "\", line "; + if (e == 0) + { + stream << "0"; + } + else + { + stream << e->lineNumber(); + if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) + { + stream << " data lines " + << e->data1LineNumber() + << ", " << e->data2LineNumber(); + } + else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER) + { + stream << " data line " << e->data1LineNumber(); + } + } + stream << "\n"; + i++; + } + } +} + + +void TextTestResult::print(std::ostream& stream) +{ + printHeader(stream); + printErrors(stream); + printFailures(stream); +} + + +void TextTestResult::printHeader(std::ostream& stream) +{ + stream << "\n\n"; + if (wasSuccessful()) + stream << "OK (" + << runTests() << " tests)" + << std::endl; + else + stream << "!!!FAILURES!!!" << std::endl + << "Runs: " + << runTests () + << " Failures: " + << testFailures () + << " Errors: " + << testErrors () + << std::endl; +} + + +std::string TextTestResult::shortName(const std::string& testName) +{ + std::string::size_type pos = testName.rfind('.'); + if (pos != std::string::npos) + return std::string(testName, pos + 1); + else + return testName; +} + + +} // namespace CppUnit diff --git a/Crypto/Crypto_vs100.vcxproj b/Crypto/Crypto_vs100.vcxproj index ec5b44bae..c2934bf22 100644 --- a/Crypto/Crypto_vs100.vcxproj +++ b/Crypto/Crypto_vs100.vcxproj @@ -1,310 +1,310 @@ - - - - - debug_shared - Win32 - - - debug_static_md - Win32 - - - debug_static_mt - Win32 - - - release_shared - Win32 - - - release_static_md - Win32 - - - release_static_mt - Win32 - - - - Crypto - {EEEE7259-32E9-4D56-B023-C733940AB2A0} - Crypto - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - ..\bin\ - obj\$(Configuration)\ - true - ..\bin\ - obj\$(Configuration)\ - false - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - ..\lib\ - obj\$(Configuration)\ - PocoCryptod - PocoCryptomdd - PocoCryptomtd - PocoCrypto - PocoCryptomd - PocoCryptomt - - - - Disabled - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - ..\bin\PocoCryptod.dll - true - true - ..\bin\PocoCryptod.pdb - ..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) - Console - ..\lib\PocoCryptod.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - ..\bin\PocoCrypto.dll - true - false - ..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib\PocoCrypto.lib - MachineX86 - - - - - Disabled - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\lib\PocoCryptomtd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCryptomtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCryptomt.lib - - - - - Disabled - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\lib\PocoCryptomdd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoCryptomdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - ..\lib\PocoCryptomd.pdb - Level3 - - Default - %(DisableSpecificWarnings) - - - ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - ..\lib\PocoCryptomd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - true - true - true - - - - + + + + + debug_shared + Win32 + + + debug_static_md + Win32 + + + debug_static_mt + Win32 + + + release_shared + Win32 + + + release_static_md + Win32 + + + release_static_mt + Win32 + + + + Crypto + {EEEE7259-32E9-4D56-B023-C733940AB2A0} + Crypto + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + ..\bin\ + obj\$(Configuration)\ + true + ..\bin\ + obj\$(Configuration)\ + false + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + ..\lib\ + obj\$(Configuration)\ + PocoCryptod + PocoCryptomdd + PocoCryptomtd + PocoCrypto + PocoCryptomd + PocoCryptomt + + + + Disabled + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + ..\bin\PocoCryptod.dll + true + true + ..\bin\PocoCryptod.pdb + ..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) + Console + ..\lib\PocoCryptod.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Crypto_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + ..\bin\PocoCrypto.dll + true + false + ..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib\PocoCrypto.lib + MachineX86 + + + + + Disabled + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\lib\PocoCryptomtd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCryptomtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCryptomt.lib + + + + + Disabled + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\lib\PocoCryptomdd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoCryptomdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + ..\lib\PocoCryptomd.pdb + Level3 + + Default + %(DisableSpecificWarnings) + + + ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + ..\lib\PocoCryptomd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + + \ No newline at end of file diff --git a/Crypto/testsuite/TestSuite_vs100.vcxproj b/Crypto/testsuite/TestSuite_vs100.vcxproj index 511488245..0545bfb0c 100644 --- a/Crypto/testsuite/TestSuite_vs100.vcxproj +++ b/Crypto/testsuite/TestSuite_vs100.vcxproj @@ -1,315 +1,315 @@ - - - - - debug_shared - Win32 - - - debug_static_md - Win32 - - - debug_static_mt - Win32 - - - release_shared - Win32 - - - release_static_md - Win32 - - - release_static_mt - Win32 - - - - TestSuite - {C1B1BB96-5198-48EB-AB48-9A0A0B54FB15} - TestSuite - Win32Proj - - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - bin\ - obj\$(Configuration)\ - true - bin\ - obj\$(Configuration)\ - false - bin\static_mt\ - obj\$(Configuration)\ - true - bin\static_mt\ - obj\$(Configuration)\ - false - bin\static_md\ - obj\$(Configuration)\ - true - bin\static_md\ - obj\$(Configuration)\ - false - TestSuited - TestSuited - TestSuited - TestSuite - TestSuite - TestSuite - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitd.lib;WinTestRunnerd.lib;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - bin\TestSuited.exe - ..\..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) - true - true - bin\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnit.lib;WinTestRunner.lib;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - bin\TestSuite.exe - ..\..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32mtd.lib;ssleay32mtd.lib;Crypt32.lib;%(AdditionalDependencies) - bin\static_mt\TestSuited.exe - ..\..\lib;%(AdditionalLibraryDirectories) - nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) - true - true - bin\static_mt\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32mt.lib;ssleay32mt.lib;Crypt32.lib;%(AdditionalDependencies) - bin\static_mt\TestSuite.exe - ..\..\lib;%(AdditionalLibraryDirectories) - nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) - false - Windows - true - true - MachineX86 - - - - - Disabled - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - bin\static_md\TestSuited.exe - ..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\static_md\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) - bin\static_md\TestSuite.exe - ..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_static_md + Win32 + + + debug_static_mt + Win32 + + + release_shared + Win32 + + + release_static_md + Win32 + + + release_static_mt + Win32 + + + + TestSuite + {C1B1BB96-5198-48EB-AB48-9A0A0B54FB15} + TestSuite + Win32Proj + + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 + bin\ + obj\$(Configuration)\ + true + bin\ + obj\$(Configuration)\ + false + bin\static_mt\ + obj\$(Configuration)\ + true + bin\static_mt\ + obj\$(Configuration)\ + false + bin\static_md\ + obj\$(Configuration)\ + true + bin\static_md\ + obj\$(Configuration)\ + false + TestSuited + TestSuited + TestSuited + TestSuite + TestSuite + TestSuite + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitd.lib;WinTestRunnerd.lib;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + bin\TestSuited.exe + ..\..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) + true + true + bin\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnit.lib;WinTestRunner.lib;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + bin\TestSuite.exe + ..\..\lib;C:\OpenSSL\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32mtd.lib;ssleay32mtd.lib;Crypt32.lib;%(AdditionalDependencies) + bin\static_mt\TestSuited.exe + ..\..\lib;%(AdditionalLibraryDirectories) + nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) + true + true + bin\static_mt\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32mt.lib;ssleay32mt.lib;Crypt32.lib;%(AdditionalDependencies) + bin\static_mt\TestSuite.exe + ..\..\lib;%(AdditionalLibraryDirectories) + nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + MachineX86 + + + + + Disabled + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + bin\static_md\TestSuited.exe + ..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\static_md\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;C:\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;ws2_32.lib;iphlpapi.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) + bin\static_md\TestSuite.exe + ..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt index d294ee995..5769aa510 100644 --- a/Data/CMakeLists.txt +++ b/Data/CMakeLists.txt @@ -1,52 +1,52 @@ -set(LIBNAME "PocoData") -set(LIBNAME "${LIBNAME}${LIB_EXT}") - -set(SRCS "") -aux_source_directory(src SRCS) -include_directories( SQLite/include ) - -if (NOT POCO_STATIC) - add_definitions(-DData_EXPORTS -DTHREADSAFE -DODBC_EXPORTS -DMySQL_EXPORTS -DSQLite_EXPORTS) -endif (NOT POCO_STATIC) - -add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} ) -set_target_properties( ${LIBNAME} - PROPERTIES - VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION} ) -target_link_libraries( ${LIBNAME} PocoFoundation${LIB_EXT} ) - -install( - DIRECTORY include/Poco - DESTINATION include - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS ${LIBNAME} - DESTINATION lib - ) - -add_subdirectory( SQLite ) - -if(MYSQL_FOUND) - add_subdirectory( MySQL ) -endif(MYSQL_FOUND) - -include(../contrib/cmake/FindODBC.cmake) - -if(CMAKE_SYSTEM MATCHES "Windows") - message(STATUS "Windows native ODBC Support Enabled") - add_subdirectory( ODBC ) -else () - if ( ${UNIX_ODBC_CONFIG} STREQUAL UNIX_ODBC_CONFIG-NOTFOUND AND ${IODBC_CONFIG} STREQUAL IODBC_CONFIG-NOTFOUND) - message(STATUS "ODBC Support Disabled - no ODBC runtime") - else () - message(STATUS "ODBC Support Enabled") - add_subdirectory( ODBC ) - endif () -endif() - -if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) -endif () +set(LIBNAME "PocoData") +set(LIBNAME "${LIBNAME}${LIB_EXT}") + +set(SRCS "") +aux_source_directory(src SRCS) +include_directories( SQLite/include ) + +if (NOT POCO_STATIC) + add_definitions(-DData_EXPORTS -DTHREADSAFE -DODBC_EXPORTS -DMySQL_EXPORTS -DSQLite_EXPORTS) +endif (NOT POCO_STATIC) + +add_library( ${LIBNAME} ${LIB_MODE} ${SRCS} ) +set_target_properties( ${LIBNAME} + PROPERTIES + VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION} ) +target_link_libraries( ${LIBNAME} PocoFoundation${LIB_EXT} ) + +install( + DIRECTORY include/Poco + DESTINATION include + PATTERN ".svn" EXCLUDE + ) + +install( + TARGETS ${LIBNAME} + DESTINATION lib + ) + +add_subdirectory( SQLite ) + +if(MYSQL_FOUND) + add_subdirectory( MySQL ) +endif(MYSQL_FOUND) + +include(../contrib/cmake/FindODBC.cmake) + +if(CMAKE_SYSTEM MATCHES "Windows") + message(STATUS "Windows native ODBC Support Enabled") + add_subdirectory( ODBC ) +else () + if ( ${UNIX_ODBC_CONFIG} STREQUAL UNIX_ODBC_CONFIG-NOTFOUND AND ${IODBC_CONFIG} STREQUAL IODBC_CONFIG-NOTFOUND) + message(STATUS "ODBC Support Disabled - no ODBC runtime") + else () + message(STATUS "ODBC Support Enabled") + add_subdirectory( ODBC ) + endif () +endif() + +if (ENABLE_TESTS) + add_subdirectory(samples) + add_subdirectory(testsuite) +endif () diff --git a/Data/Data.progen b/Data/Data.progen index 4f266fa53..b461b469f 100644 --- a/Data/Data.progen +++ b/Data/Data.progen @@ -1,16 +1,16 @@ -vc.project.guid = 240E83C3-368D-11DB-9FBC-00123FC423B5 -vc.project.name = Data -vc.project.target = Poco${vc.project.name} -vc.project.type = library -vc.project.pocobase = .. -vc.project.outdir = ${vc.project.pocobase} -vc.project.platforms = Win32, x64, WinCE -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = ${vc.project.name}_vs90.vcproj -vc.project.compiler.include = ..\\Foundation\\include -vc.project.compiler.defines = -vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS -vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} -vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} -vc.solution.create = true -vc.solution.include = testsuite\\TestSuite +vc.project.guid = 240E83C3-368D-11DB-9FBC-00123FC423B5 +vc.project.name = Data +vc.project.target = Poco${vc.project.name} +vc.project.type = library +vc.project.pocobase = .. +vc.project.outdir = ${vc.project.pocobase} +vc.project.platforms = Win32, x64, WinCE +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\Foundation\\include +vc.project.compiler.defines = +vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS +vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} +vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} +vc.solution.create = true +vc.solution.include = testsuite\\TestSuite diff --git a/Data/Data_VS71.sln b/Data/Data_VS71.sln index ef2a7988d..1640d417e 100644 --- a/Data/Data_VS71.sln +++ b/Data/Data_VS71.sln @@ -1,42 +1,42 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS71.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS71.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - debug_static = debug_static - release_shared = release_shared - release_static = release_static - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static.Build.0 = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS71.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS71.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + debug_static = debug_static + release_shared = release_shared + release_static = release_static + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static.Build.0 = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/Data/Data_VS71.vcproj b/Data/Data_VS71.vcproj index db4106f15..32d6770e3 100644 --- a/Data/Data_VS71.vcproj +++ b/Data/Data_VS71.vcproj @@ -1,540 +1,540 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/Data_VS80.sln b/Data/Data_VS80.sln index 0a5fbee12..3a522ec75 100644 --- a/Data/Data_VS80.sln +++ b/Data/Data_VS80.sln @@ -1,38 +1,38 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS80.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS80.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/Data_VS80.vcproj b/Data/Data_VS80.vcproj index 7cb563635..a340f5f7e 100644 --- a/Data/Data_VS80.vcproj +++ b/Data/Data_VS80.vcproj @@ -1,721 +1,721 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/Data_VS90.sln b/Data/Data_VS90.sln index 671f6142f..5113c3bb2 100644 --- a/Data/Data_VS90.sln +++ b/Data/Data_VS90.sln @@ -1,38 +1,38 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS90.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_VS90.vcproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{24134877-368D-11DB-9FBC-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {24134877-368D-11DB-9FBC-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/Data_VS90.vcproj b/Data/Data_VS90.vcproj index ef7b222c9..81d72bf92 100644 --- a/Data/Data_VS90.vcproj +++ b/Data/Data_VS90.vcproj @@ -1,726 +1,726 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/Data_vs100.sln b/Data/Data_vs100.sln index c75443e3c..60a65c036 100644 --- a/Data/Data_vs100.sln +++ b/Data/Data_vs100.sln @@ -1,90 +1,90 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_vs100.vcxproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{1813A463-E349-4FEA-8A8E-4A41E41C0DC7}" - ProjectSection(ProjectDependencies) = postProject - {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_shared|x64 = debug_shared|x64 - debug_static_md|Win32 = debug_static_md|Win32 - debug_static_md|x64 = debug_static_md|x64 - debug_static_mt|Win32 = debug_static_mt|Win32 - debug_static_mt|x64 = debug_static_mt|x64 - release_shared|Win32 = release_shared|Win32 - release_shared|x64 = release_shared|x64 - release_static_md|Win32 = release_static_md|Win32 - release_static_md|x64 = release_static_md|x64 - release_static_mt|Win32 = release_static_mt|Win32 - release_static_mt|x64 = release_static_mt|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|x64.Build.0 = debug_shared|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|x64.ActiveCfg = release_shared|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|x64.Build.0 = release_shared|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|x64.Build.0 = release_static_md|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|x64.Build.0 = debug_shared|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.Build.0 = release_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|x64.ActiveCfg = release_shared|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|x64.Build.0 = release_shared|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|x64.Build.0 = release_static_md|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|x64.Build.0 = release_static_mt|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Data", "Data_vs100.vcxproj", "{240E83C3-368D-11DB-9FBC-00123FC423B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{1813A463-E349-4FEA-8A8E-4A41E41C0DC7}" + ProjectSection(ProjectDependencies) = postProject + {240E83C3-368D-11DB-9FBC-00123FC423B5} = {240E83C3-368D-11DB-9FBC-00123FC423B5} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_shared|x64 = debug_shared|x64 + debug_static_md|Win32 = debug_static_md|Win32 + debug_static_md|x64 = debug_static_md|x64 + debug_static_mt|Win32 = debug_static_mt|Win32 + debug_static_mt|x64 = debug_static_mt|x64 + release_shared|Win32 = release_shared|Win32 + release_shared|x64 = release_shared|x64 + release_static_md|Win32 = release_static_md|Win32 + release_static_md|x64 = release_static_md|x64 + release_static_mt|Win32 = release_static_mt|Win32 + release_static_mt|x64 = release_static_mt|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_shared|x64.Build.0 = debug_shared|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|x64.ActiveCfg = release_shared|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_shared|x64.Build.0 = release_shared|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_md|x64.Build.0 = release_static_md|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {240E83C3-368D-11DB-9FBC-00123FC423B5}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_shared|x64.Build.0 = debug_shared|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.Build.0 = release_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|x64.ActiveCfg = release_shared|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_shared|x64.Build.0 = release_shared|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_md|x64.Build.0 = release_static_md|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {1813A463-E349-4FEA-8A8E-4A41E41C0DC7}.release_static_mt|x64.Build.0 = release_static_mt|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/Data_vs100.vcxproj b/Data/Data_vs100.vcxproj index 53b091b5f..3efed6379 100644 --- a/Data/Data_vs100.vcxproj +++ b/Data/Data_vs100.vcxproj @@ -1,617 +1,617 @@ - - - - - debug_shared - Win32 - - - debug_shared - x64 - - - debug_static_md - Win32 - - - debug_static_md - x64 - - - debug_static_mt - Win32 - - - debug_static_mt - x64 - - - release_shared - Win32 - - - release_shared - x64 - - - release_static_md - Win32 - - - release_static_md - x64 - - - release_static_mt - Win32 - - - release_static_mt - x64 - - - - Data - {240E83C3-368D-11DB-9FBC-00123FC423B5} - Data - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - ..\bin\ - ..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - ..\bin\ - ..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - ..\lib\ - ..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\lib\ - ..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\lib\ - ..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\lib\ - ..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - PocoDatad - PocoDatad - PocoDatamdd - PocoDatamdd - PocoDatamtd - PocoDatamtd - PocoData - PocoData - PocoDatamd - PocoDatamd - PocoDatamt - PocoDatamt - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoDatad.dll - true - true - ..\bin\PocoDatad.pdb - ..\lib;%(AdditionalLibraryDirectories) - Console - ..\lib\PocoDatad.lib - MachineX86 - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoDatad.dll - true - true - ..\bin\PocoDatad.pdb - ..\lib;%(AdditionalLibraryDirectories) - Console - ..\lib\PocoDatad.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoData.dll - true - false - ..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib\PocoData.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\bin\PocoData.dll - true - false - ..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\lib\PocoData.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\lib\PocoDatamtd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamtd.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - - ..\lib\PocoDatamtd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamt.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamt.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\lib\PocoDatamdd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamdd.lib - - - - - Disabled - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - ..\lib\PocoDatamdd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\lib\PocoDatamdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - ..\lib\PocoDatamd.pdb - Level3 - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\lib\PocoDatamd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\Foundation\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - ..\lib\PocoDatamd.pdb - Level3 - - - Default - %(DisableSpecificWarnings) - - - %(AdditionalDependencies) - ..\lib\PocoDatamd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_shared + x64 + + + debug_static_md + Win32 + + + debug_static_md + x64 + + + debug_static_mt + Win32 + + + debug_static_mt + x64 + + + release_shared + Win32 + + + release_shared + x64 + + + release_static_md + Win32 + + + release_static_md + x64 + + + release_static_mt + Win32 + + + release_static_mt + x64 + + + + Data + {240E83C3-368D-11DB-9FBC-00123FC423B5} + Data + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ..\bin\ + ..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + ..\bin\ + ..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + ..\lib\ + ..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\lib\ + ..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\lib\ + ..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\lib\ + ..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + PocoDatad + PocoDatad + PocoDatamdd + PocoDatamdd + PocoDatamtd + PocoDatamtd + PocoData + PocoData + PocoDatamd + PocoDatamd + PocoDatamt + PocoDatamt + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoDatad.dll + true + true + ..\bin\PocoDatad.pdb + ..\lib;%(AdditionalLibraryDirectories) + Console + ..\lib\PocoDatad.lib + MachineX86 + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoDatad.dll + true + true + ..\bin\PocoDatad.pdb + ..\lib;%(AdditionalLibraryDirectories) + Console + ..\lib\PocoDatad.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoData.dll + true + false + ..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib\PocoData.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\bin\PocoData.dll + true + false + ..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\lib\PocoData.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\lib\PocoDatamtd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamtd.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + + ..\lib\PocoDatamtd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamt.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamt.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\lib\PocoDatamdd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamdd.lib + + + + + Disabled + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + ..\lib\PocoDatamdd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\lib\PocoDatamdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + ..\lib\PocoDatamd.pdb + Level3 + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\lib\PocoDatamd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\Foundation\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + ..\lib\PocoDatamd.pdb + Level3 + + + Default + %(DisableSpecificWarnings) + + + %(AdditionalDependencies) + ..\lib\PocoDatamd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/Data_vs100.vcxproj.filters b/Data/Data_vs100.vcxproj.filters index 51f8a37b5..faa390b60 100644 --- a/Data/Data_vs100.vcxproj.filters +++ b/Data/Data_vs100.vcxproj.filters @@ -1,288 +1,288 @@ - - - - - {be23cad9-48a2-49cd-ad09-5519919fdf69} - - - {0e3cfe8b-efbf-4679-823e-2294e350b954} - - - {972be6f9-955a-4b04-9036-42d0a731fb88} - - - {94ac43f0-ed08-4b33-a2b2-80e745bfdd96} - - - {ee89f0a2-10a7-40c0-be6f-de09b2e844c7} - - - {60881336-74f0-4876-8ed8-ff1817997b8e} - - - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - SessionPooling\Header Files - - - SessionPooling\Header Files - - - SessionPooling\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - DataCore\Header Files - - - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - SessionPooling\Source Files - - - SessionPooling\Source Files - - - SessionPooling\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - DataCore\Source Files - - - SessionPooling\Source Files - - + + + + + {be23cad9-48a2-49cd-ad09-5519919fdf69} + + + {0e3cfe8b-efbf-4679-823e-2294e350b954} + + + {972be6f9-955a-4b04-9036-42d0a731fb88} + + + {94ac43f0-ed08-4b33-a2b2-80e745bfdd96} + + + {ee89f0a2-10a7-40c0-be6f-de09b2e844c7} + + + {60881336-74f0-4876-8ed8-ff1817997b8e} + + + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + SessionPooling\Header Files + + + SessionPooling\Header Files + + + SessionPooling\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + DataCore\Header Files + + + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + SessionPooling\Source Files + + + SessionPooling\Source Files + + + SessionPooling\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + DataCore\Source Files + + + SessionPooling\Source Files + + \ No newline at end of file diff --git a/Data/Makefile b/Data/Makefile index cf53336fc..6ef50a199 100644 --- a/Data/Makefile +++ b/Data/Makefile @@ -1,24 +1,24 @@ -# -# Makefile -# -# $Id: //poco/Main/Data/Makefile#11 $ -# -# Makefile for Poco Data -# - -include $(POCO_BASE)/build/rules/global - -objects = AbstractBinder AbstractBinding AbstractExtraction AbstractExtractor \ - AbstractPreparation AbstractPreparator ArchiveStrategy Transaction \ - Bulk Connector DataException Date DynamicLOB Limit MetaColumn \ - PooledSessionHolder PooledSessionImpl Position \ - Range RecordSet Row RowFilter RowFormatter RowIterator \ - SimpleRowFormatter Session SessionFactory SessionImpl \ - SessionPool SessionPoolContainer SQLChannel \ - Statement StatementCreator StatementImpl Time - -target = PocoData -target_version = $(LIBVERSION) -target_libs = PocoFoundation - -include $(POCO_BASE)/build/rules/lib +# +# Makefile +# +# $Id: //poco/Main/Data/Makefile#11 $ +# +# Makefile for Poco Data +# + +include $(POCO_BASE)/build/rules/global + +objects = AbstractBinder AbstractBinding AbstractExtraction AbstractExtractor \ + AbstractPreparation AbstractPreparator ArchiveStrategy Transaction \ + Bulk Connector DataException Date DynamicLOB Limit MetaColumn \ + PooledSessionHolder PooledSessionImpl Position \ + Range RecordSet Row RowFilter RowFormatter RowIterator \ + SimpleRowFormatter Session SessionFactory SessionImpl \ + SessionPool SessionPoolContainer SQLChannel \ + Statement StatementCreator StatementImpl Time + +target = PocoData +target_version = $(LIBVERSION) +target_libs = PocoFoundation + +include $(POCO_BASE)/build/rules/lib diff --git a/Data/MySQL/MySQL.progen b/Data/MySQL/MySQL.progen index 4717e4599..5fa492927 100644 --- a/Data/MySQL/MySQL.progen +++ b/Data/MySQL/MySQL.progen @@ -1,17 +1,17 @@ -vc.project.guid = 73E19FDE-1570-488C-B3DB-72A60FADD408 -vc.project.name = MySQL -vc.project.target = PocoDataMySQL -vc.project.type = library -vc.project.pocobase = ..\\.. -vc.project.outdir = ${vc.project.pocobase} -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = ${vc.project.name}_vs90.vcproj -vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Data\\include -vc.project.compiler.defines = THREADSAFE;__LCC__ -vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS -vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} -vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} -vc.project.linker.dependencies = libmysql.lib -vc.solution.create = true -vc.solution.include = testsuite\\TestSuite +vc.project.guid = 73E19FDE-1570-488C-B3DB-72A60FADD408 +vc.project.name = MySQL +vc.project.target = PocoDataMySQL +vc.project.type = library +vc.project.pocobase = ..\\.. +vc.project.outdir = ${vc.project.pocobase} +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Data\\include +vc.project.compiler.defines = THREADSAFE;__LCC__ +vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS +vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} +vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} +vc.project.linker.dependencies = libmysql.lib +vc.solution.create = true +vc.solution.include = testsuite\\TestSuite diff --git a/Data/MySQL/MySQL_VS80.sln b/Data/MySQL/MySQL_VS80.sln index 741140641..65950352b 100644 --- a/Data/MySQL/MySQL_VS80.sln +++ b/Data/MySQL/MySQL_VS80.sln @@ -1,36 +1,36 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_VS80.vcproj", "{D9C692A6-D089-4269-B444-C445ED192F0D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.ActiveCfg = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.Build.0 = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.Build.0 = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.ActiveCfg = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.Build.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_VS80.vcproj", "{D9C692A6-D089-4269-B444-C445ED192F0D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.ActiveCfg = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.Build.0 = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.Build.0 = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.ActiveCfg = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.Build.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/MySQL/MySQL_VS80.vcproj b/Data/MySQL/MySQL_VS80.vcproj index 78e24bba3..4f9fd0907 100644 --- a/Data/MySQL/MySQL_VS80.vcproj +++ b/Data/MySQL/MySQL_VS80.vcproj @@ -1,279 +1,279 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/MySQL/MySQL_VS90.sln b/Data/MySQL/MySQL_VS90.sln index d93f3ace9..0c7c1a9b1 100644 --- a/Data/MySQL/MySQL_VS90.sln +++ b/Data/MySQL/MySQL_VS90.sln @@ -1,39 +1,39 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_VS90.vcproj", "{D9C692A6-D089-4269-B444-C445ED192F0D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {D9C692A6-D089-4269-B444-C445ED192F0D} = {D9C692A6-D089-4269-B444-C445ED192F0D} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.ActiveCfg = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.Build.0 = debug_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.Build.0 = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.ActiveCfg = release_shared|Win32 - {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_shared|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_VS90.vcproj", "{D9C692A6-D089-4269-B444-C445ED192F0D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {D9C692A6-D089-4269-B444-C445ED192F0D} = {D9C692A6-D089-4269-B444-C445ED192F0D} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.ActiveCfg = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.debug_static|Win32.Build.0 = debug_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_shared|Win32.Build.0 = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.ActiveCfg = release_shared|Win32 + {D9C692A6-D089-4269-B444-C445ED192F0D}.release_static|Win32.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_shared|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/MySQL/MySQL_VS90.vcproj b/Data/MySQL/MySQL_VS90.vcproj index f83a9af17..248d9c7ae 100644 --- a/Data/MySQL/MySQL_VS90.vcproj +++ b/Data/MySQL/MySQL_VS90.vcproj @@ -1,278 +1,278 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/MySQL/MySQL_vs100.sln b/Data/MySQL/MySQL_vs100.sln index 6958e7980..6e6263517 100644 --- a/Data/MySQL/MySQL_vs100.sln +++ b/Data/MySQL/MySQL_vs100.sln @@ -1,90 +1,90 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_vs100.vcxproj", "{73E19FDE-1570-488C-B3DB-72A60FADD408}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}" - ProjectSection(ProjectDependencies) = postProject - {73E19FDE-1570-488C-B3DB-72A60FADD408} = {73E19FDE-1570-488C-B3DB-72A60FADD408} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_shared|x64 = debug_shared|x64 - debug_static_md|Win32 = debug_static_md|Win32 - debug_static_md|x64 = debug_static_md|x64 - debug_static_mt|Win32 = debug_static_mt|Win32 - debug_static_mt|x64 = debug_static_mt|x64 - release_shared|Win32 = release_shared|Win32 - release_shared|x64 = release_shared|x64 - release_static_md|Win32 = release_static_md|Win32 - release_static_md|x64 = release_static_md|x64 - release_static_mt|Win32 = release_static_mt|Win32 - release_static_mt|x64 = release_static_mt|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|x64.Build.0 = debug_shared|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.Build.0 = release_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|x64.ActiveCfg = release_shared|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|x64.Build.0 = release_shared|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|x64.Build.0 = release_static_md|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|x64.Build.0 = debug_shared|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.Build.0 = release_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|x64.ActiveCfg = release_shared|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|x64.Build.0 = release_shared|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|x64.Build.0 = release_static_md|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|x64.Build.0 = release_static_mt|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MySQL", "MySQL_vs100.vcxproj", "{73E19FDE-1570-488C-B3DB-72A60FADD408}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}" + ProjectSection(ProjectDependencies) = postProject + {73E19FDE-1570-488C-B3DB-72A60FADD408} = {73E19FDE-1570-488C-B3DB-72A60FADD408} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_shared|x64 = debug_shared|x64 + debug_static_md|Win32 = debug_static_md|Win32 + debug_static_md|x64 = debug_static_md|x64 + debug_static_mt|Win32 = debug_static_mt|Win32 + debug_static_mt|x64 = debug_static_mt|x64 + release_shared|Win32 = release_shared|Win32 + release_shared|x64 = release_shared|x64 + release_static_md|Win32 = release_static_md|Win32 + release_static_md|x64 = release_static_md|x64 + release_static_mt|Win32 = release_static_mt|Win32 + release_static_mt|x64 = release_static_mt|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_shared|x64.Build.0 = debug_shared|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.Build.0 = release_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|x64.ActiveCfg = release_shared|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_shared|x64.Build.0 = release_shared|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_md|x64.Build.0 = release_static_md|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {73E19FDE-1570-488C-B3DB-72A60FADD408}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_shared|x64.Build.0 = debug_shared|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.Build.0 = release_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|x64.ActiveCfg = release_shared|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_shared|x64.Build.0 = release_shared|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_md|x64.Build.0 = release_static_md|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7}.release_static_mt|x64.Build.0 = release_static_mt|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/MySQL/MySQL_vs100.vcxproj b/Data/MySQL/MySQL_vs100.vcxproj index 171473301..614affd13 100644 --- a/Data/MySQL/MySQL_vs100.vcxproj +++ b/Data/MySQL/MySQL_vs100.vcxproj @@ -1,549 +1,549 @@ - - - - - debug_shared - Win32 - - - debug_shared - x64 - - - debug_static_md - Win32 - - - debug_static_md - x64 - - - debug_static_mt - Win32 - - - debug_static_mt - x64 - - - release_shared - Win32 - - - release_shared - x64 - - - release_static_md - Win32 - - - release_static_md - x64 - - - release_static_mt - Win32 - - - release_static_mt - x64 - - - - MySQL - {73E19FDE-1570-488C-B3DB-72A60FADD408} - MySQL - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - ..\..\bin\ - ..\..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - ..\..\bin\ - ..\..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - PocoDataMySQLd - PocoDataMySQLd - PocoDataMySQLmdd - PocoDataMySQLmdd - PocoDataMySQLmtd - PocoDataMySQLmtd - PocoDataMySQL - PocoDataMySQL - PocoDataMySQLmd - PocoDataMySQLmd - PocoDataMySQLmt - PocoDataMySQLmt - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataMySQLd.dll - true - true - ..\..\bin\PocoDataMySQLd.pdb - ..\..\lib;%(AdditionalLibraryDirectories) - Console - ..\..\lib\PocoDataMySQLd.lib - MachineX86 - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataMySQLd.dll - true - true - ..\..\bin\PocoDataMySQLd.pdb - ..\..\lib;%(AdditionalLibraryDirectories) - Console - ..\..\lib\PocoDataMySQLd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataMySQL.dll - true - false - ..\..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\..\lib\PocoDataMySQL.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataMySQL.dll - true - false - ..\..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\..\lib\PocoDataMySQL.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\..\lib\PocoDataMySQLmtd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmtd.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - - ..\..\lib\PocoDataMySQLmtd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmt.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmt.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\..\lib\PocoDataMySQLmdd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmdd.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - ..\..\lib\PocoDataMySQLmdd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataMySQLmdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - ..\..\lib\PocoDataMySQLmd.pdb - Level3 - - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\lib\PocoDataMySQLmd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - ..\..\lib\PocoDataMySQLmd.pdb - Level3 - - - Default - %(DisableSpecificWarnings) - - - libmysql.lib;%(AdditionalDependencies) - ..\..\lib\PocoDataMySQLmd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_shared + x64 + + + debug_static_md + Win32 + + + debug_static_md + x64 + + + debug_static_mt + Win32 + + + debug_static_mt + x64 + + + release_shared + Win32 + + + release_shared + x64 + + + release_static_md + Win32 + + + release_static_md + x64 + + + release_static_mt + Win32 + + + release_static_mt + x64 + + + + MySQL + {73E19FDE-1570-488C-B3DB-72A60FADD408} + MySQL + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ..\..\bin\ + ..\..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + ..\..\bin\ + ..\..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + PocoDataMySQLd + PocoDataMySQLd + PocoDataMySQLmdd + PocoDataMySQLmdd + PocoDataMySQLmtd + PocoDataMySQLmtd + PocoDataMySQL + PocoDataMySQL + PocoDataMySQLmd + PocoDataMySQLmd + PocoDataMySQLmt + PocoDataMySQLmt + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataMySQLd.dll + true + true + ..\..\bin\PocoDataMySQLd.pdb + ..\..\lib;%(AdditionalLibraryDirectories) + Console + ..\..\lib\PocoDataMySQLd.lib + MachineX86 + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataMySQLd.dll + true + true + ..\..\bin\PocoDataMySQLd.pdb + ..\..\lib;%(AdditionalLibraryDirectories) + Console + ..\..\lib\PocoDataMySQLd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataMySQL.dll + true + false + ..\..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\..\lib\PocoDataMySQL.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;__LCC__;MySQL_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataMySQL.dll + true + false + ..\..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\..\lib\PocoDataMySQL.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\..\lib\PocoDataMySQLmtd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmtd.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + + ..\..\lib\PocoDataMySQLmtd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmt.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmt.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\..\lib\PocoDataMySQLmdd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmdd.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + ..\..\lib\PocoDataMySQLmdd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataMySQLmdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + ..\..\lib\PocoDataMySQLmd.pdb + Level3 + + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\lib\PocoDataMySQLmd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;__LCC__;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + ..\..\lib\PocoDataMySQLmd.pdb + Level3 + + + Default + %(DisableSpecificWarnings) + + + libmysql.lib;%(AdditionalDependencies) + ..\..\lib\PocoDataMySQLmd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h b/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h index fbdcfda25..e83acc7f3 100644 --- a/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h +++ b/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h @@ -1,252 +1,252 @@ -// -// SessionImpl.h -// -// $Id: //poco/1.4/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h#1 $ -// -// Library: Data -// Package: MySQL -// Module: SessionImpl -// -// Definition of the SessionImpl class. -// -// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - - -#ifndef Data_MySQL_SessionImpl_INCLUDED -#define Data_MySQL_SessionImpl_INCLUDED - - -#include "Poco/Data/MySQL/MySQL.h" -#include "Poco/Data/AbstractSessionImpl.h" -#include "Poco/Data/MySQL/SessionHandle.h" -#include "Poco/Data/MySQL/StatementExecutor.h" -#include "Poco/Data/MySQL/ResultMetadata.h" -#include "Poco/Mutex.h" - - -namespace Poco { -namespace Data { -namespace MySQL { - - -class MySQL_API SessionImpl: public Poco::Data::AbstractSessionImpl - /// Implements SessionImpl interface -{ -public: - static const std::string MYSQL_READ_UNCOMMITTED; - static const std::string MYSQL_READ_COMMITTED; - static const std::string MYSQL_REPEATABLE_READ; - static const std::string MYSQL_SERIALIZABLE; - - SessionImpl(const std::string& connectionString, - std::size_t loginTimeout = LOGIN_TIMEOUT_DEFAULT); - /// Creates the SessionImpl. Opens a connection to the database - /// - /// Connection string format: - /// == | ';' - /// == '=' - /// == 'host' | 'port' | 'user' | 'password' | 'db' } 'compress' | 'auto-reconnect' - /// == [~;]* - /// - /// for compress and auto-reconnect correct values are true/false - /// for port - numeric in decimal notation - /// - - ~SessionImpl(); - /// Destroys the SessionImpl. - - Poco::Data::StatementImpl* createStatementImpl(); - /// Returns an MySQL StatementImpl - - void open(const std::string& connection = ""); - /// Opens a connection to the database. - - void close(); - /// Closes the connection. - - bool isConnected(); - /// Returns true if connected, false otherwise. - - void setConnectionTimeout(std::size_t timeout); - /// Sets the session connection timeout value. - - std::size_t getConnectionTimeout(); - /// Returns the session connection timeout value. - - void begin(); - /// Starts a transaction - - void commit(); - /// Commits and ends a transaction - - void rollback(); - /// Aborts a transaction - - bool canTransact(); - /// Returns true if session has transaction capabilities. - - bool isTransaction(); - /// Returns true iff a transaction is a transaction is in progress, false otherwise. - - void setTransactionIsolation(Poco::UInt32 ti); - /// Sets the transaction isolation level. - - Poco::UInt32 getTransactionIsolation(); - /// Returns the transaction isolation level. - - bool hasTransactionIsolation(Poco::UInt32 ti); - /// Returns true iff the transaction isolation level corresponding - /// to the supplied bitmask is supported. - - bool isTransactionIsolation(Poco::UInt32 ti); - /// Returns true iff the transaction isolation level corresponds - /// to the supplied bitmask. - - void autoCommit(const std::string&, bool val); - /// Sets autocommit property for the session. - - bool isAutoCommit(const std::string& name=""); - /// Returns autocommit property value. - - void setInsertId(const std::string&, const Poco::Any&); - /// Try to set insert id - do nothing. - - Poco::Any getInsertId(const std::string&); - /// Get insert id - - SessionHandle& handle(); - // Get handle - - const std::string& connectorName(); - /// Returns the name of the connector. - -private: - - template - inline T& getValue(MYSQL_BIND* pResult, T& val) - { - return val = *((T*) pResult->buffer); - } - - template - T& getSetting(const std::string& name, T& val) - /// Returns required setting. - /// Limited to one setting at a time. - { - StatementExecutor ex(_handle); - ResultMetadata metadata; - metadata.reset(); - ex.prepare(Poco::format("SELECT @@%s", name)); - metadata.init(ex); - - if (metadata.columnsReturned() > 0) - ex.bindResult(metadata.row()); - else - throw InvalidArgumentException("No data returned."); - - ex.execute(); ex.fetch(); - MYSQL_BIND* pResult = metadata.row(); - return getValue(pResult, val); - } - - std::string _connector; - SessionHandle _handle; - bool _connected; - bool _inTransaction; - std::size_t _timeout; - Poco::FastMutex _mutex; -}; - - -// -// inlines -// -inline bool SessionImpl::canTransact() -{ - return true; -} - - -inline void SessionImpl::setInsertId(const std::string&, const Poco::Any&) -{ -} - - -inline Poco::Any SessionImpl::getInsertId(const std::string&) -{ - return Poco::Any(Poco::UInt64(mysql_insert_id(_handle))); -} - - -inline SessionHandle& SessionImpl::handle() -{ - return _handle; -} - - -inline const std::string& SessionImpl::connectorName() -{ - return _connector; -} - - -inline bool SessionImpl::isTransaction() -{ - return _inTransaction; -} - - -inline bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti) -{ - return getTransactionIsolation() == ti; -} - - -inline bool SessionImpl::isConnected() -{ - return _connected; -} - - -inline std::size_t SessionImpl::getConnectionTimeout() -{ - return _timeout; -} - - -template <> -inline std::string& SessionImpl::getValue(MYSQL_BIND* pResult, std::string& val) -{ - val.assign((char*) pResult->buffer, pResult->buffer_length); - return val; -} - - -} } } // namespace Poco::Data::MySQL - - -#endif // Data_MySQL_SessionImpl_INCLUDED +// +// SessionImpl.h +// +// $Id: //poco/1.4/Data/MySQL/include/Poco/Data/MySQL/SessionImpl.h#1 $ +// +// Library: Data +// Package: MySQL +// Module: SessionImpl +// +// Definition of the SessionImpl class. +// +// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + + +#ifndef Data_MySQL_SessionImpl_INCLUDED +#define Data_MySQL_SessionImpl_INCLUDED + + +#include "Poco/Data/MySQL/MySQL.h" +#include "Poco/Data/AbstractSessionImpl.h" +#include "Poco/Data/MySQL/SessionHandle.h" +#include "Poco/Data/MySQL/StatementExecutor.h" +#include "Poco/Data/MySQL/ResultMetadata.h" +#include "Poco/Mutex.h" + + +namespace Poco { +namespace Data { +namespace MySQL { + + +class MySQL_API SessionImpl: public Poco::Data::AbstractSessionImpl + /// Implements SessionImpl interface +{ +public: + static const std::string MYSQL_READ_UNCOMMITTED; + static const std::string MYSQL_READ_COMMITTED; + static const std::string MYSQL_REPEATABLE_READ; + static const std::string MYSQL_SERIALIZABLE; + + SessionImpl(const std::string& connectionString, + std::size_t loginTimeout = LOGIN_TIMEOUT_DEFAULT); + /// Creates the SessionImpl. Opens a connection to the database + /// + /// Connection string format: + /// == | ';' + /// == '=' + /// == 'host' | 'port' | 'user' | 'password' | 'db' } 'compress' | 'auto-reconnect' + /// == [~;]* + /// + /// for compress and auto-reconnect correct values are true/false + /// for port - numeric in decimal notation + /// + + ~SessionImpl(); + /// Destroys the SessionImpl. + + Poco::Data::StatementImpl* createStatementImpl(); + /// Returns an MySQL StatementImpl + + void open(const std::string& connection = ""); + /// Opens a connection to the database. + + void close(); + /// Closes the connection. + + bool isConnected(); + /// Returns true if connected, false otherwise. + + void setConnectionTimeout(std::size_t timeout); + /// Sets the session connection timeout value. + + std::size_t getConnectionTimeout(); + /// Returns the session connection timeout value. + + void begin(); + /// Starts a transaction + + void commit(); + /// Commits and ends a transaction + + void rollback(); + /// Aborts a transaction + + bool canTransact(); + /// Returns true if session has transaction capabilities. + + bool isTransaction(); + /// Returns true iff a transaction is a transaction is in progress, false otherwise. + + void setTransactionIsolation(Poco::UInt32 ti); + /// Sets the transaction isolation level. + + Poco::UInt32 getTransactionIsolation(); + /// Returns the transaction isolation level. + + bool hasTransactionIsolation(Poco::UInt32 ti); + /// Returns true iff the transaction isolation level corresponding + /// to the supplied bitmask is supported. + + bool isTransactionIsolation(Poco::UInt32 ti); + /// Returns true iff the transaction isolation level corresponds + /// to the supplied bitmask. + + void autoCommit(const std::string&, bool val); + /// Sets autocommit property for the session. + + bool isAutoCommit(const std::string& name=""); + /// Returns autocommit property value. + + void setInsertId(const std::string&, const Poco::Any&); + /// Try to set insert id - do nothing. + + Poco::Any getInsertId(const std::string&); + /// Get insert id + + SessionHandle& handle(); + // Get handle + + const std::string& connectorName(); + /// Returns the name of the connector. + +private: + + template + inline T& getValue(MYSQL_BIND* pResult, T& val) + { + return val = *((T*) pResult->buffer); + } + + template + T& getSetting(const std::string& name, T& val) + /// Returns required setting. + /// Limited to one setting at a time. + { + StatementExecutor ex(_handle); + ResultMetadata metadata; + metadata.reset(); + ex.prepare(Poco::format("SELECT @@%s", name)); + metadata.init(ex); + + if (metadata.columnsReturned() > 0) + ex.bindResult(metadata.row()); + else + throw InvalidArgumentException("No data returned."); + + ex.execute(); ex.fetch(); + MYSQL_BIND* pResult = metadata.row(); + return getValue(pResult, val); + } + + std::string _connector; + SessionHandle _handle; + bool _connected; + bool _inTransaction; + std::size_t _timeout; + Poco::FastMutex _mutex; +}; + + +// +// inlines +// +inline bool SessionImpl::canTransact() +{ + return true; +} + + +inline void SessionImpl::setInsertId(const std::string&, const Poco::Any&) +{ +} + + +inline Poco::Any SessionImpl::getInsertId(const std::string&) +{ + return Poco::Any(Poco::UInt64(mysql_insert_id(_handle))); +} + + +inline SessionHandle& SessionImpl::handle() +{ + return _handle; +} + + +inline const std::string& SessionImpl::connectorName() +{ + return _connector; +} + + +inline bool SessionImpl::isTransaction() +{ + return _inTransaction; +} + + +inline bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti) +{ + return getTransactionIsolation() == ti; +} + + +inline bool SessionImpl::isConnected() +{ + return _connected; +} + + +inline std::size_t SessionImpl::getConnectionTimeout() +{ + return _timeout; +} + + +template <> +inline std::string& SessionImpl::getValue(MYSQL_BIND* pResult, std::string& val) +{ + val.assign((char*) pResult->buffer, pResult->buffer_length); + return val; +} + + +} } } // namespace Poco::Data::MySQL + + +#endif // Data_MySQL_SessionImpl_INCLUDED diff --git a/Data/MySQL/src/SessionImpl.cpp b/Data/MySQL/src/SessionImpl.cpp index 0521d50f9..591b050a9 100644 --- a/Data/MySQL/src/SessionImpl.cpp +++ b/Data/MySQL/src/SessionImpl.cpp @@ -1,289 +1,289 @@ -// -// MySQLException.cpp -// -// $Id: //poco/1.4/Data/MySQL/src/SessionImpl.cpp#1 $ -// -// Library: Data -// Package: MySQL -// Module: SessionImpl -// -// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - - -#include "Poco/Data/MySQL/SessionImpl.h" -#include "Poco/Data/MySQL/MySQLStatementImpl.h" -#include "Poco/Data/Session.h" -#include "Poco/NumberParser.h" -#include "Poco/String.h" - - -namespace -{ - std::string copyStripped(std::string::const_iterator from, std::string::const_iterator to) - { - // skip leading spaces - while ((from != to) && isspace(*from)) from++; - // skip trailing spaces - while ((from != to) && isspace(*(to - 1))) to--; - - return std::string(from, to); - } -} - - -namespace Poco { -namespace Data { -namespace MySQL { - - -const std::string SessionImpl::MYSQL_READ_UNCOMMITTED = "READ UNCOMMITTED"; -const std::string SessionImpl::MYSQL_READ_COMMITTED = "READ COMMITTED"; -const std::string SessionImpl::MYSQL_REPEATABLE_READ = "REPEATABLE READ"; -const std::string SessionImpl::MYSQL_SERIALIZABLE = "SERIALIZABLE"; - - -SessionImpl::SessionImpl(const std::string& connectionString, std::size_t loginTimeout) : - Poco::Data::AbstractSessionImpl(toLower(connectionString), loginTimeout), - _handle(0), - _connected(false), - _inTransaction(false) -{ - addProperty("insertId", - &SessionImpl::setInsertId, - &SessionImpl::getInsertId); - - open(); - setConnectionTimeout(CONNECTION_TIMEOUT_DEFAULT); -} - - -void SessionImpl::open(const std::string& connect) -{ - if (connect != connectionString()) - { - if (isConnected()) - throw InvalidAccessException("Session already connected"); - - if (!connect.empty()) - setConnectionString(connect); - } - - poco_assert_dbg (!connectionString().empty()); - - _handle.init(); - - unsigned int timeout = static_cast(getLoginTimeout()); - _handle.options(MYSQL_OPT_CONNECT_TIMEOUT, timeout); - - std::map options; - - // Default values - options["host"] = "localhost"; - options["port"] = "3306"; - options["user"] = ""; - options["password"] = ""; - options["db"] = ""; - options["compress"] = ""; - options["auto-reconnect"] = ""; - - const std::string& connString = connectionString(); - for (std::string::const_iterator start = connString.begin();;) - { - std::string::const_iterator finish = std::find(start, connString.end(), ';'); - std::string::const_iterator middle = std::find(start, finish, '='); - - if (middle == finish) - throw MySQLException("create session: bad connection string format, can not find '='"); - - options[copyStripped(start, middle)] = copyStripped(middle + 1, finish); - - if ((finish == connString.end()) || (finish + 1 == connString.end())) break; - - start = finish + 1; - } - - if (options["user"] == "") - throw MySQLException("create session: specify user name"); - - if (options["db"] == "") - throw MySQLException("create session: specify database"); - - unsigned int port = 0; - if (!NumberParser::tryParseUnsigned(options["port"], port) || 0 == port || port > 65535) - throw MySQLException("create session: specify correct port (numeric in decimal notation)"); - - if (options["compress"] == "true") - _handle.options(MYSQL_OPT_COMPRESS); - else if (options["compress"] == "false") - ; - else if (options["compress"] != "") - throw MySQLException("create session: specify correct compress option (true or false) or skip it"); - - if (options["auto-reconnect"] == "true") - _handle.options(MYSQL_OPT_RECONNECT, true); - else if (options["auto-reconnect"] == "false") - _handle.options(MYSQL_OPT_RECONNECT, false); - else if (options["auto-reconnect"] != "") - throw MySQLException("create session: specify correct auto-reconnect option (true or false) or skip it"); - - // Real connect - _handle.connect(options["host"].c_str(), - options["user"].c_str(), - options["password"].c_str(), - options["db"].c_str(), - port); - - addFeature("autoCommit", - &SessionImpl::autoCommit, - &SessionImpl::isAutoCommit); - - _connected = true; -} - - -SessionImpl::~SessionImpl() -{ - close(); -} - - -Poco::Data::StatementImpl* SessionImpl::createStatementImpl() -{ - return new MySQLStatementImpl(*this); -} - - -void SessionImpl::begin() -{ - Poco::FastMutex::ScopedLock l(_mutex); - - if (_inTransaction) - throw Poco::InvalidAccessException("Already in transaction."); - - _handle.startTransaction(); - _inTransaction = true; -} - - -void SessionImpl::commit() -{ - _handle.commit(); - _inTransaction = false; -} - - -void SessionImpl::rollback() -{ - _handle.rollback(); - _inTransaction = false; -} - - -void SessionImpl::autoCommit(const std::string&, bool val) -{ - StatementExecutor ex(_handle); - ex.prepare(Poco::format("SET autocommit=%d", val ? 1 : 0)); - ex.execute(); -} - - -bool SessionImpl::isAutoCommit(const std::string&) -{ - int ac = 0; - return 1 == getSetting("autocommit", ac); -} - - -void SessionImpl::setTransactionIsolation(Poco::UInt32 ti) -{ - std::string isolation; - switch (ti) - { - case Session::TRANSACTION_READ_UNCOMMITTED: - isolation = MYSQL_READ_UNCOMMITTED; break; - case Session::TRANSACTION_READ_COMMITTED: - isolation = MYSQL_READ_COMMITTED; break; - case Session::TRANSACTION_REPEATABLE_READ: - isolation = MYSQL_REPEATABLE_READ; break; - case Session::TRANSACTION_SERIALIZABLE: - isolation = MYSQL_SERIALIZABLE; break; - default: - throw Poco::InvalidArgumentException("setTransactionIsolation()"); - } - - StatementExecutor ex(_handle); - ex.prepare(Poco::format("SET SESSION TRANSACTION ISOLATION LEVEL %s", isolation)); - ex.execute(); -} - - -Poco::UInt32 SessionImpl::getTransactionIsolation() -{ - std::string isolation; - getSetting("tx_isolation", isolation); - Poco::replaceInPlace(isolation, "-", " "); - if (MYSQL_READ_UNCOMMITTED == isolation) - return Session::TRANSACTION_READ_UNCOMMITTED; - else if (MYSQL_READ_COMMITTED == isolation) - return Session::TRANSACTION_READ_COMMITTED; - else if (MYSQL_REPEATABLE_READ == isolation) - return Session::TRANSACTION_REPEATABLE_READ; - else if (MYSQL_SERIALIZABLE == isolation) - return Session::TRANSACTION_SERIALIZABLE; - - throw InvalidArgumentException("getTransactionIsolation()"); -} - - -bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti) -{ - return Session::TRANSACTION_READ_UNCOMMITTED == ti || - Session::TRANSACTION_READ_COMMITTED == ti || - Session::TRANSACTION_REPEATABLE_READ == ti || - Session::TRANSACTION_SERIALIZABLE == ti; -} - - -void SessionImpl::close() -{ - if (_connected) - { - _handle.close(); - _connected = false; - } -} - - -void SessionImpl::setConnectionTimeout(std::size_t timeout) -{ - _handle.options(MYSQL_OPT_READ_TIMEOUT, static_cast(timeout)); - _handle.options(MYSQL_OPT_WRITE_TIMEOUT, static_cast(timeout)); - _timeout = timeout; -} - - -}}} +// +// MySQLException.cpp +// +// $Id: //poco/1.4/Data/MySQL/src/SessionImpl.cpp#1 $ +// +// Library: Data +// Package: MySQL +// Module: SessionImpl +// +// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + + +#include "Poco/Data/MySQL/SessionImpl.h" +#include "Poco/Data/MySQL/MySQLStatementImpl.h" +#include "Poco/Data/Session.h" +#include "Poco/NumberParser.h" +#include "Poco/String.h" + + +namespace +{ + std::string copyStripped(std::string::const_iterator from, std::string::const_iterator to) + { + // skip leading spaces + while ((from != to) && isspace(*from)) from++; + // skip trailing spaces + while ((from != to) && isspace(*(to - 1))) to--; + + return std::string(from, to); + } +} + + +namespace Poco { +namespace Data { +namespace MySQL { + + +const std::string SessionImpl::MYSQL_READ_UNCOMMITTED = "READ UNCOMMITTED"; +const std::string SessionImpl::MYSQL_READ_COMMITTED = "READ COMMITTED"; +const std::string SessionImpl::MYSQL_REPEATABLE_READ = "REPEATABLE READ"; +const std::string SessionImpl::MYSQL_SERIALIZABLE = "SERIALIZABLE"; + + +SessionImpl::SessionImpl(const std::string& connectionString, std::size_t loginTimeout) : + Poco::Data::AbstractSessionImpl(toLower(connectionString), loginTimeout), + _handle(0), + _connected(false), + _inTransaction(false) +{ + addProperty("insertId", + &SessionImpl::setInsertId, + &SessionImpl::getInsertId); + + open(); + setConnectionTimeout(CONNECTION_TIMEOUT_DEFAULT); +} + + +void SessionImpl::open(const std::string& connect) +{ + if (connect != connectionString()) + { + if (isConnected()) + throw InvalidAccessException("Session already connected"); + + if (!connect.empty()) + setConnectionString(connect); + } + + poco_assert_dbg (!connectionString().empty()); + + _handle.init(); + + unsigned int timeout = static_cast(getLoginTimeout()); + _handle.options(MYSQL_OPT_CONNECT_TIMEOUT, timeout); + + std::map options; + + // Default values + options["host"] = "localhost"; + options["port"] = "3306"; + options["user"] = ""; + options["password"] = ""; + options["db"] = ""; + options["compress"] = ""; + options["auto-reconnect"] = ""; + + const std::string& connString = connectionString(); + for (std::string::const_iterator start = connString.begin();;) + { + std::string::const_iterator finish = std::find(start, connString.end(), ';'); + std::string::const_iterator middle = std::find(start, finish, '='); + + if (middle == finish) + throw MySQLException("create session: bad connection string format, can not find '='"); + + options[copyStripped(start, middle)] = copyStripped(middle + 1, finish); + + if ((finish == connString.end()) || (finish + 1 == connString.end())) break; + + start = finish + 1; + } + + if (options["user"] == "") + throw MySQLException("create session: specify user name"); + + if (options["db"] == "") + throw MySQLException("create session: specify database"); + + unsigned int port = 0; + if (!NumberParser::tryParseUnsigned(options["port"], port) || 0 == port || port > 65535) + throw MySQLException("create session: specify correct port (numeric in decimal notation)"); + + if (options["compress"] == "true") + _handle.options(MYSQL_OPT_COMPRESS); + else if (options["compress"] == "false") + ; + else if (options["compress"] != "") + throw MySQLException("create session: specify correct compress option (true or false) or skip it"); + + if (options["auto-reconnect"] == "true") + _handle.options(MYSQL_OPT_RECONNECT, true); + else if (options["auto-reconnect"] == "false") + _handle.options(MYSQL_OPT_RECONNECT, false); + else if (options["auto-reconnect"] != "") + throw MySQLException("create session: specify correct auto-reconnect option (true or false) or skip it"); + + // Real connect + _handle.connect(options["host"].c_str(), + options["user"].c_str(), + options["password"].c_str(), + options["db"].c_str(), + port); + + addFeature("autoCommit", + &SessionImpl::autoCommit, + &SessionImpl::isAutoCommit); + + _connected = true; +} + + +SessionImpl::~SessionImpl() +{ + close(); +} + + +Poco::Data::StatementImpl* SessionImpl::createStatementImpl() +{ + return new MySQLStatementImpl(*this); +} + + +void SessionImpl::begin() +{ + Poco::FastMutex::ScopedLock l(_mutex); + + if (_inTransaction) + throw Poco::InvalidAccessException("Already in transaction."); + + _handle.startTransaction(); + _inTransaction = true; +} + + +void SessionImpl::commit() +{ + _handle.commit(); + _inTransaction = false; +} + + +void SessionImpl::rollback() +{ + _handle.rollback(); + _inTransaction = false; +} + + +void SessionImpl::autoCommit(const std::string&, bool val) +{ + StatementExecutor ex(_handle); + ex.prepare(Poco::format("SET autocommit=%d", val ? 1 : 0)); + ex.execute(); +} + + +bool SessionImpl::isAutoCommit(const std::string&) +{ + int ac = 0; + return 1 == getSetting("autocommit", ac); +} + + +void SessionImpl::setTransactionIsolation(Poco::UInt32 ti) +{ + std::string isolation; + switch (ti) + { + case Session::TRANSACTION_READ_UNCOMMITTED: + isolation = MYSQL_READ_UNCOMMITTED; break; + case Session::TRANSACTION_READ_COMMITTED: + isolation = MYSQL_READ_COMMITTED; break; + case Session::TRANSACTION_REPEATABLE_READ: + isolation = MYSQL_REPEATABLE_READ; break; + case Session::TRANSACTION_SERIALIZABLE: + isolation = MYSQL_SERIALIZABLE; break; + default: + throw Poco::InvalidArgumentException("setTransactionIsolation()"); + } + + StatementExecutor ex(_handle); + ex.prepare(Poco::format("SET SESSION TRANSACTION ISOLATION LEVEL %s", isolation)); + ex.execute(); +} + + +Poco::UInt32 SessionImpl::getTransactionIsolation() +{ + std::string isolation; + getSetting("tx_isolation", isolation); + Poco::replaceInPlace(isolation, "-", " "); + if (MYSQL_READ_UNCOMMITTED == isolation) + return Session::TRANSACTION_READ_UNCOMMITTED; + else if (MYSQL_READ_COMMITTED == isolation) + return Session::TRANSACTION_READ_COMMITTED; + else if (MYSQL_REPEATABLE_READ == isolation) + return Session::TRANSACTION_REPEATABLE_READ; + else if (MYSQL_SERIALIZABLE == isolation) + return Session::TRANSACTION_SERIALIZABLE; + + throw InvalidArgumentException("getTransactionIsolation()"); +} + + +bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti) +{ + return Session::TRANSACTION_READ_UNCOMMITTED == ti || + Session::TRANSACTION_READ_COMMITTED == ti || + Session::TRANSACTION_REPEATABLE_READ == ti || + Session::TRANSACTION_SERIALIZABLE == ti; +} + + +void SessionImpl::close() +{ + if (_connected) + { + _handle.close(); + _connected = false; + } +} + + +void SessionImpl::setConnectionTimeout(std::size_t timeout) +{ + _handle.options(MYSQL_OPT_READ_TIMEOUT, static_cast(timeout)); + _handle.options(MYSQL_OPT_WRITE_TIMEOUT, static_cast(timeout)); + _timeout = timeout; +} + + +}}} diff --git a/Data/MySQL/testsuite/TestSuite.progen b/Data/MySQL/testsuite/TestSuite.progen index 29b42f685..e986d0fff 100644 --- a/Data/MySQL/testsuite/TestSuite.progen +++ b/Data/MySQL/testsuite/TestSuite.progen @@ -1,10 +1,10 @@ -vc.project.guid = 4D6E42AE-EB6A-47EB-A186-B8A183FABCF7 -vc.project.name = TestSuite -vc.project.target = TestSuite -vc.project.type = testsuite -vc.project.pocobase = ..\\..\\.. -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = TestSuite_vs90.vcproj -vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Data\\include -vc.project.linker.dependencies = libmysql.lib +vc.project.guid = 4D6E42AE-EB6A-47EB-A186-B8A183FABCF7 +vc.project.name = TestSuite +vc.project.target = TestSuite +vc.project.type = testsuite +vc.project.pocobase = ..\\..\\.. +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = TestSuite_vs90.vcproj +vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Data\\include +vc.project.linker.dependencies = libmysql.lib diff --git a/Data/MySQL/testsuite/TestSuite_VS80.vcproj b/Data/MySQL/testsuite/TestSuite_VS80.vcproj index 9fb1b7534..3f9b5f38c 100644 --- a/Data/MySQL/testsuite/TestSuite_VS80.vcproj +++ b/Data/MySQL/testsuite/TestSuite_VS80.vcproj @@ -1,259 +1,259 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/MySQL/testsuite/TestSuite_VS90.vcproj b/Data/MySQL/testsuite/TestSuite_VS90.vcproj index 42f4624fc..2316b3178 100644 --- a/Data/MySQL/testsuite/TestSuite_VS90.vcproj +++ b/Data/MySQL/testsuite/TestSuite_VS90.vcproj @@ -1,258 +1,258 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/MySQL/testsuite/TestSuite_vs100.vcxproj b/Data/MySQL/testsuite/TestSuite_vs100.vcxproj index ddb7b5102..7f94b7c10 100644 --- a/Data/MySQL/testsuite/TestSuite_vs100.vcxproj +++ b/Data/MySQL/testsuite/TestSuite_vs100.vcxproj @@ -1,599 +1,599 @@ - - - - - debug_shared - Win32 - - - debug_shared - x64 - - - debug_static_md - Win32 - - - debug_static_md - x64 - - - debug_static_mt - Win32 - - - debug_static_mt - x64 - - - release_shared - Win32 - - - release_shared - x64 - - - release_static_md - Win32 - - - release_static_md - x64 - - - release_static_mt - Win32 - - - release_static_mt - x64 - - - - TestSuite - {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7} - TestSuite - Win32Proj - - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Static - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - Application - Dynamic - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - bin\ - bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - bin\ - bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - bin\static_mt\ - bin\static_mt\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - bin\static_mt\ - bin\static_mt\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - bin\static_md\ - bin\static_md\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - bin\static_md\ - bin\static_md\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - TestSuited - TestSuited - TestSuited - TestSuited - TestSuited - TestSuited - TestSuite - TestSuite - TestSuite - TestSuite - TestSuite - TestSuite - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitd.lib;WinTestRunnerd.lib;libmysql.lib;%(AdditionalDependencies) - bin\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitd.lib;WinTestRunnerd.lib;libmysql.lib;%(AdditionalDependencies) - bin\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\TestSuited.pdb - Windows - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnit.lib;WinTestRunner.lib;libmysql.lib;%(AdditionalDependencies) - bin\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - CppUnit.lib;WinTestRunner.lib;libmysql.lib;%(AdditionalDependencies) - bin\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_mt\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) - true - true - bin\static_mt\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_mt\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) - true - true - bin\static_mt\TestSuited.pdb - Windows - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_mt\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) - false - Windows - true - true - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_mt\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) - false - Windows - true - true - - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_md\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\static_md\TestSuited.pdb - Windows - MachineX86 - - - - - Disabled - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_md\TestSuited.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - true - true - bin\static_md\TestSuited.pdb - Windows - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_md\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) - bin\static_md\TestSuite.exe - ..\..\..\lib;%(AdditionalLibraryDirectories) - false - Windows - true - true - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_shared + x64 + + + debug_static_md + Win32 + + + debug_static_md + x64 + + + debug_static_mt + Win32 + + + debug_static_mt + x64 + + + release_shared + Win32 + + + release_shared + x64 + + + release_static_md + Win32 + + + release_static_md + x64 + + + release_static_mt + Win32 + + + release_static_mt + x64 + + + + TestSuite + {4D6E42AE-EB6A-47EB-A186-B8A183FABCF7} + TestSuite + Win32Proj + + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Static + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + Application + Dynamic + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + bin\ + bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + bin\ + bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + bin\static_mt\ + bin\static_mt\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + bin\static_mt\ + bin\static_mt\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + bin\static_md\ + bin\static_md\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + bin\static_md\ + bin\static_md\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + TestSuited + TestSuited + TestSuited + TestSuited + TestSuited + TestSuited + TestSuite + TestSuite + TestSuite + TestSuite + TestSuite + TestSuite + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitd.lib;WinTestRunnerd.lib;libmysql.lib;%(AdditionalDependencies) + bin\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitd.lib;WinTestRunnerd.lib;libmysql.lib;%(AdditionalDependencies) + bin\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\TestSuited.pdb + Windows + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnit.lib;WinTestRunner.lib;libmysql.lib;%(AdditionalDependencies) + bin\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + CppUnit.lib;WinTestRunner.lib;libmysql.lib;%(AdditionalDependencies) + bin\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_mt\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) + true + true + bin\static_mt\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_mt\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries) + true + true + bin\static_mt\TestSuited.pdb + Windows + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_mt\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_mt\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + false + Windows + true + true + + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_md\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\static_md\TestSuited.pdb + Windows + MachineX86 + + + + + Disabled + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_md\TestSuited.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + true + true + bin\static_md\TestSuited.pdb + Windows + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_md\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + ..\include;..\..\..\CppUnit\include;..\..\..\CppUnit\WinTestRunner\include;..\..\..\Foundation\include;..\..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;libmysql.lib;%(AdditionalDependencies) + bin\static_md\TestSuite.exe + ..\..\..\lib;%(AdditionalLibraryDirectories) + false + Windows + true + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/MySQL/testsuite/src/SQLExecutor.cpp b/Data/MySQL/testsuite/src/SQLExecutor.cpp index c9a268ed2..c121bb52f 100644 --- a/Data/MySQL/testsuite/src/SQLExecutor.cpp +++ b/Data/MySQL/testsuite/src/SQLExecutor.cpp @@ -1,1846 +1,1846 @@ -// -// SQLExecutor.cpp -// -// $Id: //poco/1.4/Data/MySQL/testsuite/src/SQLExecutor.cpp#1 $ -// -// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - - -#include "CppUnit/TestCase.h" -#include "SQLExecutor.h" -#include "Poco/String.h" -#include "Poco/Format.h" -#include "Poco/Tuple.h" -#include "Poco/Any.h" -#include "Poco/Exception.h" -#include "Poco/Data/LOB.h" -#include "Poco/Data/StatementImpl.h" -#include "Poco/Data/RecordSet.h" -#include "Poco/Data/Transaction.h" -#include "Poco/Data/MySQL/Connector.h" -#include "Poco/Data/MySQL/MySQLException.h" - -#ifdef _WIN32 -#include -#endif - -#include -#include - - -using namespace Poco::Data; -using namespace Poco::Data::Keywords; -using Poco::Data::MySQL::ConnectionException; -using Poco::Data::MySQL::StatementException; -using Poco::format; -using Poco::Tuple; -using Poco::Any; -using Poco::AnyCast; -using Poco::NotFoundException; -using Poco::InvalidAccessException; -using Poco::BadCastException; -using Poco::RangeException; - - -struct Person -{ - std::string lastName; - std::string firstName; - std::string address; - int age; - Person(){age = 0;} - Person(const std::string& ln, const std::string& fn, const std::string& adr, int a):lastName(ln), firstName(fn), address(adr), age(a) - { - } - bool operator==(const Person& other) const - { - return lastName == other.lastName && firstName == other.firstName && address == other.address && age == other.age; - } - - bool operator < (const Person& p) const - { - if (age < p.age) - return true; - if (lastName < p.lastName) - return true; - if (firstName < p.firstName) - return true; - return (address < p.address); - } - - const std::string& operator () () const - /// This method is required so we can extract data to a map! - { - // we choose the lastName as examplary key - return lastName; - } -}; - - -namespace Poco { -namespace Data { - - -template <> -class TypeHandler -{ -public: - static void bind(std::size_t pos, const Person& obj, AbstractBinder* pBinder, AbstractBinder::Direction dir) - { - // the table is defined as Person (LastName VARCHAR(30), FirstName VARCHAR, Address VARCHAR, Age INTEGER(3)) - poco_assert_dbg (pBinder != 0); - pBinder->bind(pos++, obj.lastName, dir); - pBinder->bind(pos++, obj.firstName, dir); - pBinder->bind(pos++, obj.address, dir); - pBinder->bind(pos++, obj.age, dir); - } - - static void prepare(std::size_t pos, Person& obj, AbstractPreparator* pPrepare) - { - // the table is defined as Person (LastName VARCHAR(30), FirstName VARCHAR, Address VARCHAR, Age INTEGER(3)) - poco_assert_dbg (pPrepare != 0); - pPrepare->prepare(pos++, obj.lastName); - pPrepare->prepare(pos++, obj.firstName); - pPrepare->prepare(pos++, obj.address); - pPrepare->prepare(pos++, obj.age); - } - - static std::size_t size() - { - return 4; - } - - static void extract(std::size_t pos, Person& obj, const Person& defVal, AbstractExtractor* pExt) - { - poco_assert_dbg (pExt != 0); - if (!pExt->extract(pos++, obj.lastName)) - obj.lastName = defVal.lastName; - if (!pExt->extract(pos++, obj.firstName)) - obj.firstName = defVal.firstName; - if (!pExt->extract(pos++, obj.address)) - obj.address = defVal.address; - if (!pExt->extract(pos++, obj.age)) - obj.age = defVal.age; - } - -private: - TypeHandler(); - ~TypeHandler(); - TypeHandler(const TypeHandler&); - TypeHandler& operator=(const TypeHandler&); -}; - - -} } // namespace Poco::Data - - -SQLExecutor::SQLExecutor(const std::string& name, Poco::Data::Session* pSession): - CppUnit::TestCase(name), - _pSession(pSession) -{ -} - - -SQLExecutor::~SQLExecutor() -{ -} - - -void SQLExecutor::bareboneMySQLTest(const char* host, const char* user, const char* pwd, const char* db, int port, const char* tableCreateString) -{ - int rc; - MYSQL* hsession = mysql_init(0); - assert (hsession != 0); - - MYSQL* tmp = mysql_real_connect(hsession, host, user, pwd, db, port, 0, 0); - assert(tmp == hsession); - - MYSQL_STMT* hstmt = mysql_stmt_init(hsession); - assert(hstmt != 0); - - std::string sql = "DROP TABLE Test"; - mysql_real_query(hsession, sql.c_str(), static_cast(sql.length())); - - sql = tableCreateString; - rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); - assert(rc == 0); - - rc = mysql_stmt_execute(hstmt); - assert(rc == 0); - - sql = "INSERT INTO Test VALUES (?,?,?,?,?)"; - rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); - assert(rc == 0); - - std::string str[3] = { "111", "222", "333" }; - int fourth = 4; - float fifth = 1.5; - - MYSQL_BIND bind_param[5] = {{0}}; - - bind_param[0].buffer = const_cast(str[0].c_str()); - bind_param[0].buffer_length = static_cast(str[0].length()); - bind_param[0].buffer_type = MYSQL_TYPE_STRING; - - bind_param[1].buffer = const_cast(str[1].c_str()); - bind_param[1].buffer_length = static_cast(str[1].length()); - bind_param[1].buffer_type = MYSQL_TYPE_STRING; - - bind_param[2].buffer = const_cast(str[2].c_str()); - bind_param[2].buffer_length = static_cast(str[2].length()); - bind_param[2].buffer_type = MYSQL_TYPE_STRING; - - bind_param[3].buffer = &fourth; - bind_param[3].buffer_type = MYSQL_TYPE_LONG; - - bind_param[4].buffer = &fifth; - bind_param[4].buffer_type = MYSQL_TYPE_FLOAT; - - rc = mysql_stmt_bind_param(hstmt, bind_param); - assert (rc == 0); - - rc = mysql_stmt_execute(hstmt); - assert (rc == 0); - - sql = "SELECT * FROM Test"; - rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); - assert (rc == 0); - - char chr[3][5] = {{ 0 }}; - unsigned long lengths[5] = { 0 }; - fourth = 0; - fifth = 0.0f; - - MYSQL_BIND bind_result[5] = {{0}}; - - bind_result[0].buffer = chr[0]; - bind_result[0].buffer_length = sizeof(chr[0]); - bind_result[0].buffer_type = MYSQL_TYPE_STRING; - bind_result[0].length = &lengths[0]; - - bind_result[1].buffer = chr[1]; - bind_result[1].buffer_length = sizeof(chr[1]); - bind_result[1].buffer_type = MYSQL_TYPE_STRING; - bind_result[1].length = &lengths[1]; - - bind_result[2].buffer = chr[2]; - bind_result[2].buffer_length = sizeof(chr[2]); - bind_result[2].buffer_type = MYSQL_TYPE_STRING; - bind_result[2].length = &lengths[2]; - - bind_result[3].buffer = &fourth; - bind_result[3].buffer_type = MYSQL_TYPE_LONG; - bind_result[3].length = &lengths[3]; - - bind_result[4].buffer = &fifth; - bind_result[4].buffer_type = MYSQL_TYPE_FLOAT; - bind_result[4].length = &lengths[4]; - - rc = mysql_stmt_bind_result(hstmt, bind_result); - assert (rc == 0); - - rc = mysql_stmt_execute(hstmt); - assert (rc == 0); - rc = mysql_stmt_fetch(hstmt); - assert (rc == 0); - - assert (0 == std::strncmp("111", chr[0], 3)); - assert (0 == std::strncmp("222", chr[1], 3)); - assert (0 == std::strncmp("333", chr[2], 3)); - assert (4 == fourth); - assert (1.5 == fifth); - - rc = mysql_stmt_close(hstmt); - assert(rc == 0); - - sql = "DROP TABLE Test"; - rc = mysql_real_query(hsession, sql.c_str(), static_cast(sql.length())); - assert(rc == 0); - - mysql_close(hsession); -} - - -void SQLExecutor::simpleAccess() -{ - std::string funct = "simpleAccess()"; - std::string lastName = "lastName"; - std::string firstName("firstName"); - std::string address("Address"); - int age = 133132; - int count = 0; - std::string result; - - count = 0; - try - { - Statement stmt(*_pSession); - stmt << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(age);//, now; - stmt.execute(); - } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - assert (count == 1); - - try { *_pSession << "SELECT LastName FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (lastName == result); - - try { *_pSession << "SELECT Age FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == age); -} - - -void SQLExecutor::complexType() -{ - std::string funct = "complexType()"; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(p1), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(p2), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - Person c1; - Person c2; - try { *_pSession << "SELECT * FROM Person WHERE LastName = 'LN1'", into(c1), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (c1 == p1); -} - - -void SQLExecutor::simpleAccessVector() -{ - std::string funct = "simpleAccessVector()"; - std::vector lastNames; - std::vector firstNames; - std::vector addresses; - std::vector ages; - std::string tableName("Person"); - lastNames.push_back("LN1"); - lastNames.push_back("LN2"); - firstNames.push_back("FN1"); - firstNames.push_back("FN2"); - addresses.push_back("ADDR1"); - addresses.push_back("ADDR2"); - ages.push_back(1); - ages.push_back(2); - int count = 0; - std::string result; - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::vector lastNamesR; - std::vector firstNamesR; - std::vector addressesR; - std::vector agesR; - try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ages == agesR); - assert (lastNames == lastNamesR); - assert (firstNames == firstNamesR); - assert (addresses == addressesR); -} - - -void SQLExecutor::complexTypeVector() -{ - std::string funct = "complexTypeVector()"; - std::vector people; - people.push_back(Person("LN1", "FN1", "ADDR1", 1)); - people.push_back(Person("LN2", "FN2", "ADDR2", 2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::vector result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result == people); -} - - -void SQLExecutor::insertVector() -{ - std::string funct = "insertVector()"; - std::vector str; - str.push_back("s1"); - str.push_back("s2"); - str.push_back("s3"); - str.push_back("s3"); - int count = 100; - - { - Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(str))); - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 0); - - try { stmt.execute(); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 4); - } - count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 4); -} - - -void SQLExecutor::insertEmptyVector() -{ - std::string funct = "insertEmptyVector()"; - std::vector str; - - try - { - *_pSession << "INSERT INTO Strings VALUES (?)", use(str), now; - fail("empty collections should not work"); - } - catch (Poco::Exception&) - { - } -} - - -void SQLExecutor::insertSingleBulk() -{ - std::string funct = "insertSingleBulk()"; - int x = 0; - Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(x))); - - for (x = 0; x < 100; ++x) - { - std::size_t i = stmt.execute(); - assert (i == 0); - } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 100); - - try { *_pSession << "SELECT SUM(str) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == ((0+99)*100/2)); -} - - -void SQLExecutor::floats() -{ - std::string funct = "floats()"; - float data = 1.5f; - float ret = 0.0f; - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - try { *_pSession << "SELECT str FROM Strings", into(ret), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ret == data); -} - - -void SQLExecutor::doubles() -{ - std::string funct = "floats()"; - double data = 1.5; - double ret = 0.0; - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - try { *_pSession << "SELECT str FROM Strings", into(ret), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ret == data); -} - - -void SQLExecutor::insertSingleBulkVec() -{ - std::string funct = "insertSingleBulkVec()"; - std::vector data; - - for (int x = 0; x < 100; ++x) - data.push_back(x); - - Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(data))); - stmt.execute(); - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - assert (count == 100); - try { *_pSession << "SELECT SUM(str) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == ((0+99)*100/2)); -} - - -void SQLExecutor::limits() -{ - std::string funct = "limit()"; - std::vector data; - for (int x = 0; x < 100; ++x) - { - data.push_back(x); - } - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - std::vector retData; - try { *_pSession << "SELECT * FROM Strings", into(retData), limit(50), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (retData.size() == 50); - for (int x = 0; x < 50; ++x) - { - assert(data[x] == retData[x]); - } -} - - -void SQLExecutor::limitZero() -{ - std::string funct = "limitZero()"; - std::vector data; - for (int x = 0; x < 100; ++x) - { - data.push_back(x); - } - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - std::vector retData; - try { *_pSession << "SELECT * FROM Strings", into(retData), limit(0), now; }// stupid test, but at least we shouldn't crash - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (retData.size() == 0); -} - - -void SQLExecutor::limitOnce() -{ - std::string funct = "limitOnce()"; - std::vector data; - for (int x = 0; x < 101; ++x) - { - data.push_back(x); - } - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - std::vector retData; - Statement stmt = (*_pSession << "SELECT * FROM Strings", into(retData), limit(50), now); - assert (!stmt.done()); - assert (retData.size() == 50); - stmt.execute(); - assert (!stmt.done()); - assert (retData.size() == 100); - stmt.execute(); - assert (stmt.done()); - assert (retData.size() == 101); - - for (int x = 0; x < 101; ++x) - { - assert(data[x] == retData[x]); - } -} - - -void SQLExecutor::limitPrepare() -{ - std::string funct = "limitPrepare()"; - std::vector data; - for (int x = 0; x < 100; ++x) - { - data.push_back(x); - } - - try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - std::vector retData; - Statement stmt = (*_pSession << "SELECT * FROM Strings", into(retData), limit(50)); - assert (retData.size() == 0); - assert (!stmt.done()); - - try { stmt.execute(); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (!stmt.done()); - assert (retData.size() == 50); - - try { stmt.execute(); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (stmt.done()); - assert (retData.size() == 100); - - try { stmt.execute(); }// will restart execution! - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (!stmt.done()); - assert (retData.size() == 150); - for (int x = 0; x < 150; ++x) - { - assert(data[x%100] == retData[x]); - } -} - - - -void SQLExecutor::prepare() -{ - std::string funct = "prepare()"; - std::vector data; - for (int x = 0; x < 100; x += 2) - { - data.push_back(x); - } - - { - Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(data))); - } - // stmt should not have been executed when destroyed - int count = 100; - try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 0); -} - - -void SQLExecutor::setSimple() -{ - std::string funct = "setSimple()"; - std::set lastNames; - std::set firstNames; - std::set addresses; - std::set ages; - std::string tableName("Person"); - lastNames.insert("LN1"); - lastNames.insert("LN2"); - firstNames.insert("FN1"); - firstNames.insert("FN2"); - addresses.insert("ADDR1"); - addresses.insert("ADDR2"); - ages.insert(1); - ages.insert(2); - int count = 0; - std::string result; - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::set lastNamesR; - std::set firstNamesR; - std::set addressesR; - std::set agesR; - try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ages == agesR); - assert (lastNames == lastNamesR); - assert (firstNames == firstNamesR); - assert (addresses == addressesR); -} - - -void SQLExecutor::setComplex() -{ - std::string funct = "setComplex()"; - std::set people; - people.insert(Person("LN1", "FN1", "ADDR1", 1)); - people.insert(Person("LN2", "FN2", "ADDR2", 2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::set result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result == people); -} - - -void SQLExecutor::setComplexUnique() -{ - std::string funct = "setComplexUnique()"; - std::vector people; - Person p1("LN1", "FN1", "ADDR1", 1); - people.push_back(p1); - people.push_back(p1); - people.push_back(p1); - people.push_back(p1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.push_back(p2); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 5); - - std::set result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == 2); - assert (*result.begin() == p1); - assert (*++result.begin() == p2); -} - -void SQLExecutor::multiSetSimple() -{ - std::string funct = "multiSetSimple()"; - std::multiset lastNames; - std::multiset firstNames; - std::multiset addresses; - std::multiset ages; - std::string tableName("Person"); - lastNames.insert("LN1"); - lastNames.insert("LN2"); - firstNames.insert("FN1"); - firstNames.insert("FN2"); - addresses.insert("ADDR1"); - addresses.insert("ADDR2"); - ages.insert(1); - ages.insert(2); - int count = 0; - std::string result; - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::multiset lastNamesR; - std::multiset firstNamesR; - std::multiset addressesR; - std::multiset agesR; - try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ages.size() == agesR.size()); - assert (lastNames.size() == lastNamesR.size()); - assert (firstNames.size() == firstNamesR.size()); - assert (addresses.size() == addressesR.size()); -} - - -void SQLExecutor::multiSetComplex() -{ - std::string funct = "multiSetComplex()"; - std::multiset people; - Person p1("LN1", "FN1", "ADDR1", 1); - people.insert(p1); - people.insert(p1); - people.insert(p1); - people.insert(p1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(p2); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 5); - - std::multiset result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == people.size()); -} - - -void SQLExecutor::mapComplex() -{ - std::string funct = "mapComplex()"; - std::map people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN2", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - - std::map result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result == people); -} - - -void SQLExecutor::mapComplexUnique() -{ - std::string funct = "mapComplexUnique()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN2", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 5); - - std::map result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == 2); -} - - -void SQLExecutor::multiMapComplex() -{ - std::string funct = "multiMapComplex()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN2", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 5); - - std::multimap result; - try { *_pSession << "SELECT * FROM Person", into(result), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == people.size()); -} - - -void SQLExecutor::selectIntoSingle() -{ - std::string funct = "selectIntoSingle()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try { *_pSession << "SELECT * FROM Person", into(result), limit(1), now; }// will return 1 object into one single result - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result == p1); -} - - -void SQLExecutor::selectIntoSingleStep() -{ - std::string funct = "selectIntoSingleStep()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); - stmt.execute(); - assert (result == p1); - assert (!stmt.done()); - stmt.execute(); - assert (result == p2); - assert (stmt.done()); -} - - -void SQLExecutor::selectIntoSingleFail() -{ - std::string funct = "selectIntoSingleFail()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), limit(2, true), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try - { - *_pSession << "SELECT * FROM Person", into(result), limit(1, true), now; // will fail now - fail("hardLimit is set: must fail"); - } - catch(Poco::Data::LimitException&) - { - } -} - - -void SQLExecutor::lowerLimitOk() -{ - std::string funct = "lowerLimitOk()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try - { - *_pSession << "SELECT * FROM Person", into(result), lowerLimit(2), now; // will return 2 objects into one single result but only room for one! - fail("Not enough space for results"); - } - catch(Poco::Exception&) - { - } -} - - -void SQLExecutor::singleSelect() -{ - std::string funct = "singleSelect()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); - stmt.execute(); - assert (result == p1); - assert (!stmt.done()); - stmt.execute(); - assert (result == p2); - assert (stmt.done()); -} - - -void SQLExecutor::lowerLimitFail() -{ - std::string funct = "lowerLimitFail()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try - { - *_pSession << "SELECT * FROM Person", into(result), lowerLimit(3), now; // will fail - fail("should fail. not enough data"); - } - catch(Poco::Exception&) - { - } -} - - -void SQLExecutor::combinedLimits() -{ - std::string funct = "combinedLimits()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - std::vector result; - try { *_pSession << "SELECT * FROM Person", into(result), lowerLimit(2), upperLimit(2), now; }// will return 2 objects - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == 2); - assert (result[0] == p1); - assert (result[1] == p2); -} - - - -void SQLExecutor::ranges() -{ - std::string funct = "range()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - std::vector result; - try { *_pSession << "SELECT * FROM Person", into(result), range(2, 2), now; }// will return 2 objects - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (result.size() == 2); - assert (result[0] == p1); - assert (result[1] == p2); -} - - -void SQLExecutor::combinedIllegalLimits() -{ - std::string funct = "combinedIllegalLimits()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try - { - *_pSession << "SELECT * FROM Person", into(result), lowerLimit(3), upperLimit(2), now; - fail("lower > upper is not allowed"); - } - catch(LimitException&) - { - } -} - - -void SQLExecutor::illegalRange() -{ - std::string funct = "illegalRange()"; - std::multimap people; - Person p1("LN1", "FN1", "ADDR1", 1); - Person p2("LN2", "FN2", "ADDR2", 2); - people.insert(std::make_pair("LN1", p1)); - people.insert(std::make_pair("LN1", p2)); - - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 2); - Person result; - try - { - *_pSession << "SELECT * FROM Person", into(result), range(3, 2), now; - fail("lower > upper is not allowed"); - } - catch(LimitException&) - { - } -} - - -void SQLExecutor::emptyDB() -{ - std::string funct = "emptyDB()"; - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 0); - - Person result; - Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); - stmt.execute(); - assert (result.firstName.empty()); - assert (stmt.done()); -} - - -void SQLExecutor::blob(int bigSize) -{ - std::string funct = "blob()"; - std::string lastName("lastname"); - std::string firstName("firstname"); - std::string address("Address"); - - Poco::Data::CLOB img("0123456789", 10); - int count = 0; - try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(img), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - Poco::Data::CLOB res; - assert (res.size() == 0); - try { *_pSession << "SELECT Image FROM Person", into(res), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (res == img); - - Poco::Data::CLOB big; - std::vector v(bigSize, 'x'); - big.assignRaw(&v[0], (std::size_t) v.size()); - - assert (big.size() == (std::size_t) bigSize); - - try { *_pSession << "DELETE FROM Person", now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "INSERT INTO Person VALUES(?,?,?,?)", use(lastName), use(firstName), use(address), use(big), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try { *_pSession << "SELECT Image FROM Person", into(res), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (res == big); -} - -void SQLExecutor::blobStmt() -{ - std::string funct = "blobStmt()"; - std::string lastName("lastname"); - std::string firstName("firstname"); - std::string address("Address"); - Poco::Data::CLOB blob("0123456789", 10); - - int count = 0; - Statement ins = (*_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(blob)); - ins.execute(); - try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - Poco::Data::CLOB res; - poco_assert (res.size() == 0); - Statement stmt = (*_pSession << "SELECT Image FROM Person", into(res)); - try { stmt.execute(); } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - poco_assert (res == blob); -} - -void SQLExecutor::tuples() -{ - typedef Tuple TupleType; - std::string funct = "tuples()"; - TupleType t(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); - - try { *_pSession << "INSERT INTO Tuples VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", use(t), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - TupleType ret(-10,-11,-12,-13,-14,-15,-16,-17,-18,-19); - assert (ret != t); - try { *_pSession << "SELECT * FROM Tuples", into(ret), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ret == t); -} - -void SQLExecutor::tupleVector() -{ - typedef Tuple TupleType; - std::string funct = "tupleVector()"; - TupleType t(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); - Tuple - t10(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29); - TupleType t100(100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119); - std::vector v; - v.push_back(t); - v.push_back(t10); - v.push_back(t100); - - try { *_pSession << "INSERT INTO Tuples VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", use(v), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Tuples", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (v.size() == (std::size_t) count); - - std::vector > ret; - try { *_pSession << "SELECT * FROM Tuples", into(ret), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (ret == v); -} - - -void SQLExecutor::internalExtraction() -{ - /*std::string funct = "internalExtraction()"; - std::vector > v; - v.push_back(Tuple(1, 1.5f, "3")); - v.push_back(Tuple(2, 2.5f, "4")); - v.push_back(Tuple(3, 3.5f, "5")); - v.push_back(Tuple(4, 4.5f, "6")); - - try { *_pSession << "INSERT INTO Vectors VALUES (?,?,?)", use(v), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - try - { - Statement stmt = (*_pSession << "SELECT * FROM Vectors", now); - RecordSet rset(stmt); - - assert (3 == rset.columnCount()); - assert (4 == rset.rowCount()); - - int curVal = 3; - do - { - assert (rset["str0"] == curVal); - ++curVal; - } while (rset.moveNext()); - - rset.moveFirst(); - assert (rset["str0"] == "3"); - rset.moveLast(); - assert (rset["str0"] == "6"); - - RecordSet rset2(rset); - assert (3 == rset2.columnCount()); - assert (4 == rset2.rowCount()); - - int i = rset.value(0,0); - assert (1 == i); - - std::string s = rset.value(0,0); - assert ("1" == s); - - int a = rset.value(0,2); - assert (3 == a); - - try - { - double d = rset.value(1,1); - assert (2.5 == d); - } - catch (BadCastException&) - { - float f = rset.value(1,1); - assert (2.5 == f); - } - - s = rset.value(2,2); - assert ("5" == s); - i = rset.value("str0", 2); - assert (5 == i); - - const Column& col = rset.column(0); - Column::Iterator it = col.begin(); - Column::Iterator end = col.end(); - for (int i = 1; it != end; ++it, ++i) - assert (*it == i); - - rset = (*_pSession << "SELECT COUNT(*) AS cnt FROM Vectors", now); - - //various results for COUNT(*) are received from different drivers - try - { - //this is what most drivers will return - int i = rset.value(0,0); - assert (4 == i); - } - catch(BadCastException&) - { - try - { - //this is for Oracle - double i = rset.value(0,0); - assert (4 == int(i)); - } - catch(BadCastException&) - { - //this is for PostgreSQL - Poco::Int64 big = rset.value(0,0); - assert (4 == big); - } - } - - s = rset.value("cnt", 0).convert(); - assert ("4" == s); - - try { const Column& col1 = rset.column(100); fail ("must fail"); } - catch (RangeException&) { } - - try { rset.value(0,0); fail ("must fail"); } - catch (BadCastException&) { } - - stmt = (*_pSession << "DELETE FROM Vectors", now); - rset = stmt; - - try { const Column& col1 = rset.column(0); fail ("must fail"); } - catch (RangeException&) { } - } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } -*/ -} - - -void SQLExecutor::doNull() -{ - std::string funct = "null()"; - - *_pSession << "INSERT INTO Vectors VALUES (?, ?, ?)", - use(Poco::Data::Keywords::null), - use(Poco::Data::Keywords::null), - use(Poco::Data::Keywords::null), now; - - int count = 0; - try { *_pSession << "SELECT COUNT(*) FROM Vectors", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - int i0 = 0; - Statement stmt1 = (*_pSession << "SELECT i0 FROM Vectors", into(i0, Poco::Data::Position(0), -1)); - try { stmt1.execute(); } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - poco_assert (i0 == -1); - - float flt0 = 0; - Statement stmt2 = (*_pSession << "SELECT flt0 FROM Vectors", into(flt0, Poco::Data::Position(0), 3.25f)); - try { stmt2.execute(); } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - poco_assert (flt0 == 3.25); - - std::string str0("string"); - Statement stmt3 = (*_pSession << "SELECT str0 FROM Vectors", into(str0, Poco::Data::Position(0), std::string("DEFAULT"))); - try { stmt3.execute(); } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - poco_assert (str0 == "DEFAULT"); -} - - -void SQLExecutor::setTransactionIsolation(Session& session, Poco::UInt32 ti) -{ - if (session.hasTransactionIsolation(ti)) - { - std::string funct = "setTransactionIsolation()"; - - try - { - Transaction t(session, false); - t.setIsolation(ti); - - assert (ti == t.getIsolation()); - assert (t.isIsolation(ti)); - - assert (ti == session.getTransactionIsolation()); - assert (session.isTransactionIsolation(ti)); - } - catch(Poco::Exception& e){ std::cout << funct << ':' << e.displayText() << std::endl;} - } - else - { - std::cout << "Transaction isolation not supported: "; - switch (ti) - { - case Session::TRANSACTION_READ_COMMITTED: - std::cout << "READ COMMITTED"; break; - case Session::TRANSACTION_READ_UNCOMMITTED: - std::cout << "READ UNCOMMITTED"; break; - case Session::TRANSACTION_REPEATABLE_READ: - std::cout << "REPEATABLE READ"; break; - case Session::TRANSACTION_SERIALIZABLE: - std::cout << "SERIALIZABLE"; break; - default: - std::cout << "UNKNOWN"; break; - } - std::cout << std::endl; - } -} - - -void SQLExecutor::sessionTransaction(const std::string& connect) -{ - if (!_pSession->canTransact()) - { - std::cout << "Session not capable of transactions." << std::endl; - return; - } - - Session local("mysql", connect); - local.setFeature("autoCommit", true); - - std::string funct = "transaction()"; - std::vector lastNames; - std::vector firstNames; - std::vector addresses; - std::vector ages; - std::string tableName("Person"); - lastNames.push_back("LN1"); - lastNames.push_back("LN2"); - firstNames.push_back("FN1"); - firstNames.push_back("FN2"); - addresses.push_back("ADDR1"); - addresses.push_back("ADDR2"); - ages.push_back(1); - ages.push_back(2); - int count = 0, locCount = 0; - std::string result; - - bool autoCommit = _pSession->getFeature("autoCommit"); - - _pSession->setFeature("autoCommit", true); - assert (!_pSession->isTransaction()); - _pSession->setFeature("autoCommit", false); - assert (!_pSession->isTransaction()); - - setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_UNCOMMITTED); - setTransactionIsolation((*_pSession), Session::TRANSACTION_REPEATABLE_READ); - setTransactionIsolation((*_pSession), Session::TRANSACTION_SERIALIZABLE); - - setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_COMMITTED); - - _pSession->begin(); - assert (_pSession->isTransaction()); - try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (_pSession->isTransaction()); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - assert (_pSession->isTransaction()); - _pSession->rollback(); - assert (!_pSession->isTransaction()); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (0 == count); - assert (!_pSession->isTransaction()); - - _pSession->begin(); - try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (_pSession->isTransaction()); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - _pSession->commit(); - assert (!_pSession->isTransaction()); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (2 == locCount); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - - _pSession->setFeature("autoCommit", autoCommit); -} - - -void SQLExecutor::transaction(const std::string& connect) -{ - if (!_pSession->canTransact()) - { - std::cout << "Session not transaction-capable." << std::endl; - return; - } - - Session local("mysql", connect); - local.setFeature("autoCommit", true); - - setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_COMMITTED); - setTransactionIsolation(local, Session::TRANSACTION_READ_COMMITTED); - - std::string funct = "transaction()"; - std::vector lastNames; - std::vector firstNames; - std::vector addresses; - std::vector ages; - std::string tableName("Person"); - lastNames.push_back("LN1"); - lastNames.push_back("LN2"); - firstNames.push_back("FN1"); - firstNames.push_back("FN2"); - addresses.push_back("ADDR1"); - addresses.push_back("ADDR2"); - ages.push_back(1); - ages.push_back(2); - int count = 0, locCount = 0; - std::string result; - - bool autoCommit = _pSession->getFeature("autoCommit"); - - _pSession->setFeature("autoCommit", true); - assert (!_pSession->isTransaction()); - _pSession->setFeature("autoCommit", false); - assert (!_pSession->isTransaction()); - _pSession->setTransactionIsolation(Session::TRANSACTION_READ_COMMITTED); - - { - Transaction trans((*_pSession)); - assert (trans.isActive()); - assert (_pSession->isTransaction()); - - try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - assert (_pSession->isTransaction()); - assert (trans.isActive()); - - try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - assert (_pSession->isTransaction()); - assert (trans.isActive()); - } - assert (!_pSession->isTransaction()); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (0 == count); - assert (!_pSession->isTransaction()); - - { - Transaction trans((*_pSession)); - try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - assert (_pSession->isTransaction()); - assert (trans.isActive()); - trans.commit(); - assert (!_pSession->isTransaction()); - assert (!trans.isActive()); - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (2 == locCount); - } - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - - _pSession->begin(); - try { (*_pSession) << "DELETE FROM PERSON", now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (2 == locCount); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (0 == count); - _pSession->commit(); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - std::string sql1 = format("INSERT INTO PERSON VALUES ('%s','%s','%s',%d)", lastNames[0], firstNames[0], addresses[0], ages[0]); - std::string sql2 = format("INSERT INTO PERSON VALUES ('%s','%s','%s',%d)", lastNames[1], firstNames[1], addresses[1], ages[1]); - std::vector sql; - sql.push_back(sql1); - sql.push_back(sql2); - - Transaction trans((*_pSession)); - - trans.execute(sql1, false); - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (1 == count); - trans.execute(sql2, false); - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - trans.rollback(); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (0 == locCount); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (0 == count); - - trans.execute(sql); - - local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; - assert (2 == locCount); - - try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (2 == count); - - _pSession->setFeature("autoCommit", autoCommit); -} - - -void SQLExecutor::reconnect() -{ - std::string funct = "reconnect()"; - std::string lastName = "lastName"; - std::string firstName("firstName"); - std::string address("Address"); - int age = 133132; - int count = 0; - std::string result; - - try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(age), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - - count = 0; - try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == 1); - - assert (_pSession->isConnected()); - _pSession->close(); - assert (!_pSession->isConnected()); - try - { - (*_pSession) << "SELECT LastName FROM PERSON", into(result), now; - fail ("must fail"); - } - catch(NotConnectedException&){ } - assert (!_pSession->isConnected()); - - _pSession->open(); - assert (_pSession->isConnected()); - try { (*_pSession) << "SELECT Age FROM PERSON", into(count), now; } - catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } - catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } - assert (count == age); - assert (_pSession->isConnected()); -} +// +// SQLExecutor.cpp +// +// $Id: //poco/1.4/Data/MySQL/testsuite/src/SQLExecutor.cpp#1 $ +// +// Copyright (c) 2008, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + + +#include "CppUnit/TestCase.h" +#include "SQLExecutor.h" +#include "Poco/String.h" +#include "Poco/Format.h" +#include "Poco/Tuple.h" +#include "Poco/Any.h" +#include "Poco/Exception.h" +#include "Poco/Data/LOB.h" +#include "Poco/Data/StatementImpl.h" +#include "Poco/Data/RecordSet.h" +#include "Poco/Data/Transaction.h" +#include "Poco/Data/MySQL/Connector.h" +#include "Poco/Data/MySQL/MySQLException.h" + +#ifdef _WIN32 +#include +#endif + +#include +#include + + +using namespace Poco::Data; +using namespace Poco::Data::Keywords; +using Poco::Data::MySQL::ConnectionException; +using Poco::Data::MySQL::StatementException; +using Poco::format; +using Poco::Tuple; +using Poco::Any; +using Poco::AnyCast; +using Poco::NotFoundException; +using Poco::InvalidAccessException; +using Poco::BadCastException; +using Poco::RangeException; + + +struct Person +{ + std::string lastName; + std::string firstName; + std::string address; + int age; + Person(){age = 0;} + Person(const std::string& ln, const std::string& fn, const std::string& adr, int a):lastName(ln), firstName(fn), address(adr), age(a) + { + } + bool operator==(const Person& other) const + { + return lastName == other.lastName && firstName == other.firstName && address == other.address && age == other.age; + } + + bool operator < (const Person& p) const + { + if (age < p.age) + return true; + if (lastName < p.lastName) + return true; + if (firstName < p.firstName) + return true; + return (address < p.address); + } + + const std::string& operator () () const + /// This method is required so we can extract data to a map! + { + // we choose the lastName as examplary key + return lastName; + } +}; + + +namespace Poco { +namespace Data { + + +template <> +class TypeHandler +{ +public: + static void bind(std::size_t pos, const Person& obj, AbstractBinder* pBinder, AbstractBinder::Direction dir) + { + // the table is defined as Person (LastName VARCHAR(30), FirstName VARCHAR, Address VARCHAR, Age INTEGER(3)) + poco_assert_dbg (pBinder != 0); + pBinder->bind(pos++, obj.lastName, dir); + pBinder->bind(pos++, obj.firstName, dir); + pBinder->bind(pos++, obj.address, dir); + pBinder->bind(pos++, obj.age, dir); + } + + static void prepare(std::size_t pos, Person& obj, AbstractPreparator* pPrepare) + { + // the table is defined as Person (LastName VARCHAR(30), FirstName VARCHAR, Address VARCHAR, Age INTEGER(3)) + poco_assert_dbg (pPrepare != 0); + pPrepare->prepare(pos++, obj.lastName); + pPrepare->prepare(pos++, obj.firstName); + pPrepare->prepare(pos++, obj.address); + pPrepare->prepare(pos++, obj.age); + } + + static std::size_t size() + { + return 4; + } + + static void extract(std::size_t pos, Person& obj, const Person& defVal, AbstractExtractor* pExt) + { + poco_assert_dbg (pExt != 0); + if (!pExt->extract(pos++, obj.lastName)) + obj.lastName = defVal.lastName; + if (!pExt->extract(pos++, obj.firstName)) + obj.firstName = defVal.firstName; + if (!pExt->extract(pos++, obj.address)) + obj.address = defVal.address; + if (!pExt->extract(pos++, obj.age)) + obj.age = defVal.age; + } + +private: + TypeHandler(); + ~TypeHandler(); + TypeHandler(const TypeHandler&); + TypeHandler& operator=(const TypeHandler&); +}; + + +} } // namespace Poco::Data + + +SQLExecutor::SQLExecutor(const std::string& name, Poco::Data::Session* pSession): + CppUnit::TestCase(name), + _pSession(pSession) +{ +} + + +SQLExecutor::~SQLExecutor() +{ +} + + +void SQLExecutor::bareboneMySQLTest(const char* host, const char* user, const char* pwd, const char* db, int port, const char* tableCreateString) +{ + int rc; + MYSQL* hsession = mysql_init(0); + assert (hsession != 0); + + MYSQL* tmp = mysql_real_connect(hsession, host, user, pwd, db, port, 0, 0); + assert(tmp == hsession); + + MYSQL_STMT* hstmt = mysql_stmt_init(hsession); + assert(hstmt != 0); + + std::string sql = "DROP TABLE Test"; + mysql_real_query(hsession, sql.c_str(), static_cast(sql.length())); + + sql = tableCreateString; + rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); + assert(rc == 0); + + rc = mysql_stmt_execute(hstmt); + assert(rc == 0); + + sql = "INSERT INTO Test VALUES (?,?,?,?,?)"; + rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); + assert(rc == 0); + + std::string str[3] = { "111", "222", "333" }; + int fourth = 4; + float fifth = 1.5; + + MYSQL_BIND bind_param[5] = {{0}}; + + bind_param[0].buffer = const_cast(str[0].c_str()); + bind_param[0].buffer_length = static_cast(str[0].length()); + bind_param[0].buffer_type = MYSQL_TYPE_STRING; + + bind_param[1].buffer = const_cast(str[1].c_str()); + bind_param[1].buffer_length = static_cast(str[1].length()); + bind_param[1].buffer_type = MYSQL_TYPE_STRING; + + bind_param[2].buffer = const_cast(str[2].c_str()); + bind_param[2].buffer_length = static_cast(str[2].length()); + bind_param[2].buffer_type = MYSQL_TYPE_STRING; + + bind_param[3].buffer = &fourth; + bind_param[3].buffer_type = MYSQL_TYPE_LONG; + + bind_param[4].buffer = &fifth; + bind_param[4].buffer_type = MYSQL_TYPE_FLOAT; + + rc = mysql_stmt_bind_param(hstmt, bind_param); + assert (rc == 0); + + rc = mysql_stmt_execute(hstmt); + assert (rc == 0); + + sql = "SELECT * FROM Test"; + rc = mysql_stmt_prepare(hstmt, sql.c_str(), static_cast(sql.length())); + assert (rc == 0); + + char chr[3][5] = {{ 0 }}; + unsigned long lengths[5] = { 0 }; + fourth = 0; + fifth = 0.0f; + + MYSQL_BIND bind_result[5] = {{0}}; + + bind_result[0].buffer = chr[0]; + bind_result[0].buffer_length = sizeof(chr[0]); + bind_result[0].buffer_type = MYSQL_TYPE_STRING; + bind_result[0].length = &lengths[0]; + + bind_result[1].buffer = chr[1]; + bind_result[1].buffer_length = sizeof(chr[1]); + bind_result[1].buffer_type = MYSQL_TYPE_STRING; + bind_result[1].length = &lengths[1]; + + bind_result[2].buffer = chr[2]; + bind_result[2].buffer_length = sizeof(chr[2]); + bind_result[2].buffer_type = MYSQL_TYPE_STRING; + bind_result[2].length = &lengths[2]; + + bind_result[3].buffer = &fourth; + bind_result[3].buffer_type = MYSQL_TYPE_LONG; + bind_result[3].length = &lengths[3]; + + bind_result[4].buffer = &fifth; + bind_result[4].buffer_type = MYSQL_TYPE_FLOAT; + bind_result[4].length = &lengths[4]; + + rc = mysql_stmt_bind_result(hstmt, bind_result); + assert (rc == 0); + + rc = mysql_stmt_execute(hstmt); + assert (rc == 0); + rc = mysql_stmt_fetch(hstmt); + assert (rc == 0); + + assert (0 == std::strncmp("111", chr[0], 3)); + assert (0 == std::strncmp("222", chr[1], 3)); + assert (0 == std::strncmp("333", chr[2], 3)); + assert (4 == fourth); + assert (1.5 == fifth); + + rc = mysql_stmt_close(hstmt); + assert(rc == 0); + + sql = "DROP TABLE Test"; + rc = mysql_real_query(hsession, sql.c_str(), static_cast(sql.length())); + assert(rc == 0); + + mysql_close(hsession); +} + + +void SQLExecutor::simpleAccess() +{ + std::string funct = "simpleAccess()"; + std::string lastName = "lastName"; + std::string firstName("firstName"); + std::string address("Address"); + int age = 133132; + int count = 0; + std::string result; + + count = 0; + try + { + Statement stmt(*_pSession); + stmt << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(age);//, now; + stmt.execute(); + } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + assert (count == 1); + + try { *_pSession << "SELECT LastName FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (lastName == result); + + try { *_pSession << "SELECT Age FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == age); +} + + +void SQLExecutor::complexType() +{ + std::string funct = "complexType()"; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(p1), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(p2), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + Person c1; + Person c2; + try { *_pSession << "SELECT * FROM Person WHERE LastName = 'LN1'", into(c1), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (c1 == p1); +} + + +void SQLExecutor::simpleAccessVector() +{ + std::string funct = "simpleAccessVector()"; + std::vector lastNames; + std::vector firstNames; + std::vector addresses; + std::vector ages; + std::string tableName("Person"); + lastNames.push_back("LN1"); + lastNames.push_back("LN2"); + firstNames.push_back("FN1"); + firstNames.push_back("FN2"); + addresses.push_back("ADDR1"); + addresses.push_back("ADDR2"); + ages.push_back(1); + ages.push_back(2); + int count = 0; + std::string result; + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::vector lastNamesR; + std::vector firstNamesR; + std::vector addressesR; + std::vector agesR; + try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ages == agesR); + assert (lastNames == lastNamesR); + assert (firstNames == firstNamesR); + assert (addresses == addressesR); +} + + +void SQLExecutor::complexTypeVector() +{ + std::string funct = "complexTypeVector()"; + std::vector people; + people.push_back(Person("LN1", "FN1", "ADDR1", 1)); + people.push_back(Person("LN2", "FN2", "ADDR2", 2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::vector result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result == people); +} + + +void SQLExecutor::insertVector() +{ + std::string funct = "insertVector()"; + std::vector str; + str.push_back("s1"); + str.push_back("s2"); + str.push_back("s3"); + str.push_back("s3"); + int count = 100; + + { + Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(str))); + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 0); + + try { stmt.execute(); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 4); + } + count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 4); +} + + +void SQLExecutor::insertEmptyVector() +{ + std::string funct = "insertEmptyVector()"; + std::vector str; + + try + { + *_pSession << "INSERT INTO Strings VALUES (?)", use(str), now; + fail("empty collections should not work"); + } + catch (Poco::Exception&) + { + } +} + + +void SQLExecutor::insertSingleBulk() +{ + std::string funct = "insertSingleBulk()"; + int x = 0; + Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(x))); + + for (x = 0; x < 100; ++x) + { + std::size_t i = stmt.execute(); + assert (i == 0); + } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 100); + + try { *_pSession << "SELECT SUM(str) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == ((0+99)*100/2)); +} + + +void SQLExecutor::floats() +{ + std::string funct = "floats()"; + float data = 1.5f; + float ret = 0.0f; + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + try { *_pSession << "SELECT str FROM Strings", into(ret), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ret == data); +} + + +void SQLExecutor::doubles() +{ + std::string funct = "floats()"; + double data = 1.5; + double ret = 0.0; + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + try { *_pSession << "SELECT str FROM Strings", into(ret), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ret == data); +} + + +void SQLExecutor::insertSingleBulkVec() +{ + std::string funct = "insertSingleBulkVec()"; + std::vector data; + + for (int x = 0; x < 100; ++x) + data.push_back(x); + + Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(data))); + stmt.execute(); + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + assert (count == 100); + try { *_pSession << "SELECT SUM(str) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == ((0+99)*100/2)); +} + + +void SQLExecutor::limits() +{ + std::string funct = "limit()"; + std::vector data; + for (int x = 0; x < 100; ++x) + { + data.push_back(x); + } + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + std::vector retData; + try { *_pSession << "SELECT * FROM Strings", into(retData), limit(50), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (retData.size() == 50); + for (int x = 0; x < 50; ++x) + { + assert(data[x] == retData[x]); + } +} + + +void SQLExecutor::limitZero() +{ + std::string funct = "limitZero()"; + std::vector data; + for (int x = 0; x < 100; ++x) + { + data.push_back(x); + } + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + std::vector retData; + try { *_pSession << "SELECT * FROM Strings", into(retData), limit(0), now; }// stupid test, but at least we shouldn't crash + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (retData.size() == 0); +} + + +void SQLExecutor::limitOnce() +{ + std::string funct = "limitOnce()"; + std::vector data; + for (int x = 0; x < 101; ++x) + { + data.push_back(x); + } + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + std::vector retData; + Statement stmt = (*_pSession << "SELECT * FROM Strings", into(retData), limit(50), now); + assert (!stmt.done()); + assert (retData.size() == 50); + stmt.execute(); + assert (!stmt.done()); + assert (retData.size() == 100); + stmt.execute(); + assert (stmt.done()); + assert (retData.size() == 101); + + for (int x = 0; x < 101; ++x) + { + assert(data[x] == retData[x]); + } +} + + +void SQLExecutor::limitPrepare() +{ + std::string funct = "limitPrepare()"; + std::vector data; + for (int x = 0; x < 100; ++x) + { + data.push_back(x); + } + + try { *_pSession << "INSERT INTO Strings VALUES (?)", use(data), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + std::vector retData; + Statement stmt = (*_pSession << "SELECT * FROM Strings", into(retData), limit(50)); + assert (retData.size() == 0); + assert (!stmt.done()); + + try { stmt.execute(); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (!stmt.done()); + assert (retData.size() == 50); + + try { stmt.execute(); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (stmt.done()); + assert (retData.size() == 100); + + try { stmt.execute(); }// will restart execution! + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (!stmt.done()); + assert (retData.size() == 150); + for (int x = 0; x < 150; ++x) + { + assert(data[x%100] == retData[x]); + } +} + + + +void SQLExecutor::prepare() +{ + std::string funct = "prepare()"; + std::vector data; + for (int x = 0; x < 100; x += 2) + { + data.push_back(x); + } + + { + Statement stmt((*_pSession << "INSERT INTO Strings VALUES (?)", use(data))); + } + // stmt should not have been executed when destroyed + int count = 100; + try { *_pSession << "SELECT COUNT(*) FROM Strings", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 0); +} + + +void SQLExecutor::setSimple() +{ + std::string funct = "setSimple()"; + std::set lastNames; + std::set firstNames; + std::set addresses; + std::set ages; + std::string tableName("Person"); + lastNames.insert("LN1"); + lastNames.insert("LN2"); + firstNames.insert("FN1"); + firstNames.insert("FN2"); + addresses.insert("ADDR1"); + addresses.insert("ADDR2"); + ages.insert(1); + ages.insert(2); + int count = 0; + std::string result; + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::set lastNamesR; + std::set firstNamesR; + std::set addressesR; + std::set agesR; + try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ages == agesR); + assert (lastNames == lastNamesR); + assert (firstNames == firstNamesR); + assert (addresses == addressesR); +} + + +void SQLExecutor::setComplex() +{ + std::string funct = "setComplex()"; + std::set people; + people.insert(Person("LN1", "FN1", "ADDR1", 1)); + people.insert(Person("LN2", "FN2", "ADDR2", 2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::set result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result == people); +} + + +void SQLExecutor::setComplexUnique() +{ + std::string funct = "setComplexUnique()"; + std::vector people; + Person p1("LN1", "FN1", "ADDR1", 1); + people.push_back(p1); + people.push_back(p1); + people.push_back(p1); + people.push_back(p1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.push_back(p2); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 5); + + std::set result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == 2); + assert (*result.begin() == p1); + assert (*++result.begin() == p2); +} + +void SQLExecutor::multiSetSimple() +{ + std::string funct = "multiSetSimple()"; + std::multiset lastNames; + std::multiset firstNames; + std::multiset addresses; + std::multiset ages; + std::string tableName("Person"); + lastNames.insert("LN1"); + lastNames.insert("LN2"); + firstNames.insert("FN1"); + firstNames.insert("FN2"); + addresses.insert("ADDR1"); + addresses.insert("ADDR2"); + ages.insert(1); + ages.insert(2); + int count = 0; + std::string result; + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::multiset lastNamesR; + std::multiset firstNamesR; + std::multiset addressesR; + std::multiset agesR; + try { *_pSession << "SELECT * FROM Person", into(lastNamesR), into(firstNamesR), into(addressesR), into(agesR), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ages.size() == agesR.size()); + assert (lastNames.size() == lastNamesR.size()); + assert (firstNames.size() == firstNamesR.size()); + assert (addresses.size() == addressesR.size()); +} + + +void SQLExecutor::multiSetComplex() +{ + std::string funct = "multiSetComplex()"; + std::multiset people; + Person p1("LN1", "FN1", "ADDR1", 1); + people.insert(p1); + people.insert(p1); + people.insert(p1); + people.insert(p1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(p2); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 5); + + std::multiset result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == people.size()); +} + + +void SQLExecutor::mapComplex() +{ + std::string funct = "mapComplex()"; + std::map people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN2", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + + std::map result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result == people); +} + + +void SQLExecutor::mapComplexUnique() +{ + std::string funct = "mapComplexUnique()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN2", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 5); + + std::map result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == 2); +} + + +void SQLExecutor::multiMapComplex() +{ + std::string funct = "multiMapComplex()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN2", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 5); + + std::multimap result; + try { *_pSession << "SELECT * FROM Person", into(result), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == people.size()); +} + + +void SQLExecutor::selectIntoSingle() +{ + std::string funct = "selectIntoSingle()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try { *_pSession << "SELECT * FROM Person", into(result), limit(1), now; }// will return 1 object into one single result + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result == p1); +} + + +void SQLExecutor::selectIntoSingleStep() +{ + std::string funct = "selectIntoSingleStep()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); + stmt.execute(); + assert (result == p1); + assert (!stmt.done()); + stmt.execute(); + assert (result == p2); + assert (stmt.done()); +} + + +void SQLExecutor::selectIntoSingleFail() +{ + std::string funct = "selectIntoSingleFail()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), limit(2, true), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try + { + *_pSession << "SELECT * FROM Person", into(result), limit(1, true), now; // will fail now + fail("hardLimit is set: must fail"); + } + catch(Poco::Data::LimitException&) + { + } +} + + +void SQLExecutor::lowerLimitOk() +{ + std::string funct = "lowerLimitOk()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try + { + *_pSession << "SELECT * FROM Person", into(result), lowerLimit(2), now; // will return 2 objects into one single result but only room for one! + fail("Not enough space for results"); + } + catch(Poco::Exception&) + { + } +} + + +void SQLExecutor::singleSelect() +{ + std::string funct = "singleSelect()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); + stmt.execute(); + assert (result == p1); + assert (!stmt.done()); + stmt.execute(); + assert (result == p2); + assert (stmt.done()); +} + + +void SQLExecutor::lowerLimitFail() +{ + std::string funct = "lowerLimitFail()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try + { + *_pSession << "SELECT * FROM Person", into(result), lowerLimit(3), now; // will fail + fail("should fail. not enough data"); + } + catch(Poco::Exception&) + { + } +} + + +void SQLExecutor::combinedLimits() +{ + std::string funct = "combinedLimits()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + std::vector result; + try { *_pSession << "SELECT * FROM Person", into(result), lowerLimit(2), upperLimit(2), now; }// will return 2 objects + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == 2); + assert (result[0] == p1); + assert (result[1] == p2); +} + + + +void SQLExecutor::ranges() +{ + std::string funct = "range()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + std::vector result; + try { *_pSession << "SELECT * FROM Person", into(result), range(2, 2), now; }// will return 2 objects + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (result.size() == 2); + assert (result[0] == p1); + assert (result[1] == p2); +} + + +void SQLExecutor::combinedIllegalLimits() +{ + std::string funct = "combinedIllegalLimits()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try + { + *_pSession << "SELECT * FROM Person", into(result), lowerLimit(3), upperLimit(2), now; + fail("lower > upper is not allowed"); + } + catch(LimitException&) + { + } +} + + +void SQLExecutor::illegalRange() +{ + std::string funct = "illegalRange()"; + std::multimap people; + Person p1("LN1", "FN1", "ADDR1", 1); + Person p2("LN2", "FN2", "ADDR2", 2); + people.insert(std::make_pair("LN1", p1)); + people.insert(std::make_pair("LN1", p2)); + + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(people), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 2); + Person result; + try + { + *_pSession << "SELECT * FROM Person", into(result), range(3, 2), now; + fail("lower > upper is not allowed"); + } + catch(LimitException&) + { + } +} + + +void SQLExecutor::emptyDB() +{ + std::string funct = "emptyDB()"; + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 0); + + Person result; + Statement stmt = (*_pSession << "SELECT * FROM Person", into(result), limit(1)); + stmt.execute(); + assert (result.firstName.empty()); + assert (stmt.done()); +} + + +void SQLExecutor::blob(int bigSize) +{ + std::string funct = "blob()"; + std::string lastName("lastname"); + std::string firstName("firstname"); + std::string address("Address"); + + Poco::Data::CLOB img("0123456789", 10); + int count = 0; + try { *_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(img), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + Poco::Data::CLOB res; + assert (res.size() == 0); + try { *_pSession << "SELECT Image FROM Person", into(res), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (res == img); + + Poco::Data::CLOB big; + std::vector v(bigSize, 'x'); + big.assignRaw(&v[0], (std::size_t) v.size()); + + assert (big.size() == (std::size_t) bigSize); + + try { *_pSession << "DELETE FROM Person", now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "INSERT INTO Person VALUES(?,?,?,?)", use(lastName), use(firstName), use(address), use(big), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try { *_pSession << "SELECT Image FROM Person", into(res), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (res == big); +} + +void SQLExecutor::blobStmt() +{ + std::string funct = "blobStmt()"; + std::string lastName("lastname"); + std::string firstName("firstname"); + std::string address("Address"); + Poco::Data::CLOB blob("0123456789", 10); + + int count = 0; + Statement ins = (*_pSession << "INSERT INTO Person VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(blob)); + ins.execute(); + try { *_pSession << "SELECT COUNT(*) FROM Person", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + Poco::Data::CLOB res; + poco_assert (res.size() == 0); + Statement stmt = (*_pSession << "SELECT Image FROM Person", into(res)); + try { stmt.execute(); } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + poco_assert (res == blob); +} + +void SQLExecutor::tuples() +{ + typedef Tuple TupleType; + std::string funct = "tuples()"; + TupleType t(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); + + try { *_pSession << "INSERT INTO Tuples VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", use(t), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + TupleType ret(-10,-11,-12,-13,-14,-15,-16,-17,-18,-19); + assert (ret != t); + try { *_pSession << "SELECT * FROM Tuples", into(ret), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ret == t); +} + +void SQLExecutor::tupleVector() +{ + typedef Tuple TupleType; + std::string funct = "tupleVector()"; + TupleType t(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); + Tuple + t10(10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29); + TupleType t100(100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119); + std::vector v; + v.push_back(t); + v.push_back(t10); + v.push_back(t100); + + try { *_pSession << "INSERT INTO Tuples VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", use(v), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Tuples", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (v.size() == (std::size_t) count); + + std::vector > ret; + try { *_pSession << "SELECT * FROM Tuples", into(ret), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (ret == v); +} + + +void SQLExecutor::internalExtraction() +{ + /*std::string funct = "internalExtraction()"; + std::vector > v; + v.push_back(Tuple(1, 1.5f, "3")); + v.push_back(Tuple(2, 2.5f, "4")); + v.push_back(Tuple(3, 3.5f, "5")); + v.push_back(Tuple(4, 4.5f, "6")); + + try { *_pSession << "INSERT INTO Vectors VALUES (?,?,?)", use(v), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + try + { + Statement stmt = (*_pSession << "SELECT * FROM Vectors", now); + RecordSet rset(stmt); + + assert (3 == rset.columnCount()); + assert (4 == rset.rowCount()); + + int curVal = 3; + do + { + assert (rset["str0"] == curVal); + ++curVal; + } while (rset.moveNext()); + + rset.moveFirst(); + assert (rset["str0"] == "3"); + rset.moveLast(); + assert (rset["str0"] == "6"); + + RecordSet rset2(rset); + assert (3 == rset2.columnCount()); + assert (4 == rset2.rowCount()); + + int i = rset.value(0,0); + assert (1 == i); + + std::string s = rset.value(0,0); + assert ("1" == s); + + int a = rset.value(0,2); + assert (3 == a); + + try + { + double d = rset.value(1,1); + assert (2.5 == d); + } + catch (BadCastException&) + { + float f = rset.value(1,1); + assert (2.5 == f); + } + + s = rset.value(2,2); + assert ("5" == s); + i = rset.value("str0", 2); + assert (5 == i); + + const Column& col = rset.column(0); + Column::Iterator it = col.begin(); + Column::Iterator end = col.end(); + for (int i = 1; it != end; ++it, ++i) + assert (*it == i); + + rset = (*_pSession << "SELECT COUNT(*) AS cnt FROM Vectors", now); + + //various results for COUNT(*) are received from different drivers + try + { + //this is what most drivers will return + int i = rset.value(0,0); + assert (4 == i); + } + catch(BadCastException&) + { + try + { + //this is for Oracle + double i = rset.value(0,0); + assert (4 == int(i)); + } + catch(BadCastException&) + { + //this is for PostgreSQL + Poco::Int64 big = rset.value(0,0); + assert (4 == big); + } + } + + s = rset.value("cnt", 0).convert(); + assert ("4" == s); + + try { const Column& col1 = rset.column(100); fail ("must fail"); } + catch (RangeException&) { } + + try { rset.value(0,0); fail ("must fail"); } + catch (BadCastException&) { } + + stmt = (*_pSession << "DELETE FROM Vectors", now); + rset = stmt; + + try { const Column& col1 = rset.column(0); fail ("must fail"); } + catch (RangeException&) { } + } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } +*/ +} + + +void SQLExecutor::doNull() +{ + std::string funct = "null()"; + + *_pSession << "INSERT INTO Vectors VALUES (?, ?, ?)", + use(Poco::Data::Keywords::null), + use(Poco::Data::Keywords::null), + use(Poco::Data::Keywords::null), now; + + int count = 0; + try { *_pSession << "SELECT COUNT(*) FROM Vectors", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + int i0 = 0; + Statement stmt1 = (*_pSession << "SELECT i0 FROM Vectors", into(i0, Poco::Data::Position(0), -1)); + try { stmt1.execute(); } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + poco_assert (i0 == -1); + + float flt0 = 0; + Statement stmt2 = (*_pSession << "SELECT flt0 FROM Vectors", into(flt0, Poco::Data::Position(0), 3.25f)); + try { stmt2.execute(); } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + poco_assert (flt0 == 3.25); + + std::string str0("string"); + Statement stmt3 = (*_pSession << "SELECT str0 FROM Vectors", into(str0, Poco::Data::Position(0), std::string("DEFAULT"))); + try { stmt3.execute(); } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + poco_assert (str0 == "DEFAULT"); +} + + +void SQLExecutor::setTransactionIsolation(Session& session, Poco::UInt32 ti) +{ + if (session.hasTransactionIsolation(ti)) + { + std::string funct = "setTransactionIsolation()"; + + try + { + Transaction t(session, false); + t.setIsolation(ti); + + assert (ti == t.getIsolation()); + assert (t.isIsolation(ti)); + + assert (ti == session.getTransactionIsolation()); + assert (session.isTransactionIsolation(ti)); + } + catch(Poco::Exception& e){ std::cout << funct << ':' << e.displayText() << std::endl;} + } + else + { + std::cout << "Transaction isolation not supported: "; + switch (ti) + { + case Session::TRANSACTION_READ_COMMITTED: + std::cout << "READ COMMITTED"; break; + case Session::TRANSACTION_READ_UNCOMMITTED: + std::cout << "READ UNCOMMITTED"; break; + case Session::TRANSACTION_REPEATABLE_READ: + std::cout << "REPEATABLE READ"; break; + case Session::TRANSACTION_SERIALIZABLE: + std::cout << "SERIALIZABLE"; break; + default: + std::cout << "UNKNOWN"; break; + } + std::cout << std::endl; + } +} + + +void SQLExecutor::sessionTransaction(const std::string& connect) +{ + if (!_pSession->canTransact()) + { + std::cout << "Session not capable of transactions." << std::endl; + return; + } + + Session local("mysql", connect); + local.setFeature("autoCommit", true); + + std::string funct = "transaction()"; + std::vector lastNames; + std::vector firstNames; + std::vector addresses; + std::vector ages; + std::string tableName("Person"); + lastNames.push_back("LN1"); + lastNames.push_back("LN2"); + firstNames.push_back("FN1"); + firstNames.push_back("FN2"); + addresses.push_back("ADDR1"); + addresses.push_back("ADDR2"); + ages.push_back(1); + ages.push_back(2); + int count = 0, locCount = 0; + std::string result; + + bool autoCommit = _pSession->getFeature("autoCommit"); + + _pSession->setFeature("autoCommit", true); + assert (!_pSession->isTransaction()); + _pSession->setFeature("autoCommit", false); + assert (!_pSession->isTransaction()); + + setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_UNCOMMITTED); + setTransactionIsolation((*_pSession), Session::TRANSACTION_REPEATABLE_READ); + setTransactionIsolation((*_pSession), Session::TRANSACTION_SERIALIZABLE); + + setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_COMMITTED); + + _pSession->begin(); + assert (_pSession->isTransaction()); + try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (_pSession->isTransaction()); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + assert (_pSession->isTransaction()); + _pSession->rollback(); + assert (!_pSession->isTransaction()); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (0 == count); + assert (!_pSession->isTransaction()); + + _pSession->begin(); + try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (_pSession->isTransaction()); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + _pSession->commit(); + assert (!_pSession->isTransaction()); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (2 == locCount); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + + _pSession->setFeature("autoCommit", autoCommit); +} + + +void SQLExecutor::transaction(const std::string& connect) +{ + if (!_pSession->canTransact()) + { + std::cout << "Session not transaction-capable." << std::endl; + return; + } + + Session local("mysql", connect); + local.setFeature("autoCommit", true); + + setTransactionIsolation((*_pSession), Session::TRANSACTION_READ_COMMITTED); + setTransactionIsolation(local, Session::TRANSACTION_READ_COMMITTED); + + std::string funct = "transaction()"; + std::vector lastNames; + std::vector firstNames; + std::vector addresses; + std::vector ages; + std::string tableName("Person"); + lastNames.push_back("LN1"); + lastNames.push_back("LN2"); + firstNames.push_back("FN1"); + firstNames.push_back("FN2"); + addresses.push_back("ADDR1"); + addresses.push_back("ADDR2"); + ages.push_back(1); + ages.push_back(2); + int count = 0, locCount = 0; + std::string result; + + bool autoCommit = _pSession->getFeature("autoCommit"); + + _pSession->setFeature("autoCommit", true); + assert (!_pSession->isTransaction()); + _pSession->setFeature("autoCommit", false); + assert (!_pSession->isTransaction()); + _pSession->setTransactionIsolation(Session::TRANSACTION_READ_COMMITTED); + + { + Transaction trans((*_pSession)); + assert (trans.isActive()); + assert (_pSession->isTransaction()); + + try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + assert (_pSession->isTransaction()); + assert (trans.isActive()); + + try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + assert (_pSession->isTransaction()); + assert (trans.isActive()); + } + assert (!_pSession->isTransaction()); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (0 == count); + assert (!_pSession->isTransaction()); + + { + Transaction trans((*_pSession)); + try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastNames), use(firstNames), use(addresses), use(ages), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + assert (_pSession->isTransaction()); + assert (trans.isActive()); + trans.commit(); + assert (!_pSession->isTransaction()); + assert (!trans.isActive()); + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (2 == locCount); + } + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + + _pSession->begin(); + try { (*_pSession) << "DELETE FROM PERSON", now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (2 == locCount); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (0 == count); + _pSession->commit(); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + std::string sql1 = format("INSERT INTO PERSON VALUES ('%s','%s','%s',%d)", lastNames[0], firstNames[0], addresses[0], ages[0]); + std::string sql2 = format("INSERT INTO PERSON VALUES ('%s','%s','%s',%d)", lastNames[1], firstNames[1], addresses[1], ages[1]); + std::vector sql; + sql.push_back(sql1); + sql.push_back(sql2); + + Transaction trans((*_pSession)); + + trans.execute(sql1, false); + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (1 == count); + trans.execute(sql2, false); + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + trans.rollback(); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (0 == locCount); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (0 == count); + + trans.execute(sql); + + local << "SELECT COUNT(*) FROM PERSON", into(locCount), now; + assert (2 == locCount); + + try { (*_pSession) << "SELECT count(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (2 == count); + + _pSession->setFeature("autoCommit", autoCommit); +} + + +void SQLExecutor::reconnect() +{ + std::string funct = "reconnect()"; + std::string lastName = "lastName"; + std::string firstName("firstName"); + std::string address("Address"); + int age = 133132; + int count = 0; + std::string result; + + try { (*_pSession) << "INSERT INTO PERSON VALUES (?,?,?,?)", use(lastName), use(firstName), use(address), use(age), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + + count = 0; + try { (*_pSession) << "SELECT COUNT(*) FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == 1); + + assert (_pSession->isConnected()); + _pSession->close(); + assert (!_pSession->isConnected()); + try + { + (*_pSession) << "SELECT LastName FROM PERSON", into(result), now; + fail ("must fail"); + } + catch(NotConnectedException&){ } + assert (!_pSession->isConnected()); + + _pSession->open(); + assert (_pSession->isConnected()); + try { (*_pSession) << "SELECT Age FROM PERSON", into(count), now; } + catch(ConnectionException& ce){ std::cout << ce.displayText() << std::endl; fail (funct); } + catch(StatementException& se){ std::cout << se.displayText() << std::endl; fail (funct); } + assert (count == age); + assert (_pSession->isConnected()); +} diff --git a/Data/ODBC/Makefile b/Data/ODBC/Makefile index b6f0ede24..7689f1373 100644 --- a/Data/ODBC/Makefile +++ b/Data/ODBC/Makefile @@ -1,51 +1,51 @@ -# -# Makefile -# -# $Id: //poco/Main/Data/ODBC/Makefile#2 $ -# -# Makefile for Poco ODBC -# -# For Unicode support, add following to COMMONFLAGS: -# -# -DUNICODE -# -# Unicode is supported only for UnixODBC -# - -include $(POCO_BASE)/build/rules/global - -ifeq ($(POCO_CONFIG),MinGW) -# Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib -else -ifeq (0, $(shell test -e /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?)) -SYSLIBS += -lodbc -lodbcinst -COMMONFLAGS += -DPOCO_UNIXODBC -else -ifeq (0, $(shell test -h /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?)) -SYSLIBS += -lodbc -lodbcinst -COMMONFLAGS += -DPOCO_UNIXODBC -else -ifeq (0, $(shell test -e /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?)) -SYSLIBS += -liodbc -liodbcinst -COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc -else -ifeq (0, $(shell test -h /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?)) -SYSLIBS += -liodbc -liodbcinst -I/usr/include/iodbc -COMMONFLAGS += -DPOCO_IODBC -else -$(error No ODBC library found. Please install unixODBC or iODBC and try again) -endif -endif -endif -endif -endif - -objects = Binder ConnectionHandle Connector EnvironmentHandle \ - Extractor ODBCMetaColumn ODBCException ODBCStatementImpl \ - Parameter Preparator SessionImpl TypeInfo Unicode Utility - -target = PocoDataODBC -target_version = $(LIBVERSION) -target_libs = PocoData PocoFoundation - -include $(POCO_BASE)/build/rules/lib +# +# Makefile +# +# $Id: //poco/Main/Data/ODBC/Makefile#2 $ +# +# Makefile for Poco ODBC +# +# For Unicode support, add following to COMMONFLAGS: +# +# -DUNICODE +# +# Unicode is supported only for UnixODBC +# + +include $(POCO_BASE)/build/rules/global + +ifeq ($(POCO_CONFIG),MinGW) +# Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib +else +ifeq (0, $(shell test -e /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?)) +SYSLIBS += -lodbc -lodbcinst +COMMONFLAGS += -DPOCO_UNIXODBC +else +ifeq (0, $(shell test -h /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?)) +SYSLIBS += -lodbc -lodbcinst +COMMONFLAGS += -DPOCO_UNIXODBC +else +ifeq (0, $(shell test -e /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?)) +SYSLIBS += -liodbc -liodbcinst +COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc +else +ifeq (0, $(shell test -h /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?)) +SYSLIBS += -liodbc -liodbcinst -I/usr/include/iodbc +COMMONFLAGS += -DPOCO_IODBC +else +$(error No ODBC library found. Please install unixODBC or iODBC and try again) +endif +endif +endif +endif +endif + +objects = Binder ConnectionHandle Connector EnvironmentHandle \ + Extractor ODBCMetaColumn ODBCException ODBCStatementImpl \ + Parameter Preparator SessionImpl TypeInfo Unicode Utility + +target = PocoDataODBC +target_version = $(LIBVERSION) +target_libs = PocoData PocoFoundation + +include $(POCO_BASE)/build/rules/lib diff --git a/Data/ODBC/ODBC.progen b/Data/ODBC/ODBC.progen index 3a1d7535e..e0bbb72fb 100644 --- a/Data/ODBC/ODBC.progen +++ b/Data/ODBC/ODBC.progen @@ -1,17 +1,17 @@ -vc.project.guid = 1B29820D-375F-11DB-837B-00123FC423B5 -vc.project.name = ODBC -vc.project.target = PocoDataODBC -vc.project.type = library -vc.project.pocobase = ..\\.. -vc.project.outdir = ${vc.project.pocobase} -vc.project.platforms = Win32, x64 -vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md -vc.project.prototype = ${vc.project.name}_vs90.vcproj -vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Data\\include -vc.project.compiler.defines = THREADSAFE -vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS -vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} -vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} -vc.project.linker.dependencies = odbc32.lib odbccp32.lib -vc.solution.create = true -vc.solution.include = testsuite\\TestSuite +vc.project.guid = 1B29820D-375F-11DB-837B-00123FC423B5 +vc.project.name = ODBC +vc.project.target = PocoDataODBC +vc.project.type = library +vc.project.pocobase = ..\\.. +vc.project.outdir = ${vc.project.pocobase} +vc.project.platforms = Win32, x64 +vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md +vc.project.prototype = ${vc.project.name}_vs90.vcproj +vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Data\\include +vc.project.compiler.defines = THREADSAFE +vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS +vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared} +vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared} +vc.project.linker.dependencies = odbc32.lib odbccp32.lib +vc.solution.create = true +vc.solution.include = testsuite\\TestSuite diff --git a/Data/ODBC/ODBC_VS71.sln b/Data/ODBC/ODBC_VS71.sln index 8c0d6e0a8..216fd90fd 100644 --- a/Data/ODBC/ODBC_VS71.sln +++ b/Data/ODBC/ODBC_VS71.sln @@ -1,42 +1,42 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS71.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS71.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - debug_shared = debug_shared - debug_static = debug_static - release_shared = release_shared - release_static = release_static - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static.Build.0 = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS71.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS71.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + debug_shared = debug_shared + debug_static = debug_static + release_shared = release_shared + release_static = release_static + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static.Build.0 = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared.ActiveCfg = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared.Build.0 = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static.ActiveCfg = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static.Build.0 = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared.ActiveCfg = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared.Build.0 = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static.ActiveCfg = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/Data/ODBC/ODBC_VS71.vcproj b/Data/ODBC/ODBC_VS71.vcproj index c8a8d09e5..922eb93e2 100644 --- a/Data/ODBC/ODBC_VS71.vcproj +++ b/Data/ODBC/ODBC_VS71.vcproj @@ -1,465 +1,465 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/ODBC/ODBC_VS80.sln b/Data/ODBC/ODBC_VS80.sln index 069590a10..3b77eec99 100644 --- a/Data/ODBC/ODBC_VS80.sln +++ b/Data/ODBC/ODBC_VS80.sln @@ -1,38 +1,38 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C++ Express 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS80.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual C++ Express 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS80.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS80.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/ODBC/ODBC_VS80.vcproj b/Data/ODBC/ODBC_VS80.vcproj index baf5eb67c..394dde1d7 100644 --- a/Data/ODBC/ODBC_VS80.vcproj +++ b/Data/ODBC/ODBC_VS80.vcproj @@ -1,573 +1,573 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/ODBC/ODBC_VS90.sln b/Data/ODBC/ODBC_VS90.sln index 3777c4f77..89871d18a 100644 --- a/Data/ODBC/ODBC_VS90.sln +++ b/Data/ODBC/ODBC_VS90.sln @@ -1,38 +1,38 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" - ProjectSection(ProjectDependencies) = postProject - {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS90.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_static|Win32 = debug_static|Win32 - release_shared|Win32 = release_shared|Win32 - release_static|Win32 = release_static|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_VS90.vcproj", "{1B30A91B-375F-11DB-837B-00123FC423B5}" + ProjectSection(ProjectDependencies) = postProject + {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_VS90.vcproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_static|Win32 = debug_static|Win32 + release_shared|Win32 = release_shared|Win32 + release_static|Win32 = release_static|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {1B30A91B-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.ActiveCfg = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static|Win32.Build.0 = debug_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.ActiveCfg = release_static|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static|Win32.Build.0 = release_static|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/ODBC/ODBC_VS90.vcproj b/Data/ODBC/ODBC_VS90.vcproj index 6cf128bec..c41fb6e96 100644 --- a/Data/ODBC/ODBC_VS90.vcproj +++ b/Data/ODBC/ODBC_VS90.vcproj @@ -1,567 +1,567 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Data/ODBC/ODBC_vs100.sln b/Data/ODBC/ODBC_vs100.sln index 008eb88af..fac6ffe58 100644 --- a/Data/ODBC/ODBC_vs100.sln +++ b/Data/ODBC/ODBC_vs100.sln @@ -1,90 +1,90 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_vs100.vcxproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{00627063-395B-4413-9099-23BDB56562FA}" - ProjectSection(ProjectDependencies) = postProject - {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - debug_shared|Win32 = debug_shared|Win32 - debug_shared|x64 = debug_shared|x64 - debug_static_md|Win32 = debug_static_md|Win32 - debug_static_md|x64 = debug_static_md|x64 - debug_static_mt|Win32 = debug_static_mt|Win32 - debug_static_mt|x64 = debug_static_mt|x64 - release_shared|Win32 = release_shared|Win32 - release_shared|x64 = release_shared|x64 - release_static_md|Win32 = release_static_md|Win32 - release_static_md|x64 = release_static_md|x64 - release_static_mt|Win32 = release_static_mt|Win32 - release_static_mt|x64 = release_static_mt|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|x64.Build.0 = debug_shared|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|x64.ActiveCfg = release_shared|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|x64.Build.0 = release_shared|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|x64.Build.0 = release_static_md|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|x64.Build.0 = release_static_mt|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.Build.0 = debug_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|x64.ActiveCfg = debug_shared|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|x64.Build.0 = debug_shared|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|x64.Build.0 = debug_static_md|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 - {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.ActiveCfg = release_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.Build.0 = release_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.Deploy.0 = release_shared|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_shared|x64.ActiveCfg = release_shared|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_shared|x64.Build.0 = release_shared|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.Build.0 = release_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|x64.ActiveCfg = release_static_md|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|x64.Build.0 = release_static_md|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 - {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|x64.Build.0 = release_static_mt|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ODBC", "ODBC_vs100.vcxproj", "{1B29820D-375F-11DB-837B-00123FC423B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{00627063-395B-4413-9099-23BDB56562FA}" + ProjectSection(ProjectDependencies) = postProject + {1B29820D-375F-11DB-837B-00123FC423B5} = {1B29820D-375F-11DB-837B-00123FC423B5} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + debug_shared|Win32 = debug_shared|Win32 + debug_shared|x64 = debug_shared|x64 + debug_static_md|Win32 = debug_static_md|Win32 + debug_static_md|x64 = debug_static_md|x64 + debug_static_mt|Win32 = debug_static_mt|Win32 + debug_static_mt|x64 = debug_static_mt|x64 + release_shared|Win32 = release_shared|Win32 + release_shared|x64 = release_shared|x64 + release_static_md|Win32 = release_static_md|Win32 + release_static_md|x64 = release_static_md|x64 + release_static_mt|Win32 = release_static_mt|Win32 + release_static_mt|x64 = release_static_mt|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_shared|x64.Build.0 = debug_shared|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Build.0 = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|x64.ActiveCfg = release_shared|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_shared|x64.Build.0 = release_shared|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_md|x64.Build.0 = release_static_md|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {1B29820D-375F-11DB-837B-00123FC423B5}.release_static_mt|x64.Build.0 = release_static_mt|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.ActiveCfg = debug_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.Build.0 = debug_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|Win32.Deploy.0 = debug_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|x64.ActiveCfg = debug_shared|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_shared|x64.Build.0 = debug_shared|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.Build.0 = debug_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|x64.ActiveCfg = debug_static_md|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_md|x64.Build.0 = debug_static_md|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64 + {00627063-395B-4413-9099-23BDB56562FA}.debug_static_mt|x64.Build.0 = debug_static_mt|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.ActiveCfg = release_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.Build.0 = release_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_shared|Win32.Deploy.0 = release_shared|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_shared|x64.ActiveCfg = release_shared|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_shared|x64.Build.0 = release_shared|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.ActiveCfg = release_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.Build.0 = release_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|Win32.Deploy.0 = release_static_md|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|x64.ActiveCfg = release_static_md|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_md|x64.Build.0 = release_static_md|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.Build.0 = release_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|x64.ActiveCfg = release_static_mt|x64 + {00627063-395B-4413-9099-23BDB56562FA}.release_static_mt|x64.Build.0 = release_static_mt|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Data/ODBC/ODBC_vs100.vcxproj b/Data/ODBC/ODBC_vs100.vcxproj index b1da06b68..45be7a218 100644 --- a/Data/ODBC/ODBC_vs100.vcxproj +++ b/Data/ODBC/ODBC_vs100.vcxproj @@ -1,561 +1,561 @@ - - - - - debug_shared - Win32 - - - debug_shared - x64 - - - debug_static_md - Win32 - - - debug_static_md - x64 - - - debug_static_mt - Win32 - - - debug_static_mt - x64 - - - release_shared - Win32 - - - release_shared - x64 - - - release_static_md - Win32 - - - release_static_md - x64 - - - release_static_mt - Win32 - - - release_static_mt - x64 - - - - ODBC - {1B29820D-375F-11DB-837B-00123FC423B5} - ODBC - Win32Proj - - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - StaticLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - ..\..\bin\ - ..\..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - true - true - ..\..\bin\ - ..\..\bin\ - obj\$(Configuration)\ - obj\$(Configuration)\ - false - false - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - ..\..\lib\ - ..\..\lib\ - obj\$(Configuration)\ - obj\$(Configuration)\ - PocoDataODBCd - PocoDataODBCd - PocoDataODBCmdd - PocoDataODBCmdd - PocoDataODBCmtd - PocoDataODBCmtd - PocoDataODBC - PocoDataODBC - PocoDataODBCmd - PocoDataODBCmd - PocoDataODBCmt - PocoDataODBCmt - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataODBCd.dll - true - true - ..\..\bin\PocoDataODBCd.pdb - ..\..\lib;%(AdditionalLibraryDirectories) - Console - ..\..\lib\PocoDataODBCd.lib - MachineX86 - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataODBCd.dll - true - true - ..\..\bin\PocoDataODBCd.pdb - ..\..\lib;%(AdditionalLibraryDirectories) - Console - ..\..\lib\PocoDataODBCd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataODBC.dll - true - false - ..\..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\..\lib\PocoDataODBC.lib - MachineX86 - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\bin\PocoDataODBC.dll - true - false - ..\..\lib;%(AdditionalLibraryDirectories) - Console - true - true - ..\..\lib\PocoDataODBC.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - ..\..\lib\PocoDataODBCmtd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmtd.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - true - true - true - true - - - ..\..\lib\PocoDataODBCmtd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmtd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - Level3 - - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmt.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - MultiThreaded - false - true - true - true - - - Level3 - - - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmt.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - ..\..\lib\PocoDataODBCmdd.pdb - Level3 - EditAndContinue - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmdd.lib - - - - - Disabled - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - true - true - true - true - - - ..\..\lib\PocoDataODBCmdd.pdb - Level3 - ProgramDatabase - Default - %(DisableSpecificWarnings) - - - ..\..\lib\PocoDataODBCmdd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - ..\..\lib\PocoDataODBCmd.pdb - Level3 - - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\lib\PocoDataODBCmd.lib - - - - - Disabled - OnlyExplicitInline - true - Speed - true - .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - true - true - - - ..\..\lib\PocoDataODBCmd.pdb - Level3 - - - Default - %(DisableSpecificWarnings) - - - odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - ..\..\lib\PocoDataODBCmd.lib - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + debug_shared + Win32 + + + debug_shared + x64 + + + debug_static_md + Win32 + + + debug_static_md + x64 + + + debug_static_mt + Win32 + + + debug_static_mt + x64 + + + release_shared + Win32 + + + release_shared + x64 + + + release_static_md + Win32 + + + release_static_md + x64 + + + release_static_mt + Win32 + + + release_static_mt + x64 + + + + ODBC + {1B29820D-375F-11DB-837B-00123FC423B5} + ODBC + Win32Proj + + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + StaticLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ..\..\bin\ + ..\..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + true + true + ..\..\bin\ + ..\..\bin\ + obj\$(Configuration)\ + obj\$(Configuration)\ + false + false + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + ..\..\lib\ + ..\..\lib\ + obj\$(Configuration)\ + obj\$(Configuration)\ + PocoDataODBCd + PocoDataODBCd + PocoDataODBCmdd + PocoDataODBCmdd + PocoDataODBCmtd + PocoDataODBCmtd + PocoDataODBC + PocoDataODBC + PocoDataODBCmd + PocoDataODBCmd + PocoDataODBCmt + PocoDataODBCmt + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataODBCd.dll + true + true + ..\..\bin\PocoDataODBCd.pdb + ..\..\lib;%(AdditionalLibraryDirectories) + Console + ..\..\lib\PocoDataODBCd.lib + MachineX86 + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataODBCd.dll + true + true + ..\..\bin\PocoDataODBCd.pdb + ..\..\lib;%(AdditionalLibraryDirectories) + Console + ..\..\lib\PocoDataODBCd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataODBC.dll + true + false + ..\..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\..\lib\PocoDataODBC.lib + MachineX86 + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;THREADSAFE;ODBC_EXPORTS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\bin\PocoDataODBC.dll + true + false + ..\..\lib;%(AdditionalLibraryDirectories) + Console + true + true + ..\..\lib\PocoDataODBC.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + ..\..\lib\PocoDataODBCmtd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmtd.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + true + true + true + true + + + ..\..\lib\PocoDataODBCmtd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmtd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + Level3 + + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmt.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + true + true + + + Level3 + + + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmt.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + ..\..\lib\PocoDataODBCmdd.pdb + Level3 + EditAndContinue + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmdd.lib + + + + + Disabled + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + true + true + true + true + + + ..\..\lib\PocoDataODBCmdd.pdb + Level3 + ProgramDatabase + Default + %(DisableSpecificWarnings) + + + ..\..\lib\PocoDataODBCmdd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + ..\..\lib\PocoDataODBCmd.pdb + Level3 + + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\lib\PocoDataODBCmd.lib + + + + + Disabled + OnlyExplicitInline + true + Speed + true + .\include;..\..\Foundation\include;..\..\Data\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;POCO_STATIC;THREADSAFE;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + true + true + + + ..\..\lib\PocoDataODBCmd.pdb + Level3 + + + Default + %(DisableSpecificWarnings) + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\lib\PocoDataODBCmd.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Data/ODBC/ODBC_vs100.vcxproj.filters b/Data/ODBC/ODBC_vs100.vcxproj.filters index 100cbad7a..32cc25c09 100644 --- a/Data/ODBC/ODBC_vs100.vcxproj.filters +++ b/Data/ODBC/ODBC_vs100.vcxproj.filters @@ -1,111 +1,111 @@ - - - - - {db5f4f77-bbb7-453a-8e73-2ea3605a3f6e} - - - {23ed131f-6343-4cf5-b23f-2b53b3282630} - - - {0614dd35-c076-4922-9c14-658e427e6189} - - - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - ODBC\Header Files - - - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - - ODBC\Source Files - - + + + + + {db5f4f77-bbb7-453a-8e73-2ea3605a3f6e} + + + {23ed131f-6343-4cf5-b23f-2b53b3282630} + + + {0614dd35-c076-4922-9c14-658e427e6189} + + + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + ODBC\Header Files + + + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + + ODBC\Source Files + + \ No newline at end of file diff --git a/Data/ODBC/include/Poco/Data/ODBC/Binder.h b/Data/ODBC/include/Poco/Data/ODBC/Binder.h index 98a818764..8478b1893 100644 --- a/Data/ODBC/include/Poco/Data/ODBC/Binder.h +++ b/Data/ODBC/include/Poco/Data/ODBC/Binder.h @@ -1,1390 +1,1390 @@ -// -// Binder.h -// -// $Id: //poco/Main/Data/ODBC/include/Poco/Data/ODBC/Binder.h#5 $ -// -// Library: ODBC -// Package: ODBC -// Module: Binder -// -// Definition of the Binder class. -// -// Copyright (c) 2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// Permission is hereby granted, free of charge, to any person or organization -// obtaining a copy of the software and accompanying documentation covered by -// this license (the "Software") to use, reproduce, display, distribute, -// execute, and transmit the Software, and to prepare derivative works of the -// Software, and to permit third-parties to whom the Software is furnished to -// do so, all subject to the following: -// -// The copyright notices in the Software and this entire statement, including -// the above license grant, this restriction and the following disclaimer, -// must be included in all copies of the Software, in whole or in part, and -// all derivative works of the Software, unless such copies or derivative -// works are solely in the form of machine-executable object code generated by -// a source language processor. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - - -#ifndef Data_ODBC_Binder_INCLUDED -#define Data_ODBC_Binder_INCLUDED - - -#include "Poco/Data/ODBC/ODBC.h" -#include "Poco/Data/AbstractBinder.h" -#include "Poco/Data/LOB.h" -#include "Poco/Data/ODBC/Handle.h" -#include "Poco/Data/ODBC/Parameter.h" -#include "Poco/Data/ODBC/ODBCMetaColumn.h" -#include "Poco/Data/ODBC/Utility.h" -#include "Poco/Data/ODBC/TypeInfo.h" -#include "Poco/Exception.h" -#include -#include -#include -#include -#ifdef POCO_OS_FAMILY_WINDOWS -#include -#endif -#include - - -namespace Poco { - - -class DateTime; - - -namespace Data { - - -class Date; -class Time; - - -namespace ODBC { - - -class ODBC_API Binder: public Poco::Data::AbstractBinder - /// Binds placeholders in the sql query to the provided values. Performs data types mapping. -{ -public: - typedef AbstractBinder::Direction Direction; - typedef std::map ParamMap; - - static const size_t DEFAULT_PARAM_SIZE = 1024; - - enum ParameterBinding - { - PB_IMMEDIATE, - PB_AT_EXEC - }; - - Binder(const StatementHandle& rStmt, - std::size_t maxFieldSize, - ParameterBinding dataBinding = PB_IMMEDIATE, - TypeInfo* pDataTypes = 0); - /// Creates the Binder. - - ~Binder(); - /// Destroys the Binder. - - void bind(std::size_t pos, const Poco::Int8& val, Direction dir); - /// Binds an Int8. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an Int8 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an Int8 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an Int8 list. - - void bind(std::size_t pos, const Poco::UInt8& val, Direction dir); - /// Binds an UInt8. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an UInt8 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an UInt8 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an UInt8 list. - - void bind(std::size_t pos, const Poco::Int16& val, Direction dir); - /// Binds an Int16. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an Int16 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an Int16 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an Int16 list. - - void bind(std::size_t pos, const Poco::UInt16& val, Direction dir); - /// Binds an UInt16. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an UInt16 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an UInt16 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an UInt16 list. - - void bind(std::size_t pos, const Poco::Int32& val, Direction dir); - /// Binds an Int32. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an Int32 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an Int32 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an Int32 list. - - void bind(std::size_t pos, const Poco::UInt32& val, Direction dir); - /// Binds an UInt32. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an UInt32 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an UInt32 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an UInt32 list. - - void bind(std::size_t pos, const Poco::Int64& val, Direction dir); - /// Binds an Int64. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an Int64 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an Int64 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an Int64 list. - - void bind(std::size_t pos, const Poco::UInt64& val, Direction dir); - /// Binds an UInt64. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds an UInt64 vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds an UInt64 deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds an UInt64 list. - -#ifndef POCO_LONG_IS_64_BIT - void bind(std::size_t pos, const long& val, Direction dir); - /// Binds a long. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a long vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a long deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a long list. -#endif - - void bind(std::size_t pos, const bool& val, Direction dir); - /// Binds a boolean. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a boolean vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a boolean deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a boolean list. - - void bind(std::size_t pos, const float& val, Direction dir); - /// Binds a float. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a float vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a float deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a float list. - - void bind(std::size_t pos, const double& val, Direction dir); - /// Binds a double. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a double vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a double deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a double list. - - void bind(std::size_t pos, const char& val, Direction dir); - /// Binds a single character. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a character vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a character deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a character list. - - void bind(std::size_t pos, const std::string& val, Direction dir); - /// Binds a string. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a string vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a string deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a string list. - - void bind(std::size_t pos, const BLOB& val, Direction dir); - /// Binds a BLOB. In-bound only. - - void bind(std::size_t pos, const CLOB& val, Direction dir); - /// Binds a CLOB. In-bound only. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a BLOB vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a BLOB deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a BLOB list. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a CLOB vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a CLOB deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a CLOB list. - - void bind(std::size_t pos, const Date& val, Direction dir); - /// Binds a Date. - - void bind(std::size_t pos, const std::vector& val, Direction dir); - /// Binds a Date vector. - - void bind(std::size_t pos, const std::deque& val, Direction dir); - /// Binds a Date deque. - - void bind(std::size_t pos, const std::list& val, Direction dir); - /// Binds a Date list. - - void bind(std::size_t pos, const Time& val, Direction dir); - /// Binds a Time. - - void bind(std::size_t pos, const std::vector