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