Index: ch.vc140.sln =================================================================== diff -u -re2054db3fa2be3652ca376a318d49dbaba8539ed -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- ch.vc140.sln (.../ch.vc140.sln) (revision e2054db3fa2be3652ca376a318d49dbaba8539ed) +++ ch.vc140.sln (.../ch.vc140.sln) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,208 +1,262 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ch", "src\ch\ch.vc140.vcxproj", "{4B215B9A-58CA-4987-AC95-7DFC3043E100}" - ProjectSection(ProjectDependencies) = postProject - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} = {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chext", "src\chext\chext.vc140.vcxproj", "{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}" - ProjectSection(ProjectDependencies) = postProject - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libictranslate", "src\libictranslate\libictranslate.vc140.vcxproj", "{DD1F3242-7EE4-4F41-8B8D-D833300C445F}" - ProjectSection(ProjectDependencies) = postProject - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ictranslate", "src\ictranslate\ictranslate.vc140.vcxproj", "{B0292250-B70C-4395-9859-F181FB113DA8}" - ProjectSection(ProjectDependencies) = postProject - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchcore", "src\libchcore\libchcore.vc140.vcxproj", "{CBBF380B-7B16-4A1E-8194-758DAD7D8011}" - ProjectSection(ProjectDependencies) = postProject - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "ext\sqlite3\sqlite3.vc140.vcxproj", "{D41831F5-B2A5-4C92-9F15-1D9AB04722CC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "ext\googletest\gmock.vc140.vcxproj", "{D98F2D98-2352-4303-93EE-A5430C4E98AB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblogger", "src\liblogger\liblogger.vc140.vcxproj", "{DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ext", "ext", "{0E7F04BC-F111-4174-A665-F58CDF142934}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regchext", "src\regchext\regchext.vcxproj", "{767D21BE-A123-46CD-B5D6-E01714E2A981}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - Testing Debug|Win32 = Testing Debug|Win32 - Testing Debug|x64 = Testing Debug|x64 - Testing Release|Win32 = Testing Release|Win32 - Testing Release|x64 = Testing Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.ActiveCfg = Debug|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.Build.0 = Debug|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.ActiveCfg = Debug|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.Build.0 = Debug|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.ActiveCfg = Release|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.Build.0 = Release|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.ActiveCfg = Release|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.Build.0 = Release|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.Build.0 = Testing Release|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.ActiveCfg = Debug|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.Build.0 = Debug|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.ActiveCfg = Debug|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.Build.0 = Debug|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.ActiveCfg = Release|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.Build.0 = Release|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.ActiveCfg = Release|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.Build.0 = Release|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.Build.0 = Testing Release|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.ActiveCfg = Debug|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.Build.0 = Debug|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.ActiveCfg = Debug|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.Build.0 = Debug|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.ActiveCfg = Release|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.Build.0 = Release|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.ActiveCfg = Release|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.Build.0 = Release|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.Build.0 = Testing Release|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.ActiveCfg = Debug|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.Build.0 = Debug|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.ActiveCfg = Debug|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.Build.0 = Debug|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.ActiveCfg = Release|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.Build.0 = Release|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.ActiveCfg = Release|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.Build.0 = Release|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.Build.0 = Testing Release|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.ActiveCfg = Debug|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.Build.0 = Debug|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.ActiveCfg = Debug|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.Build.0 = Debug|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.ActiveCfg = Release|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.Build.0 = Release|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.ActiveCfg = Release|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.Build.0 = Release|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.Build.0 = Testing Release|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|Win32.ActiveCfg = Debug|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|Win32.Build.0 = Debug|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|x64.ActiveCfg = Debug|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|x64.Build.0 = Debug|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|Win32.ActiveCfg = Release|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|Win32.Build.0 = Release|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|x64.ActiveCfg = Release|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|x64.Build.0 = Release|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|x64.Build.0 = Testing Release|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|Win32.ActiveCfg = Debug|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|Win32.Build.0 = Debug|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|x64.ActiveCfg = Debug|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|x64.Build.0 = Debug|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|Win32.ActiveCfg = Release|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|Win32.Build.0 = Release|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|x64.ActiveCfg = Release|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|x64.Build.0 = Release|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.Build.0 = Testing Release|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|Win32.ActiveCfg = Debug|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|Win32.Build.0 = Debug|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|x64.ActiveCfg = Debug|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|x64.Build.0 = Debug|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|Win32.ActiveCfg = Release|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|Win32.Build.0 = Release|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|x64.ActiveCfg = Release|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|x64.Build.0 = Release|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|x64.Build.0 = Testing Release|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|Win32.ActiveCfg = Debug|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|Win32.Build.0 = Debug|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|x64.ActiveCfg = Debug|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|x64.Build.0 = Debug|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|Win32.ActiveCfg = Release|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|Win32.Build.0 = Release|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|x64.ActiveCfg = Release|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|x64.Build.0 = Release|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|x64.Build.0 = Testing Debug|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|Win32.Build.0 = Testing Release|Win32 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|x64.ActiveCfg = Testing Release|x64 - {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|x64.Build.0 = Testing Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {D41831F5-B2A5-4C92-9F15-1D9AB04722CC} = {0E7F04BC-F111-4174-A665-F58CDF142934} - {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {0E7F04BC-F111-4174-A665-F58CDF142934} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ch", "src\ch\ch.vc140.vcxproj", "{4B215B9A-58CA-4987-AC95-7DFC3043E100}" + ProjectSection(ProjectDependencies) = postProject + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} = {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chext", "src\chext\chext.vc140.vcxproj", "{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}" + ProjectSection(ProjectDependencies) = postProject + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libictranslate", "src\libictranslate\libictranslate.vc140.vcxproj", "{DD1F3242-7EE4-4F41-8B8D-D833300C445F}" + ProjectSection(ProjectDependencies) = postProject + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ictranslate", "src\ictranslate\ictranslate.vc140.vcxproj", "{B0292250-B70C-4395-9859-F181FB113DA8}" + ProjectSection(ProjectDependencies) = postProject + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchcore", "src\libchcore\libchcore.vc140.vcxproj", "{CBBF380B-7B16-4A1E-8194-758DAD7D8011}" + ProjectSection(ProjectDependencies) = postProject + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "ext\sqlite3\sqlite3.vc140.vcxproj", "{D41831F5-B2A5-4C92-9F15-1D9AB04722CC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "ext\googletest\gmock.vc140.vcxproj", "{D98F2D98-2352-4303-93EE-A5430C4E98AB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblogger", "src\liblogger\liblogger.vc140.vcxproj", "{DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ext", "ext", "{0E7F04BC-F111-4174-A665-F58CDF142934}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "regchext", "src\regchext\regchext.vcxproj", "{767D21BE-A123-46CD-B5D6-E01714E2A981}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchengine", "src\libchengine\libchengine.vcxproj", "{6840F785-917F-46EE-BD56-C296C7A5B9E9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libstring", "src\libstring\libstring.vcxproj", "{5BD38175-9F48-417D-8E5B-7093B1873CE5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libserializer", "src\libserializer\libserializer.vcxproj", "{9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + Testing Debug|Win32 = Testing Debug|Win32 + Testing Debug|x64 = Testing Debug|x64 + Testing Release|Win32 = Testing Release|Win32 + Testing Release|x64 = Testing Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.ActiveCfg = Debug|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.Build.0 = Debug|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.ActiveCfg = Debug|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.Build.0 = Debug|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.ActiveCfg = Release|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.Build.0 = Release|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.ActiveCfg = Release|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.Build.0 = Release|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.Build.0 = Testing Release|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.ActiveCfg = Debug|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.Build.0 = Debug|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.ActiveCfg = Debug|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.Build.0 = Debug|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.ActiveCfg = Release|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.Build.0 = Release|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.ActiveCfg = Release|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.Build.0 = Release|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.Build.0 = Testing Release|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.ActiveCfg = Debug|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.Build.0 = Debug|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.ActiveCfg = Debug|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.Build.0 = Debug|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.ActiveCfg = Release|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.Build.0 = Release|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.ActiveCfg = Release|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.Build.0 = Release|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.Build.0 = Testing Release|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.ActiveCfg = Debug|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.Build.0 = Debug|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.ActiveCfg = Debug|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.Build.0 = Debug|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.ActiveCfg = Release|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.Build.0 = Release|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.ActiveCfg = Release|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.Build.0 = Release|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.Build.0 = Testing Release|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.ActiveCfg = Debug|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.Build.0 = Debug|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.ActiveCfg = Debug|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.Build.0 = Debug|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.ActiveCfg = Release|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.Build.0 = Release|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.ActiveCfg = Release|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.Build.0 = Release|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.Build.0 = Testing Release|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|Win32.ActiveCfg = Debug|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|Win32.Build.0 = Debug|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|x64.ActiveCfg = Debug|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Debug|x64.Build.0 = Debug|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|Win32.ActiveCfg = Release|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|Win32.Build.0 = Release|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|x64.ActiveCfg = Release|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Release|x64.Build.0 = Release|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC}.Testing Release|x64.Build.0 = Testing Release|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|Win32.ActiveCfg = Debug|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|Win32.Build.0 = Debug|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|x64.ActiveCfg = Debug|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|x64.Build.0 = Debug|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|Win32.ActiveCfg = Release|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|Win32.Build.0 = Release|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|x64.ActiveCfg = Release|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|x64.Build.0 = Release|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.Build.0 = Testing Release|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|Win32.Build.0 = Debug|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|x64.ActiveCfg = Debug|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Debug|x64.Build.0 = Debug|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|Win32.ActiveCfg = Release|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|Win32.Build.0 = Release|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|x64.ActiveCfg = Release|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Release|x64.Build.0 = Release|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {DF9957D4-3D95-4AC3-AD3F-DCBEA058F79D}.Testing Release|x64.Build.0 = Testing Release|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|Win32.ActiveCfg = Debug|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|Win32.Build.0 = Debug|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|x64.ActiveCfg = Debug|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Debug|x64.Build.0 = Debug|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|Win32.ActiveCfg = Release|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|Win32.Build.0 = Release|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|x64.ActiveCfg = Release|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Release|x64.Build.0 = Release|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {767D21BE-A123-46CD-B5D6-E01714E2A981}.Testing Release|x64.Build.0 = Testing Release|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Debug|Win32.ActiveCfg = Debug|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Debug|Win32.Build.0 = Debug|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Debug|x64.ActiveCfg = Debug|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Debug|x64.Build.0 = Debug|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Release|Win32.ActiveCfg = Release|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Release|Win32.Build.0 = Release|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Release|x64.ActiveCfg = Release|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Release|x64.Build.0 = Release|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {6840F785-917F-46EE-BD56-C296C7A5B9E9}.Testing Release|x64.Build.0 = Testing Release|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Debug|Win32.ActiveCfg = Debug|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Debug|Win32.Build.0 = Debug|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Debug|x64.ActiveCfg = Debug|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Debug|x64.Build.0 = Debug|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Release|Win32.ActiveCfg = Release|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Release|Win32.Build.0 = Release|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Release|x64.ActiveCfg = Release|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Release|x64.Build.0 = Release|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {5BD38175-9F48-417D-8E5B-7093B1873CE5}.Testing Release|x64.Build.0 = Testing Release|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Debug|Win32.ActiveCfg = Debug|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Debug|Win32.Build.0 = Debug|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Debug|x64.ActiveCfg = Debug|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Debug|x64.Build.0 = Debug|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Release|Win32.ActiveCfg = Release|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Release|Win32.Build.0 = Release|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Release|x64.ActiveCfg = Release|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Release|x64.Build.0 = Release|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Debug|Win32.Build.0 = Testing Debug|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Debug|x64.ActiveCfg = Testing Debug|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Debug|x64.Build.0 = Testing Debug|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Release|Win32.ActiveCfg = Testing Release|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Release|Win32.Build.0 = Testing Release|Win32 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Release|x64.ActiveCfg = Testing Release|x64 + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7}.Testing Release|x64.Build.0 = Testing Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {D41831F5-B2A5-4C92-9F15-1D9AB04722CC} = {0E7F04BC-F111-4174-A665-F58CDF142934} + {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {0E7F04BC-F111-4174-A665-F58CDF142934} + EndGlobalSection + GlobalSection(DPCodeReviewSolutionGUID) = preSolution + DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} + EndGlobalSection +EndGlobal Index: scripts/jenkins/prepare-portable-package.bat =================================================================== diff -u -ra9d93c35d3ff0164cc6c0234feb5f598a168f86e -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- scripts/jenkins/prepare-portable-package.bat (.../prepare-portable-package.bat) (revision a9d93c35d3ff0164cc6c0234feb5f598a168f86e) +++ scripts/jenkins/prepare-portable-package.bat (.../prepare-portable-package.bat) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -15,6 +15,9 @@ xcopy "%WORKSPACE%\bin\release\chext.dll" "%TmpDir%\32bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\regchext.exe" "%TmpDir%\32bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\libchcore32u.dll" "%TmpDir%\32bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libchengine32u.dll" "%TmpDir%\32bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libserializer32u.dll" "%TmpDir%\32bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libstring32u.dll" "%TmpDir%\32bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\liblogger32u.dll" "%TmpDir%\32bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\libictranslate32u.dll" "%TmpDir%\32bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\ictranslate.exe" "%TmpDir%\32bit\" || exit /B 1 @@ -33,6 +36,9 @@ xcopy "%WORKSPACE%\bin\release\regchext64.exe" "%TmpDir%\64bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\libchcore64u.dll" "%TmpDir%\64bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\liblogger64u.dll" "%TmpDir%\64bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libchengine64u.dll" "%TmpDir%\64bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libserializer64u.dll" "%TmpDir%\64bit\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libstring64u.dll" "%TmpDir%\64bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\libictranslate64u.dll" "%TmpDir%\64bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\ictranslate64.exe" "%TmpDir%\64bit\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\sqlite3_64.dll" "%TmpDir%\64bit\" || exit /B 1 @@ -46,6 +52,9 @@ rem Prepare 32bit shell extension for 64bit build xcopy "%WORKSPACE%\bin\release\chext.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\libchcore32u.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libchengine32u.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libserializer32u.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 +xcopy "%WORKSPACE%\bin\release\libstring32u.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\liblogger32u.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 xcopy "%WORKSPACE%\bin\release\sqlite3_32.dll" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 xcopy "%VSInstallDirX86%\VC\redist\x86\Microsoft.VC120.CRT\*" "%TmpDir%\64bit\ShellExt32\" || exit /B 1 Index: scripts/setup.iss =================================================================== diff -u -r6ec02b46e99f231525621ac41aecd92f13a9b901 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- scripts/setup.iss (.../setup.iss) (revision 6ec02b46e99f231525621ac41aecd92f13a9b901) +++ scripts/setup.iss (.../setup.iss) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,192 +1,218 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! -#define SETUP_COMPILER 1 -#include "../src/common/version.h" -#define MyAppName PRODUCT_NAME -#define MyAppVerName PRODUCT_NAME + " " + PRODUCT_VERSION -#define MyAppPublisher "Józef Starosczyk" -#define MyAppURL "http://www.copyhandler.com" - -#define InstallerFilename "chsetup-" + PRODUCT_VERSION - -#define ExeFilename32 "ch.exe" -#define ExeFilename64 "ch64.exe" -#define ShellExtFilename32 "chext.dll" -#define ShellExtFilename64 "chext64.dll" -#define LibCHCoreFilename32 "libchcore32u.dll" -#define LibCHCoreFilename64 "libchcore64u.dll" -#define LibLoggerFilename32 "liblogger32u.dll" -#define LibLoggerFilename64 "liblogger64u.dll" -#define LibictranslateFilename32 "libictranslate32u.dll" -#define LibictranslateFilename64 "libictranslate64u.dll" -#define ICTranslateFilename32 "ictranslate.exe" -#define ICTranslateFilename64 "ictranslate64.exe" -#define SQLite32 "sqlite3_32.dll" -#define SQLite64 "sqlite3_64.dll" -#define RegCHExtFilename32 "regchext.exe" -#define RegCHExtFilename64 "regchext64.exe" -#define MSRedistDir32 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86" -#define MSRedistDir64 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64" -#define DbgHelp32 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x86" -#define DbgHelp64 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x64" - -[Setup] -AppName={#MyAppName} -AppVerName={#MyAppVerName} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={pf}\{#MyAppName} -DefaultGroupName={#MyAppName} -AllowNoIcons=true -LicenseFile=..\License.txt -OutputDir=.\ -OutputBaseFilename={#InstallerFilename} -Compression=lzma/ultra -SolidCompression=true -AppMutex=_Copy handler_ instance -ShowLanguageDialog=auto -AppID={{9CF6A157-F0E8-4216-B229-C0CA8204BE2C} -InternalCompressLevel=ultra -AppCopyright={#COPYRIGHT_INFO} -AppVersion={#PRODUCT_VERSION} -UninstallDisplayIcon={app}\{#ExeFilename32} -AppContact=ixen(at)copyhandler(dot)com -VersionInfoVersion= -VersionInfoTextVersion={#PRODUCT_VERSION} -VersionInfoCopyright={#COPYRIGHT_INFO} -ChangesEnvironment=true -ArchitecturesInstallIn64BitMode=x64 - -[Languages] -Name: "english"; MessagesFile: "compiler:Default.isl" -Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" -Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" -Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" -Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" -Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" -Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" -Name: "french"; MessagesFile: "compiler:Languages\French.isl" -Name: "german"; MessagesFile: "compiler:Languages\German.isl" -Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" -Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" -Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" -Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" -Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" -Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" -Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" -Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" -Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" -Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" -Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" -Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" - -[Tasks] -Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked -Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked -Name: startatboot; Description: {cm:StartAtBoot}; Flags: unchecked - -[Files] -Source: "..\bin\release\help\*.chm"; DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs createallsubdirs restartreplace uninsrestartdelete -Source: "..\bin\release\langs\*.lng"; DestDir: "{app}\langs"; Flags: ignoreversion recursesubdirs createallsubdirs restartreplace uninsrestartdelete -Source: "..\License.txt"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete - -; binaries - 32bit -Source: "..\bin\release\{#ExeFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#ShellExtFilename32}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: not Is64BitInstallMode -Source: "..\bin\release\{#RegCHExtFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#LibCHCoreFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#LibLoggerFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#LibictranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#ICTranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "..\bin\release\{#SQLite32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode - -Source: "{#MSRedistDir32}\Microsoft.VC120.CRT\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "{#MSRedistDir32}\Microsoft.VC120.MFC\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode -Source: "{#DbgHelp32}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode - -; binaries - 64bit -Source: "..\bin\release\{#ExeFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#ShellExtFilename64}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: Is64BitInstallMode -Source: "..\bin\release\{#RegCHExtFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#LibCHCoreFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#LibLoggerFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#LibictranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#ICTranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#SQLite64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode - -Source: "{#MSRedistDir64}\Microsoft.VC120.CRT\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "{#MSRedistDir64}\Microsoft.VC120.MFC\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "{#DbgHelp64}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode - -; binaries - 32bit shellext on 64bit system -Source: "..\bin\release\{#ShellExtFilename32}"; DestDir: "{app}\ShellExt32"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: Is64BitInstallMode -Source: "..\bin\release\{#LibCHCoreFilename32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#LibLoggerFilename32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "..\bin\release\{#SQLite32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode -Source: "{#MSRedistDir32}\Microsoft.VC120.CRT\*"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode - -; NOTE: Don't use "Flags: ignoreversion" on any shared system files -[Icons] -Name: {group}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; WorkingDir: {app} -Name: {group}\{cm:TranslateCopyHandler}; Filename: {app}\{code:ExpandArch|ICTranslateFilename}; Parameters: """{app}\langs\english.lng"""; WorkingDir: {app}\lang -Name: {group}\{cm:UninstallCopyHandler}; Filename: {uninstallexe}; WorkingDir: {app} -Name: {userdesktop}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: desktopicon; WorkingDir: {app} -Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: quicklaunchicon; WorkingDir: {app} - -[Run] -Filename: "{app}\{code:ExpandArch|ExeFilename}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#MyAppName}}" - -[Registry] -Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "Copy Handler"; Flags: deletevalue uninsdeletevalue -Root: "HKCU"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "Copy Handler"; Flags: uninsdeletevalue - -[Dirs] -Name: {app}\help; Flags: uninsalwaysuninstall -Name: {app}\langs; Flags: uninsalwaysuninstall - -[CustomMessages] -TranslateCopyHandler=Translate Copy Handler -polish.TranslateCopyHandler=Przetłumacz program Copy Handler -UninstallCopyHandler=Uninstall Copy Handler -polish.UninstallCopyHandler=Odinstaluj program Copy Handler -StartAtBoot=Run program at system startup -polish.StartAtBoot=Uruchom program przy starcie systemu - -[ThirdParty] -CompileLogMethod=append - -[Code] -function ExpandArch(ConstantStr: String): String; -begin - if Is64BitInstallMode then - begin - case ConstantStr of - 'ExeFilename': Result := '{#ExeFilename64}'; - 'ICTranslateFilename': Result := '{#ICTranslateFilename64}'; - end; - end - else - begin - case ConstantStr of - 'ExeFilename': Result := '{#ExeFilename32}'; - 'ICTranslateFilename': Result := '{#ICTranslateFilename32}'; - end; - end; -end; - -procedure CurStepChanged(CurStep: TSetupStep); -var - ResultCode: Integer; -begin - if CurStep = ssPostInstall then - begin - if IsTaskSelected('startatboot') then - ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=1', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) - else - ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=0', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) - end; -end; +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! +#define SETUP_COMPILER 1 +#include "../src/common/version.h" +#define MyAppName PRODUCT_NAME +#define MyAppVerName PRODUCT_NAME + " " + PRODUCT_VERSION +#define MyAppPublisher "Józef Starosczyk" +#define MyAppURL "http://www.copyhandler.com" + +#define InstallerFilename "chsetup-" + PRODUCT_VERSION + +#define ExeFilename32 "ch.exe" +#define ExeFilename64 "ch64.exe" + +#define ShellExtFilename32 "chext.dll" +#define ShellExtFilename64 "chext64.dll" + +#define LibCHCoreFilename32 "libchcore32u.dll" +#define LibCHCoreFilename64 "libchcore64u.dll" + +#define LibCHEngineFilename32 "libchengine32u.dll" +#define LibCHEngineFilename64 "libchengine64u.dll" + +#define LibSerializerFilename32 "libserializer32u.dll" +#define LibSerializerFilename64 "libserializer64u.dll" + +#define LibStringFilename32 "libstring32u.dll" +#define LibStringFilename64 "libstring64u.dll" + +#define LibLoggerFilename32 "liblogger32u.dll" +#define LibLoggerFilename64 "liblogger64u.dll" + +#define LibictranslateFilename32 "libictranslate32u.dll" +#define LibictranslateFilename64 "libictranslate64u.dll" + +#define ICTranslateFilename32 "ictranslate.exe" +#define ICTranslateFilename64 "ictranslate64.exe" + +#define SQLite32 "sqlite3_32.dll" +#define SQLite64 "sqlite3_64.dll" + +#define RegCHExtFilename32 "regchext.exe" +#define RegCHExtFilename64 "regchext64.exe" + +#define MSRedistDir32 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86" +#define MSRedistDir64 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64" +#define DbgHelp32 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x86" +#define DbgHelp64 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x64" + +[Setup] +AppName={#MyAppName} +AppVerName={#MyAppVerName} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DefaultGroupName={#MyAppName} +AllowNoIcons=true +LicenseFile=..\License.txt +OutputDir=.\ +OutputBaseFilename={#InstallerFilename} +Compression=lzma/ultra +SolidCompression=true +AppMutex=_Copy handler_ instance +ShowLanguageDialog=auto +AppID={{9CF6A157-F0E8-4216-B229-C0CA8204BE2C} +InternalCompressLevel=ultra +AppCopyright={#COPYRIGHT_INFO} +AppVersion={#PRODUCT_VERSION} +UninstallDisplayIcon={app}\{#ExeFilename32} +AppContact=ixen(at)copyhandler(dot)com +VersionInfoVersion= +VersionInfoTextVersion={#PRODUCT_VERSION} +VersionInfoCopyright={#COPYRIGHT_INFO} +ChangesEnvironment=true +ArchitecturesInstallIn64BitMode=x64 + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" +Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" +Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" +Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" +Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" +Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" +Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" +Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" +Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" +Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" + +[Tasks] +Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked +Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked +Name: startatboot; Description: {cm:StartAtBoot}; Flags: unchecked + +[Files] +Source: "..\bin\release\help\*.chm"; DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs createallsubdirs restartreplace uninsrestartdelete +Source: "..\bin\release\langs\*.lng"; DestDir: "{app}\langs"; Flags: ignoreversion recursesubdirs createallsubdirs restartreplace uninsrestartdelete +Source: "..\License.txt"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete + +; binaries - 32bit +Source: "..\bin\release\{#ExeFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#ShellExtFilename32}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: not Is64BitInstallMode +Source: "..\bin\release\{#RegCHExtFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibCHCoreFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibCHEngineFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibSerializerFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibStringFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibLoggerFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibictranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#ICTranslateFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#SQLite32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode + +Source: "{#MSRedistDir32}\Microsoft.VC120.CRT\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "{#MSRedistDir32}\Microsoft.VC120.MFC\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "{#DbgHelp32}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode + +; binaries - 64bit +Source: "..\bin\release\{#ExeFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#ShellExtFilename64}"; DestDir: "{app}"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: Is64BitInstallMode +Source: "..\bin\release\{#RegCHExtFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#LibCHCoreFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#LibCHEngineFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibSerializerFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibStringFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibLoggerFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#LibictranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#ICTranslateFilename64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#SQLite64}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode + +Source: "{#MSRedistDir64}\Microsoft.VC120.CRT\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "{#MSRedistDir64}\Microsoft.VC120.MFC\*"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "{#DbgHelp64}\dbghelp.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode + +; binaries - 32bit shellext on 64bit system +Source: "..\bin\release\{#ShellExtFilename32}"; DestDir: "{app}\ShellExt32"; Flags: restartreplace uninsrestartdelete regserver replacesameversion; Check: Is64BitInstallMode +Source: "..\bin\release\{#LibCHCoreFilename32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#LibCHEngineFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibSerializerFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibStringFilename32}"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: not Is64BitInstallMode +Source: "..\bin\release\{#LibLoggerFilename32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "..\bin\release\{#SQLite32}"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode +Source: "{#MSRedistDir32}\Microsoft.VC120.CRT\*"; DestDir: "{app}\ShellExt32"; Flags: ignoreversion restartreplace uninsrestartdelete; Check: Is64BitInstallMode + +; NOTE: Don't use "Flags: ignoreversion" on any shared system files +[Icons] +Name: {group}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; WorkingDir: {app} +Name: {group}\{cm:TranslateCopyHandler}; Filename: {app}\{code:ExpandArch|ICTranslateFilename}; Parameters: """{app}\langs\english.lng"""; WorkingDir: {app}\lang +Name: {group}\{cm:UninstallCopyHandler}; Filename: {uninstallexe}; WorkingDir: {app} +Name: {userdesktop}\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: desktopicon; WorkingDir: {app} +Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}; Filename: {app}\{code:ExpandArch|ExeFilename}; Tasks: quicklaunchicon; WorkingDir: {app} + +[Run] +Filename: "{app}\{code:ExpandArch|ExeFilename}"; Flags: nowait postinstall skipifsilent; Description: "{cm:LaunchProgram,{#MyAppName}}" + +[Registry] +Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "Copy Handler"; Flags: deletevalue uninsdeletevalue +Root: "HKCU"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "Copy Handler"; Flags: uninsdeletevalue + +[Dirs] +Name: {app}\help; Flags: uninsalwaysuninstall +Name: {app}\langs; Flags: uninsalwaysuninstall + +[CustomMessages] +TranslateCopyHandler=Translate Copy Handler +polish.TranslateCopyHandler=Przetłumacz program Copy Handler +UninstallCopyHandler=Uninstall Copy Handler +polish.UninstallCopyHandler=Odinstaluj program Copy Handler +StartAtBoot=Run program at system startup +polish.StartAtBoot=Uruchom program przy starcie systemu + +[ThirdParty] +CompileLogMethod=append + +[Code] +function ExpandArch(ConstantStr: String): String; +begin + if Is64BitInstallMode then + begin + case ConstantStr of + 'ExeFilename': Result := '{#ExeFilename64}'; + 'ICTranslateFilename': Result := '{#ICTranslateFilename64}'; + end; + end + else + begin + case ConstantStr of + 'ExeFilename': Result := '{#ExeFilename32}'; + 'ICTranslateFilename': Result := '{#ICTranslateFilename32}'; + end; + end; +end; + +procedure CurStepChanged(CurStep: TSetupStep); +var + ResultCode: Integer; +begin + if CurStep = ssPostInstall then + begin + if IsTaskSelected('startatboot') then + ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=1', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) + else + ExecAsOriginalUser(ExpandConstant('{app}\{code:ExpandArch|ExeFilename}'), '--EnableLaunchAtStartup=0', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) + end; +end; Index: src/ch/BufferSizeDlg.cpp =================================================================== diff -u -r5aac942a83e4a308ff401cca43be501b1bbdfb6a -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/BufferSizeDlg.cpp (.../BufferSizeDlg.cpp) (revision 5aac942a83e4a308ff401cca43be501b1bbdfb6a) +++ src/ch/BufferSizeDlg.cpp (.../BufferSizeDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -30,7 +30,7 @@ ///////////////////////////////////////////////////////////////////////////// // CBufferSizeDlg dialog -CBufferSizeDlg::CBufferSizeDlg(chcore::TBufferSizes* pInitialBufferSizes, chcore::TBufferSizes::EBufferType eSelectedBuffer) : +CBufferSizeDlg::CBufferSizeDlg(chengine::TBufferSizes* pInitialBufferSizes, chengine::TBufferSizes::EBufferType eSelectedBuffer) : ictranslate::CLanguageDialog(IDD_BUFFERSIZE_DIALOG), m_eSelectedBuffer(eSelectedBuffer) { @@ -114,23 +114,23 @@ // set focus to the requested control switch (m_eSelectedBuffer) { - case chcore::TBufferSizes::eBuffer_Default: + case chengine::TBufferSizes::eBuffer_Default: GetDlgItem(IDC_DEFAULTSIZE_EDIT)->SetFocus(); static_cast(GetDlgItem(IDC_DEFAULTSIZE_EDIT))->SetSel(0, -1); break; - case chcore::TBufferSizes::eBuffer_OneDisk: + case chengine::TBufferSizes::eBuffer_OneDisk: GetDlgItem(IDC_ONEDISKSIZE_EDIT)->SetFocus(); static_cast(GetDlgItem(IDC_ONEDISKSIZE_EDIT))->SetSel(0, -1); break; - case chcore::TBufferSizes::eBuffer_TwoDisks: + case chengine::TBufferSizes::eBuffer_TwoDisks: GetDlgItem(IDC_TWODISKSSIZE_EDIT)->SetFocus(); static_cast(GetDlgItem(IDC_TWODISKSSIZE_EDIT))->SetSel(0, -1); break; - case chcore::TBufferSizes::eBuffer_CD: + case chengine::TBufferSizes::eBuffer_CD: GetDlgItem(IDC_CDROMSIZE_EDIT)->SetFocus(); static_cast(GetDlgItem(IDC_CDROMSIZE_EDIT))->SetSel(0, -1); break; - case chcore::TBufferSizes::eBuffer_LAN: + case chengine::TBufferSizes::eBuffer_LAN: GetDlgItem(IDC_LANSIZE_EDIT)->SetFocus(); static_cast(GetDlgItem(IDC_LANSIZE_EDIT))->SetSel(0, -1); break; Index: src/ch/BufferSizeDlg.h =================================================================== diff -u -r5aac942a83e4a308ff401cca43be501b1bbdfb6a -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/BufferSizeDlg.h (.../BufferSizeDlg.h) (revision 5aac942a83e4a308ff401cca43be501b1bbdfb6a) +++ src/ch/BufferSizeDlg.h (.../BufferSizeDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,17 +19,17 @@ #ifndef __BUFFERSIZEDLG_H__ #define __BUFFERSIZEDLG_H__ -#include "../libchcore/TBufferSizes.h" - ///////////////////////////////////////////////////////////////////////////// // CBufferSizeDlg dialog +#include "../libchengine/TBufferSizes.h" + class CBufferSizeDlg : public ictranslate::CLanguageDialog { public: - explicit CBufferSizeDlg(chcore::TBufferSizes* pInitialBufferSizes, chcore::TBufferSizes::EBufferType eSelectedBuffer = chcore::TBufferSizes::eBuffer_Default); + explicit CBufferSizeDlg(chengine::TBufferSizes* pInitialBufferSizes, chengine::TBufferSizes::EBufferType eSelectedBuffer = chengine::TBufferSizes::eBuffer_Default); - const chcore::TBufferSizes& GetBufferSizes() const { return m_bsSizes; } + const chengine::TBufferSizes& GetBufferSizes() const { return m_bsSizes; } protected: void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support @@ -69,8 +69,8 @@ unsigned int m_uiMaxConcurrentReads = 0; unsigned int m_uiMaxConcurrentWrites = 0; - chcore::TBufferSizes::EBufferType m_eSelectedBuffer; - chcore::TBufferSizes m_bsSizes; + chengine::TBufferSizes::EBufferType m_eSelectedBuffer; + chengine::TBufferSizes m_bsSizes; }; #endif Index: src/ch/CfgProperties.h =================================================================== diff -u -r5aac942a83e4a308ff401cca43be501b1bbdfb6a -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/CfgProperties.h (.../CfgProperties.h) (revision 5aac942a83e4a308ff401cca43be501b1bbdfb6a) +++ src/ch/CfgProperties.h (.../CfgProperties.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -21,11 +21,9 @@ #pragma once -#include "../libchcore/TTaskConfiguration.h" #include "UpdateVersionInfo.h" +#include "../libchengine/TTaskConfiguration.h" -namespace chcore { class TConfig; } - // properties definitions enum ECHProperties { @@ -186,9 +184,9 @@ #define ADAPT_TASK_PROPERTY(enum_id, task_enum_id)\ template<> struct PropData\ {\ - typedef chcore::TaskPropData::value_type value_type;\ - static value_type GetDefaultValue() { return chcore::TaskPropData::GetDefaultValue(); }\ - static const wchar_t* GetPropertyName() { return chcore::TaskPropData::GetPropertyName(); }\ + typedef chengine::TaskPropData::value_type value_type;\ + static value_type GetDefaultValue() { return chengine::TaskPropData::GetDefaultValue(); }\ + static const wchar_t* GetPropertyName() { return chengine::TaskPropData::GetPropertyName(); }\ static const wchar_t* GetPropertyNamePrefix() { return BRANCH_TASK_SETTINGS _T("."); }\ } @@ -257,26 +255,26 @@ PROPERTY(PP_CMLIMITMAXOPERATIONS, unsigned int, _T("CHConfig.Core.Operation.LimitMaxOperations"), 1); // Task default settings (see TTaskConfiguration.h) -ADAPT_TASK_PROPERTY(PP_BFUSEONLYDEFAULT, chcore::eTO_UseOnlyDefaultBuffer); -ADAPT_TASK_PROPERTY(PP_BFDEFAULT, chcore::eTO_DefaultBufferSize); -ADAPT_TASK_PROPERTY(PP_BFONEDISK, chcore::eTO_OneDiskBufferSize); -ADAPT_TASK_PROPERTY(PP_BFTWODISKS, chcore::eTO_TwoDisksBufferSize); -ADAPT_TASK_PROPERTY(PP_BFCD, chcore::eTO_CDBufferSize); -ADAPT_TASK_PROPERTY(PP_BFLAN, chcore::eTO_LANBufferSize); -ADAPT_TASK_PROPERTY(PP_BFUSENOBUFFERING, chcore::eTO_DisableBuffering); -ADAPT_TASK_PROPERTY(PP_BFBOUNDARYLIMIT, chcore::eTO_DisableBufferingMinSize); -ADAPT_TASK_PROPERTY(PP_BFQUEUEDEPTH, chcore::eTO_BufferQueueDepth); -ADAPT_TASK_PROPERTY(PP_MAXREADAHEAD, chcore::eTO_MaxReadAheadBuffers); -ADAPT_TASK_PROPERTY(PP_MAXCONCURRENTREADS, chcore::eTO_MaxConcurrentReads); -ADAPT_TASK_PROPERTY(PP_MAXCONCURRENTWRITES, chcore::eTO_MaxConcurrentWrites); +ADAPT_TASK_PROPERTY(PP_BFUSEONLYDEFAULT, chengine::eTO_UseOnlyDefaultBuffer); +ADAPT_TASK_PROPERTY(PP_BFDEFAULT, chengine::eTO_DefaultBufferSize); +ADAPT_TASK_PROPERTY(PP_BFONEDISK, chengine::eTO_OneDiskBufferSize); +ADAPT_TASK_PROPERTY(PP_BFTWODISKS, chengine::eTO_TwoDisksBufferSize); +ADAPT_TASK_PROPERTY(PP_BFCD, chengine::eTO_CDBufferSize); +ADAPT_TASK_PROPERTY(PP_BFLAN, chengine::eTO_LANBufferSize); +ADAPT_TASK_PROPERTY(PP_BFUSENOBUFFERING, chengine::eTO_DisableBuffering); +ADAPT_TASK_PROPERTY(PP_BFBOUNDARYLIMIT, chengine::eTO_DisableBufferingMinSize); +ADAPT_TASK_PROPERTY(PP_BFQUEUEDEPTH, chengine::eTO_BufferQueueDepth); +ADAPT_TASK_PROPERTY(PP_MAXREADAHEAD, chengine::eTO_MaxReadAheadBuffers); +ADAPT_TASK_PROPERTY(PP_MAXCONCURRENTREADS, chengine::eTO_MaxConcurrentReads); +ADAPT_TASK_PROPERTY(PP_MAXCONCURRENTWRITES, chengine::eTO_MaxConcurrentWrites); -ADAPT_TASK_PROPERTY(PP_CMSETDESTATTRIBUTES, chcore::eTO_SetDestinationAttributes); -ADAPT_TASK_PROPERTY(PP_CMPROTECTROFILES, chcore::eTO_ProtectReadOnlyFiles); -ADAPT_TASK_PROPERTY(PP_CMREADSIZEBEFOREBLOCKING, chcore::eTO_ScanDirectoriesBeforeBlocking); -ADAPT_TASK_PROPERTY(PP_CMFASTMOVEBEFOREBLOCKING, chcore::eTO_FastMoveBeforeBlocking); -ADAPT_TASK_PROPERTY(PP_CMDEFAULTPRIORITY, chcore::eTO_ThreadPriority); -ADAPT_TASK_PROPERTY(PP_CMDISABLEPRIORITYBOOST, chcore::eTO_DisablePriorityBoost); -ADAPT_TASK_PROPERTY(PP_CMDELETEAFTERFINISHED, chcore::eTO_DeleteInSeparateSubTask); +ADAPT_TASK_PROPERTY(PP_CMSETDESTATTRIBUTES, chengine::eTO_SetDestinationAttributes); +ADAPT_TASK_PROPERTY(PP_CMPROTECTROFILES, chengine::eTO_ProtectReadOnlyFiles); +ADAPT_TASK_PROPERTY(PP_CMREADSIZEBEFOREBLOCKING, chengine::eTO_ScanDirectoriesBeforeBlocking); +ADAPT_TASK_PROPERTY(PP_CMFASTMOVEBEFOREBLOCKING, chengine::eTO_FastMoveBeforeBlocking); +ADAPT_TASK_PROPERTY(PP_CMDEFAULTPRIORITY, chengine::eTO_ThreadPriority); +ADAPT_TASK_PROPERTY(PP_CMDISABLEPRIORITYBOOST, chengine::eTO_DisablePriorityBoost); +ADAPT_TASK_PROPERTY(PP_CMDELETEAFTERFINISHED, chengine::eTO_DeleteInSeparateSubTask); PROPERTY(PP_USECUSTOMNAMING, bool, _T("CHConfig.Core.Naming.UseCustomNaming"), false); PROPERTY(PP_CUSTOMNAME_FIRST, CString, _T("CHConfig.Core.Naming.FirstCustomName"), _T("")); @@ -308,7 +306,7 @@ // Properties retrieval template -typename PropData::value_type GetPropValue(const chcore::TConfig& rConfig) +typename PropData::value_type GetPropValue(const chengine::TConfig& rConfig) { typename PropData::value_type tValue; if(!GetConfigValue(rConfig, CString(PropData::GetPropertyNamePrefix()) + PropData::GetPropertyName(), tValue)) @@ -317,7 +315,7 @@ } template -bool GetPropValue(const chcore::TConfig& rConfig, typename PropData::value_type& rValue) +bool GetPropValue(const chengine::TConfig& rConfig, typename PropData::value_type& rValue) { bool bResult = GetConfigValue(rConfig, CString(PropData::GetPropertyNamePrefix()) + PropData::GetPropertyName(), rValue); if(!bResult) @@ -327,7 +325,7 @@ } template -void SetPropValue(chcore::TConfig& rConfig, const typename PropData::value_type& rValue) +void SetPropValue(chengine::TConfig& rConfig, const typename PropData::value_type& rValue) { SetConfigValue(rConfig, CString(PropData::GetPropertyNamePrefix()) + PropData::GetPropertyName(), rValue); } Index: src/ch/ClipboardMonitor.cpp =================================================================== diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision 8068e0c351055554340ac9755d1bc846893bf2b8) +++ src/ch/ClipboardMonitor.cpp (.../ClipboardMonitor.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,207 +1,205 @@ -//****************************************************************************** -// Copyright (C) 2001-2008 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -/// @file ClipboardMonitor.cpp -/// @brief Contains the implementation of clipboard monitor package. -//****************************************************************************** -#include "stdafx.h" -#include "../libchcore/TWorkerThreadController.h" -#include "ClipboardMonitor.h" -#include "ch.h" -#include "../libchcore/TTaskManager.h" -#include "../libchcore/TTask.h" -#include "CfgProperties.h" -#include "FolderDialog.h" -#include "ShutdownDlg.h" -#include "DirectoryChooser.h" -#include "TTaskManagerWrapper.h" -#include "resource.h" - -using namespace chcore; - -CClipboardMonitor CClipboardMonitor::S_ClipboardMonitor; - -CClipboardMonitor::CClipboardMonitor() -{ -} - -CClipboardMonitor::~CClipboardMonitor() -{ - Stop(); -} - -void CClipboardMonitor::StartMonitor(chcore::TTaskManagerPtr spTasks) -{ - CClipboardMonitor::S_ClipboardMonitor.Start(spTasks); -} - -void CClipboardMonitor::StopMonitor() -{ - return CClipboardMonitor::S_ClipboardMonitor.Stop(); -} - -void CClipboardMonitor::Start(chcore::TTaskManagerPtr spTasks) -{ - m_spTasks = spTasks; - - m_threadWorker.StartThread(&CClipboardMonitor::ClipboardMonitorProc, this); -} - -void CClipboardMonitor::Stop() -{ - m_threadWorker.StopThread(); -} - -DWORD WINAPI CClipboardMonitor::ClipboardMonitorProc(LPVOID pParam) -{ - CClipboardMonitor* pData = (CClipboardMonitor*)pParam; - - // bufor - TCHAR path[_MAX_PATH]; - - // register clipboard format - UINT nFormat=RegisterClipboardFormat(_T("Preferred DropEffect")); - UINT uiCounter=0, uiShutCounter=0; - - chcore::TConfig& rConfig = GetConfig(); - for(;;) - { - if (uiCounter == 0 && GetPropValue(rConfig) && IsClipboardFormatAvailable(CF_HDROP)) - { - // get data from clipboard - OpenClipboard(nullptr); - HANDLE handle=GetClipboardData(CF_HDROP); - - UINT nCount=DragQueryFile(static_cast(handle), 0xffffffff, nullptr, 0); - - chcore::TTaskDefinition tTaskDefinition; - - // list of files - for(UINT stIndex = 0; stIndex < nCount; stIndex++) - { - DragQueryFile(static_cast(handle), stIndex, path, _MAX_PATH); - - tTaskDefinition.AddSourcePath(chcore::PathFromString(path)); - } - - // operation type - chcore::EOperationType eOperation = chcore::eOperation_Copy; - - if(IsClipboardFormatAvailable(nFormat)) - { - handle=GetClipboardData(nFormat); - LPVOID addr=GlobalLock(handle); - - DWORD dwData=((DWORD*)addr)[0]; - if(dwData & DROPEFFECT_COPY) - eOperation = chcore::eOperation_Copy; // copy - else if(dwData & DROPEFFECT_MOVE) - eOperation = chcore::eOperation_Move; // move - - GlobalUnlock(handle); - } - else - eOperation = chcore::eOperation_Copy; // default - copy - - tTaskDefinition.SetOperationType(eOperation); // copy - - // set the default options for task - GetConfig().ExtractSubConfig(BRANCH_TASK_SETTINGS, tTaskDefinition.GetConfiguration()); - - EmptyClipboard(); - CloseClipboard(); - - TSmartPath pathSelected; - INT_PTR iResult = DirectoryChooser::ChooseDirectory(eOperation, tTaskDefinition.GetSourcePaths(), pathSelected); - if(iResult == IDOK) - { - // get dest path - tTaskDefinition.SetDestinationPath(pathSelected); - - TTaskManagerWrapper tTaskManager(pData->m_spTasks); - - tTaskManager.CreateTask(tTaskDefinition); - } - } - - // do we need to check for turning computer off - if(uiShutCounter == 0 && GetPropValue(GetConfig())) - { - if(pData->m_spTasks->AreAllFinished()) - { - TRACE("Shut down windows\n"); - bool bShutdown=true; - if (GetPropValue(GetConfig()) != 0) - { - CShutdownDlg dlg; - dlg.SetOverallTime(GetPropValue(GetConfig())); - bShutdown=(dlg.DoModal() != IDCANCEL); - } - - SetPropValue(GetConfig(), false); - GetConfig().Write(); - if(bShutdown) - { - // adjust token privileges for NT - HANDLE hToken = nullptr; - TOKEN_PRIVILEGES tp = { 0 }; - if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken) - && LookupPrivilegeValue(nullptr, SE_SHUTDOWN_NAME, &tp.Privileges[0].Luid)) - { - tp.PrivilegeCount=1; - tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; - - AdjustTokenPrivileges(hToken, FALSE, &tp, 0, nullptr, nullptr); - - } - - if(hToken) - CloseHandle(hToken); - - BOOL bExit=ExitWindowsEx(EWX_POWEROFF | EWX_SHUTDOWN | (GetPropValue(GetConfig()) ? EWX_FORCE : 0), 0); - if (bExit) - return 1; - else - { - // some kind of error - ictranslate::CFormat fmt(GetResManager().LoadString(IDS_SHUTDOWNERROR_STRING)); - fmt.SetParam(_T("%errno"), GetLastError()); - AfxMessageBox(fmt, MB_ICONERROR | MB_OK | MB_SYSTEMMODAL); - } - } - } - } - - // sleep for some time - const int iSleepCount=200; - - if(pData->m_threadWorker.KillRequested(iSleepCount)) - break; - - uiCounter+=iSleepCount; - uiShutCounter+=iSleepCount; - if(uiCounter >= GetPropValue(GetConfig())) - uiCounter=0; - if(uiShutCounter >= 800) - uiShutCounter=0; - } - - TRACE("Monitoring clipboard proc aborted...\n"); - - return 0; -} +//****************************************************************************** +// Copyright (C) 2001-2008 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +/// @file ClipboardMonitor.cpp +/// @brief Contains the implementation of clipboard monitor package. +//****************************************************************************** +#include "stdafx.h" +#include "../libchcore/TWorkerThreadController.h" +#include "ClipboardMonitor.h" +#include "ch.h" +#include "CfgProperties.h" +#include "FolderDialog.h" +#include "ShutdownDlg.h" +#include "DirectoryChooser.h" +#include "TTaskManagerWrapper.h" +#include "resource.h" + +using namespace chcore; + +CClipboardMonitor CClipboardMonitor::S_ClipboardMonitor; + +CClipboardMonitor::CClipboardMonitor() +{ +} + +CClipboardMonitor::~CClipboardMonitor() +{ + Stop(); +} + +void CClipboardMonitor::StartMonitor(chengine::TTaskManagerPtr spTasks) +{ + CClipboardMonitor::S_ClipboardMonitor.Start(spTasks); +} + +void CClipboardMonitor::StopMonitor() +{ + return CClipboardMonitor::S_ClipboardMonitor.Stop(); +} + +void CClipboardMonitor::Start(chengine::TTaskManagerPtr spTasks) +{ + m_spTasks = spTasks; + + m_threadWorker.StartThread(&CClipboardMonitor::ClipboardMonitorProc, this); +} + +void CClipboardMonitor::Stop() +{ + m_threadWorker.StopThread(); +} + +DWORD WINAPI CClipboardMonitor::ClipboardMonitorProc(LPVOID pParam) +{ + CClipboardMonitor* pData = (CClipboardMonitor*)pParam; + + // bufor + TCHAR path[_MAX_PATH]; + + // register clipboard format + UINT nFormat=RegisterClipboardFormat(_T("Preferred DropEffect")); + UINT uiCounter=0, uiShutCounter=0; + + chengine::TConfig& rConfig = GetConfig(); + for(;;) + { + if (uiCounter == 0 && GetPropValue(rConfig) && IsClipboardFormatAvailable(CF_HDROP)) + { + // get data from clipboard + OpenClipboard(nullptr); + HANDLE handle=GetClipboardData(CF_HDROP); + + UINT nCount=DragQueryFile(static_cast(handle), 0xffffffff, nullptr, 0); + + chengine::TTaskDefinition tTaskDefinition; + + // list of files + for(UINT stIndex = 0; stIndex < nCount; stIndex++) + { + DragQueryFile(static_cast(handle), stIndex, path, _MAX_PATH); + + tTaskDefinition.AddSourcePath(chcore::PathFromString(path)); + } + + // operation type + chengine::EOperationType eOperation = chengine::eOperation_Copy; + + if(IsClipboardFormatAvailable(nFormat)) + { + handle=GetClipboardData(nFormat); + LPVOID addr=GlobalLock(handle); + + DWORD dwData=((DWORD*)addr)[0]; + if(dwData & DROPEFFECT_COPY) + eOperation = chengine::eOperation_Copy; // copy + else if(dwData & DROPEFFECT_MOVE) + eOperation = chengine::eOperation_Move; // move + + GlobalUnlock(handle); + } + else + eOperation = chengine::eOperation_Copy; // default - copy + + tTaskDefinition.SetOperationType(eOperation); // copy + + // set the default options for task + GetConfig().ExtractSubConfig(BRANCH_TASK_SETTINGS, tTaskDefinition.GetConfiguration()); + + EmptyClipboard(); + CloseClipboard(); + + TSmartPath pathSelected; + INT_PTR iResult = DirectoryChooser::ChooseDirectory(eOperation, tTaskDefinition.GetSourcePaths(), pathSelected); + if(iResult == IDOK) + { + // get dest path + tTaskDefinition.SetDestinationPath(pathSelected); + + TTaskManagerWrapper tTaskManager(pData->m_spTasks); + + tTaskManager.CreateTask(tTaskDefinition); + } + } + + // do we need to check for turning computer off + if(uiShutCounter == 0 && GetPropValue(GetConfig())) + { + if(pData->m_spTasks->AreAllFinished()) + { + TRACE("Shut down windows\n"); + bool bShutdown=true; + if (GetPropValue(GetConfig()) != 0) + { + CShutdownDlg dlg; + dlg.SetOverallTime(GetPropValue(GetConfig())); + bShutdown=(dlg.DoModal() != IDCANCEL); + } + + SetPropValue(GetConfig(), false); + GetConfig().Write(); + if(bShutdown) + { + // adjust token privileges for NT + HANDLE hToken = nullptr; + TOKEN_PRIVILEGES tp = { 0 }; + if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken) + && LookupPrivilegeValue(nullptr, SE_SHUTDOWN_NAME, &tp.Privileges[0].Luid)) + { + tp.PrivilegeCount=1; + tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; + + AdjustTokenPrivileges(hToken, FALSE, &tp, 0, nullptr, nullptr); + + } + + if(hToken) + CloseHandle(hToken); + + BOOL bExit=ExitWindowsEx(EWX_POWEROFF | EWX_SHUTDOWN | (GetPropValue(GetConfig()) ? EWX_FORCE : 0), 0); + if (bExit) + return 1; + else + { + // some kind of error + ictranslate::CFormat fmt(GetResManager().LoadString(IDS_SHUTDOWNERROR_STRING)); + fmt.SetParam(_T("%errno"), GetLastError()); + AfxMessageBox(fmt, MB_ICONERROR | MB_OK | MB_SYSTEMMODAL); + } + } + } + } + + // sleep for some time + const int iSleepCount=200; + + if(pData->m_threadWorker.KillRequested(iSleepCount)) + break; + + uiCounter+=iSleepCount; + uiShutCounter+=iSleepCount; + if(uiCounter >= GetPropValue(GetConfig())) + uiCounter=0; + if(uiShutCounter >= 800) + uiShutCounter=0; + } + + TRACE("Monitoring clipboard proc aborted...\n"); + + return 0; +} Index: src/ch/ClipboardMonitor.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ClipboardMonitor.h (.../ClipboardMonitor.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/ClipboardMonitor.h (.../ClipboardMonitor.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -23,7 +23,7 @@ #define __CLIPBOARDMONITOR_H__ #include "../libchcore/TWorkerThreadController.h" -#include "../libchcore/TTaskManager.h" +#include "../libchengine/TTaskManager.h" namespace chcore { @@ -33,10 +33,10 @@ class CClipboardMonitor { public: - static void StartMonitor(chcore::TTaskManagerPtr spTasks); + static void StartMonitor(chengine::TTaskManagerPtr spTasks); static void StopMonitor(); - void Start(chcore::TTaskManagerPtr spTasks); + void Start(chengine::TTaskManagerPtr spTasks); void Stop(); protected: @@ -48,7 +48,7 @@ protected: static CClipboardMonitor S_ClipboardMonitor; - chcore::TTaskManagerPtr m_spTasks; + chengine::TTaskManagerPtr m_spTasks; // thread control chcore::TWorkerThreadController m_threadWorker; Index: src/ch/CustomCopyDlg.cpp =================================================================== diff -u -r4797e4b6b266900bfdcdf4ca6eda47c216ad9db1 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 4797e4b6b266900bfdcdf4ca6eda47c216ad9db1) +++ src/ch/CustomCopyDlg.cpp (.../CustomCopyDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,16 +19,16 @@ #include "stdafx.h" #include #include "resource.h" -#include "../libchcore/TFileInfo.h" #include "CustomCopyDlg.h" #include "structs.h" #include "dialogs.h" #include "BufferSizeDlg.h" #include "FilterDlg.h" #include "StringHelpers.h" #include "ch.h" -#include "../libchcore/TTaskConfigBufferSizes.h" #include "CfgProperties.h" +#include "../libchengine/TTaskDefinition.h" +#include "../libchengine/TTaskConfigBufferSizes.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -46,7 +46,7 @@ GetConfig().ExtractSubConfig(BRANCH_TASK_SETTINGS, m_tTaskDefinition.GetConfiguration()); } -CCustomCopyDlg::CCustomCopyDlg(const chcore::TTaskDefinition& rTaskDefinition) : +CCustomCopyDlg::CCustomCopyDlg(const chengine::TTaskDefinition& rTaskDefinition) : ictranslate::CLanguageDialog(IDD_CUSTOM_COPY_DIALOG), m_tTaskDefinition(rTaskDefinition) { @@ -211,15 +211,15 @@ m_ctlOperation.AddString(GetResManager().LoadString(IDS_CCDMOVE_STRING)); // copying/moving - m_ctlOperation.SetCurSel(m_tTaskDefinition.GetOperationType() == chcore::eOperation_Move ? 1 : 0); + m_ctlOperation.SetCurSel(m_tTaskDefinition.GetOperationType() == chengine::eOperation_Move ? 1 : 0); // fill priority combo for (int stIndex=0;stIndex<7;stIndex++) { m_ctlPriority.AddString(GetResManager().LoadString(IDS_PRIORITY0_STRING+stIndex)); } - m_ctlPriority.SetCurSel(PriorityToIndex(chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()))); + m_ctlPriority.SetCurSel(PriorityToIndex(chengine::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()))); // fill buffer sizes listbox SetBuffersizesString(); @@ -277,9 +277,9 @@ m_bFilters = !m_tTaskDefinition.GetFilters().IsEmpty(); // other custom flags - m_bIgnoreFolders = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); - m_bForceDirectories = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); - m_bOnlyCreate = chcore::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bIgnoreFolders = chengine::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bForceDirectories = chengine::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); + m_bOnlyCreate = chengine::GetTaskPropValue(m_tTaskDefinition.GetConfiguration()); m_bAdvanced = (m_bIgnoreFolders | m_bForceDirectories | m_bOnlyCreate); UpdateData(FALSE); @@ -369,11 +369,11 @@ m_ctlFilters.InsertColumn(6, &lvc); // refresh the entries in filters' list - const chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); + const chengine::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); m_ctlFilters.DeleteAllItems(); for(size_t stIndex = 0; stIndex < afFilters.GetSize(); ++stIndex) { - const chcore::TFileFilter* pFilter = afFilters.GetAt(stIndex); + const chengine::TFileFilter* pFilter = afFilters.GetAt(stIndex); if(pFilter) AddFilter(*pFilter, boost::numeric_cast(stIndex)); } @@ -477,7 +477,7 @@ // fill the list ictranslate::CFormat fmt; - chcore::TBufferSizes bsSizes = chcore::GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); + chengine::TBufferSizes bsSizes = GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); fmt.SetFormat(GetResManager().LoadString(IDS_BSEDEFAULT_STRING)); fmt.SetParam(_T("%size"), GetSizeString(bsSizes.GetDefaultSize(), true)); @@ -505,7 +505,7 @@ void CCustomCopyDlg::OnChangebufferButton() { - chcore::TBufferSizes tBufferSizes = GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); + chengine::TBufferSizes tBufferSizes = GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); CBufferSizeDlg dlg(&tBufferSizes); if(dlg.DoModal() == IDOK) @@ -540,10 +540,10 @@ { CFilterDlg dlg; - chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); + chengine::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); for (size_t i = 0; i < afFilters.GetSize(); i++) { - const chcore::TFileFilter* pFilter = afFilters.GetAt(i); + const chengine::TFileFilter* pFilter = afFilters.GetAt(i); BOOST_ASSERT(pFilter); if(pFilter) { @@ -566,7 +566,7 @@ } } -void CCustomCopyDlg::AddFilter(const chcore::TFileFilter &rFilter, int iPos) +void CCustomCopyDlg::AddFilter(const chengine::TFileFilter &rFilter, int iPos) { LVITEM lvi; CString strLoaded; @@ -579,7 +579,7 @@ if (rFilter.GetUseMask()) { - chcore::TString strData = rFilter.GetCombinedMask(); + string::TString strData = rFilter.GetCombinedMask(); strLoaded = strData.c_str(); } else @@ -594,7 +594,7 @@ if(rFilter.GetUseExcludeMask()) { - chcore::TString strData = rFilter.GetCombinedExcludeMask(); + string::TString strData = rFilter.GetCombinedExcludeMask(); strLoaded = strData.c_str(); } else @@ -630,7 +630,7 @@ { strLoaded.Format(_T("%s %s"), GetResManager().LoadString(IDS_DATECREATED_STRING+rFilter.GetDateType()), GetResManager().LoadString(IDS_LT_STRING+rFilter.GetDateCmpType1())); - chcore::TString strFmtDateTime = rFilter.GetDateTime1().Format(rFilter.GetUseDate1(), rFilter.GetUseTime1()); + string::TString strFmtDateTime = rFilter.GetDateTime1().Format(rFilter.GetUseDate1(), rFilter.GetUseTime1()); strLoaded += strFmtDateTime.c_str(); if (rFilter.GetUseDateTime2()) @@ -700,7 +700,7 @@ void CCustomCopyDlg::OnRemovefilterButton() { - chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); + chengine::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); POSITION pos; int iItem; @@ -759,11 +759,11 @@ POSITION pos = m_ctlFilters.GetFirstSelectedItemPosition(); if(pos != nullptr) { - chcore::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); + chengine::TFileFiltersArray& afFilters = m_tTaskDefinition.GetFilters(); int iItem = m_ctlFilters.GetNextSelectedItem(pos); CFilterDlg dlg; - const chcore::TFileFilter* pFilter = afFilters.GetAt(iItem); + const chengine::TFileFilter* pFilter = afFilters.GetAt(iItem); BOOST_ASSERT(pFilter); if(pFilter) dlg.m_ffFilter = *pFilter; @@ -805,8 +805,8 @@ int iItem = m_ctlBufferSizes.GetCurSel(); if(iItem != LB_ERR) { - chcore::TBufferSizes tBufferSizes = GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); - CBufferSizeDlg dlg(&tBufferSizes, (chcore::TBufferSizes::EBufferType)iItem); + chengine::TBufferSizes tBufferSizes = GetTaskPropBufferSizes(m_tTaskDefinition.GetConfiguration()); + CBufferSizeDlg dlg(&tBufferSizes, (chengine::TBufferSizes::EBufferType)iItem); if(dlg.DoModal() == IDOK) { @@ -1020,14 +1020,14 @@ } // operation type - m_tTaskDefinition.SetOperationType(m_ctlOperation.GetCurSel() == 0 ? chcore::eOperation_Copy : chcore::eOperation_Move); + m_tTaskDefinition.SetOperationType(m_ctlOperation.GetCurSel() == 0 ? chengine::eOperation_Copy : chengine::eOperation_Move); // priority - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), IndexToPriority(m_ctlPriority.GetCurSel())); + chengine::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), IndexToPriority(m_ctlPriority.GetCurSel())); - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bIgnoreFolders != 0)); - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bForceDirectories != 0)); - chcore::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bOnlyCreate != 0)); + chengine::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bIgnoreFolders != 0)); + chengine::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bForceDirectories != 0)); + chengine::SetTaskPropValue(m_tTaskDefinition.GetConfiguration(), (m_bOnlyCreate != 0)); } bool CCustomCopyDlg::HasBasicTaskData() Index: src/ch/CustomCopyDlg.h =================================================================== diff -u -r12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/CustomCopyDlg.h (.../CustomCopyDlg.h) (revision 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45) +++ src/ch/CustomCopyDlg.h (.../CustomCopyDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,20 +19,23 @@ #ifndef __CUSTOMCOPYDLG_H__ #define __CUSTOMCOPYDLG_H__ -#include "../libchcore/TFileFilter.h" -#include "../libchcore/TTaskDefinition.h" #include "CDragDropListCtrl.h" #include "CDragDropComboEx.h" +#include "../libchengine/TTaskDefinition.h" ///////////////////////////////////////////////////////////////////////////// // CCustomCopyDlg dialog +namespace chengine { + class TFileFilter; +} + class CCustomCopyDlg : public ictranslate::CLanguageDialog { // Construction public: CCustomCopyDlg(); // standard constructor - explicit CCustomCopyDlg(const chcore::TTaskDefinition& rTaskDefinition); + explicit CCustomCopyDlg(const chengine::TTaskDefinition& rTaskDefinition); // Overrides protected: @@ -46,7 +49,7 @@ void UpdateComboIcon(); void EnableControls(); - void AddFilter(const chcore::TFileFilter& rFilter, int iPos=-1); + void AddFilter(const chengine::TFileFilter& rFilter, int iPos=-1); void AddPath(CString strPath); void SetBuffersizesString(); @@ -80,7 +83,7 @@ DECLARE_MESSAGE_MAP() public: - chcore::TTaskDefinition m_tTaskDefinition; + chengine::TTaskDefinition m_tTaskDefinition; std::vector m_vRecent; // recently selected paths CDragDropComboEx m_ctlDstPath; Index: src/ch/DirectoryChooser.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/DirectoryChooser.cpp (.../DirectoryChooser.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/DirectoryChooser.cpp (.../DirectoryChooser.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -24,14 +24,15 @@ #include "../libchcore/TPath.h" #include "CfgProperties.h" #include "resource.h" +#include "../libchengine/TConfigSerializers.h" namespace DirectoryChooser { -INT_PTR ChooseDirectory(chcore::EOperationType eOperation, const chcore::TPathContainer& rInputPaths, chcore::TSmartPath& rSelectedPath) +INT_PTR ChooseDirectory(chengine::EOperationType eOperation, const chcore::TPathContainer& rInputPaths, chcore::TSmartPath& rSelectedPath) { rSelectedPath.Clear(); - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); // get dest folder CFolderDialog dlg; @@ -47,9 +48,9 @@ dlg.m_bdData.strInitialDir=(dlg.m_bdData.cvRecent.size() > 0) ? dlg.m_bdData.cvRecent.at(0) : _T(""); - if(eOperation == chcore::eOperation_Copy) + if(eOperation == chengine::eOperation_Copy) dlg.m_bdData.strCaption = GetResManager().LoadString(IDS_TITLECOPY_STRING); - else if(eOperation == chcore::eOperation_Move) + else if(eOperation == chengine::eOperation_Move) dlg.m_bdData.strCaption = GetResManager().LoadString(IDS_TITLEMOVE_STRING); else dlg.m_bdData.strCaption = GetResManager().LoadString(IDS_TITLEUNKNOWNOPERATION_STRING); Index: src/ch/DirectoryChooser.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/DirectoryChooser.h (.../DirectoryChooser.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/DirectoryChooser.h (.../DirectoryChooser.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,12 +19,17 @@ #ifndef __DIRECTORYCHOOSER_H__ #define __DIRECTORYCHOOSER_H__ -#include "../libchcore/EOperationTypes.h" +#include "../libchengine/EOperationTypes.h" +namespace chcore +{ + class TPathContainer; + class TSmartPath; +} + namespace DirectoryChooser { - INT_PTR ChooseDirectory(chcore::EOperationType eOperation, const chcore::TPathContainer& rInputPaths, chcore::TSmartPath& rSelectedPath); + INT_PTR ChooseDirectory(chengine::EOperationType eOperation, const chcore::TPathContainer& rInputPaths, chcore::TSmartPath& rSelectedPath); } - #endif Index: src/ch/FeedbackFileErrorDlg.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackFileErrorDlg.cpp (.../FeedbackFileErrorDlg.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/ch/FeedbackFileErrorDlg.cpp (.../FeedbackFileErrorDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -67,7 +67,7 @@ strFmt += rResManager.LoadString(IDS_INFO_REASON_STRING); // get system error string - chcore::TString strError = chcore::TWin32ErrorFormatter::FormatWin32ErrorCode(m_ulSysError, true); + string::TString strError = chcore::TWin32ErrorFormatter::FormatWin32ErrorCode(m_ulSysError, true); ictranslate::CFormat fmt(strFmt); fmt.SetParam(_T("%filename"), m_strSrcPath); @@ -83,29 +83,29 @@ void CFeedbackFileErrorDlg::OnBnClickedRetryButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Retry); + EndDialog(chengine::EFeedbackResult::eResult_Retry); } void CFeedbackFileErrorDlg::OnBnClickedSkipButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Skip); + EndDialog(chengine::EFeedbackResult::eResult_Skip); } void CFeedbackFileErrorDlg::OnBnClickedPauseButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Pause); + EndDialog(chengine::EFeedbackResult::eResult_Pause); } void CFeedbackFileErrorDlg::OnBnClickedCancel() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } void CFeedbackFileErrorDlg::OnCancel() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } Index: src/ch/FeedbackHandler.cpp =================================================================== diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackHandler.cpp (.../FeedbackHandler.cpp) (revision 8068e0c351055554340ac9755d1bc846893bf2b8) +++ src/ch/FeedbackHandler.cpp (.../FeedbackHandler.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -17,16 +17,18 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "stdafx.h" -#include "../libchcore/TFileInfo.h" #include "FeedbackHandler.h" #include "FeedbackReplaceDlg.h" #include "FeedbackFileErrorDlg.h" #include "FeedbackNotEnoughSpaceDlg.h" #include "ch.h" #include "mmsystem.h" #include "CfgProperties.h" +#include "../libchengine/TConfigSerializers.h" using namespace chcore; +using namespace chengine; +using namespace string; CFeedbackHandler::CFeedbackHandler() : TFeedbackHandlerBase() Index: src/ch/FeedbackHandler.h =================================================================== diff -u -rc085b65f1de24f25feab2bac2d5882abf04aabcf -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision c085b65f1de24f25feab2bac2d5882abf04aabcf) +++ src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,21 +19,24 @@ #ifndef __FEEDBACKHANDLER_H__ #define __FEEDBACKHANDLER_H__ -#include "../libchcore/TFeedbackHandlerBase.h" -#include "../libchcore/EFileError.h" -#include "../libchcore/TFeedbackResult.h" +#include "../libchengine/TFeedbackHandlerBase.h" -class CFeedbackHandler : public chcore::TFeedbackHandlerBase +namespace string { + class TString; +} + +class CFeedbackHandler : public chengine::TFeedbackHandlerBase +{ public: CFeedbackHandler(); virtual ~CFeedbackHandler(); - chcore::TFeedbackResult FileError(const chcore::TString& strSrcPath, const chcore::TString& strDstPath, chcore::EFileError eFileError, unsigned long ulError) override; - chcore::TFeedbackResult FileAlreadyExists(const chcore::TFileInfo& spSrcFileInfo, const chcore::TFileInfo& spDstFileInfo) override; - chcore::TFeedbackResult NotEnoughSpace(const chcore::TString& strSrcPath, const chcore::TString& strDstPath, unsigned long long ullRequiredSize) override; - chcore::TFeedbackResult OperationFinished() override; - chcore::TFeedbackResult OperationError() override; + chengine::TFeedbackResult FileError(const string::TString& strSrcPath, const string::TString& strDstPath, chengine::EFileError eFileError, unsigned long ulError) override; + chengine::TFeedbackResult FileAlreadyExists(const chengine::TFileInfo& spSrcFileInfo, const chengine::TFileInfo& spDstFileInfo) override; + chengine::TFeedbackResult NotEnoughSpace(const string::TString& strSrcPath, const string::TString& strDstPath, unsigned long long ullRequiredSize) override; + chengine::TFeedbackResult OperationFinished() override; + chengine::TFeedbackResult OperationError() override; protected: friend class CFeedbackHandlerFactory; Index: src/ch/FeedbackHandlerFactory.cpp =================================================================== diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackHandlerFactory.cpp (.../FeedbackHandlerFactory.cpp) (revision 4fe995b304ea342b50293f92d3c1992b43b820f7) +++ src/ch/FeedbackHandlerFactory.cpp (.../FeedbackHandlerFactory.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,34 +1,34 @@ -// ============================================================================ -// Copyright (C) 2001-2015 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// ============================================================================ -#include "stdafx.h" -#include "FeedbackHandlerFactory.h" -#include "FeedbackHandler.h" - -CFeedbackHandlerFactory::CFeedbackHandlerFactory() -{ -} - -CFeedbackHandlerFactory::~CFeedbackHandlerFactory() -{ -} - -chcore::IFeedbackHandlerPtr CFeedbackHandlerFactory::Create() -{ - return std::make_shared(); -} +// ============================================================================ +// Copyright (C) 2001-2015 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#include "stdafx.h" +#include "FeedbackHandlerFactory.h" +#include "FeedbackHandler.h" + +CFeedbackHandlerFactory::CFeedbackHandlerFactory() +{ +} + +CFeedbackHandlerFactory::~CFeedbackHandlerFactory() +{ +} + +chengine::IFeedbackHandlerPtr CFeedbackHandlerFactory::Create() +{ + return std::make_shared(); +} Index: src/ch/FeedbackHandlerFactory.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackHandlerFactory.h (.../FeedbackHandlerFactory.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/FeedbackHandlerFactory.h (.../FeedbackHandlerFactory.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,16 +19,15 @@ #ifndef __FEEDBACKHANDLERFACTORY_H__ #define __FEEDBACKHANDLERFACTORY_H__ -#include "../libchcore/IFeedbackHandlerFactory.h" -#include "../libchcore/IFeedbackHandler.h" +#include "../libchengine/IFeedbackHandlerFactory.h" -class CFeedbackHandlerFactory : public chcore::IFeedbackHandlerFactory +class CFeedbackHandlerFactory : public chengine::IFeedbackHandlerFactory { public: CFeedbackHandlerFactory(); virtual ~CFeedbackHandlerFactory(); - chcore::IFeedbackHandlerPtr Create() override; + chengine::IFeedbackHandlerPtr Create() override; }; typedef std::shared_ptr CFeedbackHandlerFactoryPtr; Index: src/ch/FeedbackNotEnoughSpaceDlg.cpp =================================================================== diff -u -r5f6477e71c348782f8149a86c7a3ae903e5ff635 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackNotEnoughSpaceDlg.cpp (.../FeedbackNotEnoughSpaceDlg.cpp) (revision 5f6477e71c348782f8149a86c7a3ae903e5ff635) +++ src/ch/FeedbackNotEnoughSpaceDlg.cpp (.../FeedbackNotEnoughSpaceDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -20,9 +20,8 @@ #include "ch.h" #include "FeedbackNotEnoughSpaceDlg.h" #include "StringHelpers.h" -#include "FeedbackHandler.h" #include "resource.h" -#include "../libchcore/TLocalFilesystem.h" +#include "../libchengine/EFeedbackResult.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -163,7 +162,7 @@ if (m_ullRequired <= ullFree) { CLanguageDialog::OnTimer(nIDEvent); - EndDialog(chcore::EFeedbackResult::eResult_Retry); + EndDialog(chengine::EFeedbackResult::eResult_Retry); } } } @@ -174,13 +173,13 @@ void CFeedbackNotEnoughSpaceDlg::OnRetryButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Retry); + EndDialog(chengine::EFeedbackResult::eResult_Retry); } void CFeedbackNotEnoughSpaceDlg::OnIgnoreButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Ignore); + EndDialog(chengine::EFeedbackResult::eResult_Ignore); } void CFeedbackNotEnoughSpaceDlg::OnLanguageChanged() @@ -191,11 +190,11 @@ void CFeedbackNotEnoughSpaceDlg::OnCancel() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } void CFeedbackNotEnoughSpaceDlg::OnBnClickedCancel() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } Index: src/ch/FeedbackNotEnoughSpaceDlg.h =================================================================== diff -u -r12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackNotEnoughSpaceDlg.h (.../FeedbackNotEnoughSpaceDlg.h) (revision 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45) +++ src/ch/FeedbackNotEnoughSpaceDlg.h (.../FeedbackNotEnoughSpaceDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -18,8 +18,9 @@ ***************************************************************************/ #ifndef __FEEDBACKNOTENOUGHSPACEDLG_H__ #define __FEEDBACKNOTENOUGHSPACEDLG_H__ -#include "../libchcore/TLocalFilesystem.h" +#include "../libchengine/TLocalFilesystem.h" + ///////////////////////////////////////////////////////////////////////////// // CFeedbackNotEnoughSpaceDlg dialog @@ -57,7 +58,7 @@ BOOL m_bAllItems; private: - chcore::TLocalFilesystem m_fsLocal; + chengine::TLocalFilesystem m_fsLocal; }; #endif Index: src/ch/FeedbackReplaceDlg.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackReplaceDlg.cpp (.../FeedbackReplaceDlg.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/ch/FeedbackReplaceDlg.cpp (.../FeedbackReplaceDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -3,17 +3,17 @@ #include "stdafx.h" #include "ch.h" -#include "../libchcore/TFileInfo.h" #include "FeedbackReplaceDlg.h" #include "../libictranslate/ResourceManager.h" #include "FeedbackHandler.h" #include "resource.h" +#include "../libchengine/TFileInfo.h" // CFeedbackReplaceDlg dialog IMPLEMENT_DYNAMIC(CFeedbackReplaceDlg, ictranslate::CLanguageDialog) -CFeedbackReplaceDlg::CFeedbackReplaceDlg(const chcore::TFileInfo& spSrcFile, const chcore::TFileInfo& spDstFile, CWnd* pParent /*=nullptr*/) +CFeedbackReplaceDlg::CFeedbackReplaceDlg(const chengine::TFileInfo& spSrcFile, const chengine::TFileInfo& spDstFile, CWnd* pParent /*=nullptr*/) : ictranslate::CLanguageDialog(IDD_FEEDBACK_REPLACE_DIALOG, pParent), m_bAllItems(FALSE), m_rSrcFile(spSrcFile), @@ -187,37 +187,37 @@ void CFeedbackReplaceDlg::OnBnClickedReplaceButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Overwrite); + EndDialog(chengine::EFeedbackResult::eResult_Overwrite); } void CFeedbackReplaceDlg::OnBnClickedCopyRestButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_CopyRest); + EndDialog(chengine::EFeedbackResult::eResult_CopyRest); } void CFeedbackReplaceDlg::OnBnClickedSkipButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Skip); + EndDialog(chengine::EFeedbackResult::eResult_Skip); } void CFeedbackReplaceDlg::OnBnClickedPauseButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Pause); + EndDialog(chengine::EFeedbackResult::eResult_Pause); } void CFeedbackReplaceDlg::OnBnClickedCancelButton() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } void CFeedbackReplaceDlg::OnCancel() { UpdateData(TRUE); - EndDialog(chcore::EFeedbackResult::eResult_Cancel); + EndDialog(chengine::EFeedbackResult::eResult_Cancel); } bool CFeedbackReplaceDlg::IsApplyToAllItemsChecked() const Index: src/ch/FeedbackReplaceDlg.h =================================================================== diff -u -r12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackReplaceDlg.h (.../FeedbackReplaceDlg.h) (revision 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45) +++ src/ch/FeedbackReplaceDlg.h (.../FeedbackReplaceDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,12 +19,17 @@ #ifndef __FEEDBACKREPLACEDLG_H__ #define __FEEDBACKREPLACEDLG_H__ +namespace chengine +{ + class TFileInfo; +} + class CFeedbackReplaceDlg : public ictranslate::CLanguageDialog { DECLARE_DYNAMIC(CFeedbackReplaceDlg) public: - CFeedbackReplaceDlg(const chcore::TFileInfo& spSrcFile, const chcore::TFileInfo& spDstFile, CWnd* pParent = nullptr); // standard constructor + CFeedbackReplaceDlg(const chengine::TFileInfo& spSrcFile, const chengine::TFileInfo& spDstFile, CWnd* pParent = nullptr); // standard constructor virtual ~CFeedbackReplaceDlg(); BOOL OnInitDialog() override; @@ -57,8 +62,8 @@ BOOL m_bAllItems; protected: - const chcore::TFileInfo& m_rSrcFile; - const chcore::TFileInfo& m_rDstFile; + const chengine::TFileInfo& m_rSrcFile; + const chengine::TFileInfo& m_rDstFile; public: afx_msg void OnBnClickedReplaceButton(); Index: src/ch/FilterDlg.cpp =================================================================== diff -u -r19b135b50b55b75d008526a799344bda9a62dc22 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FilterDlg.cpp (.../FilterDlg.cpp) (revision 19b135b50b55b75d008526a799344bda9a62dc22) +++ src/ch/FilterDlg.cpp (.../FilterDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -17,7 +17,6 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "stdafx.h" -#include "../libchcore/TFileFilter.h" #include "ch.h" #include "FilterDlg.h" #include "resource.h" @@ -348,27 +347,27 @@ m_ffFilter.SetUseSize1(m_bSize != 0); m_ffFilter.SetUseSize2(m_bSize2 != 0); - m_ffFilter.SetSizeType1((chcore::TFileFilter::ESizeCompareType)m_ctlSizeType1.GetCurSel()); - m_ffFilter.SetSizeType2((chcore::TFileFilter::ESizeCompareType)m_ctlSizeType2.GetCurSel()); + m_ffFilter.SetSizeType1((chengine::TFileFilter::ESizeCompareType)m_ctlSizeType1.GetCurSel()); + m_ffFilter.SetSizeType2((chengine::TFileFilter::ESizeCompareType)m_ctlSizeType2.GetCurSel()); m_ffFilter.SetSize1(static_cast(m_uiSize1)*static_cast(GetMultiplier(m_ctlSize1Multi.GetCurSel()))); m_ffFilter.SetSize2(static_cast(m_uiSize2)*static_cast(GetMultiplier(m_ctlSize2Multi.GetCurSel()))); // date - m_ffFilter.SetDateType((chcore::TFileFilter::EDateType)m_ctlDateType.GetCurSel()); + m_ffFilter.SetDateType((chengine::TFileFilter::EDateType)m_ctlDateType.GetCurSel()); - m_ffFilter.SetDateCmpType1((chcore::TFileFilter::EDateCompareType)m_ctlDateType1.GetCurSel()); - m_ffFilter.SetDateCmpType2((chcore::TFileFilter::EDateCompareType)m_ctlDateType2.GetCurSel()); + m_ffFilter.SetDateCmpType1((chengine::TFileFilter::EDateCompareType)m_ctlDateType1.GetCurSel()); + m_ffFilter.SetDateCmpType2((chengine::TFileFilter::EDateCompareType)m_ctlDateType2.GetCurSel()); CTime tDate; CTime tTime; m_ffFilter.SetUseDate1(m_ctlDate1.GetTime(tDate) == GDT_VALID); m_ffFilter.SetUseTime1(m_ctlTime1.GetTime(tTime) == GDT_VALID); - m_ffFilter.SetDateTime1(chcore::TDateTime(tDate.GetYear(), tDate.GetMonth(), tDate.GetDay(), tTime.GetHour(), tTime.GetMinute(), tTime.GetSecond())); + m_ffFilter.SetDateTime1(chengine::TDateTime(tDate.GetYear(), tDate.GetMonth(), tDate.GetDay(), tTime.GetHour(), tTime.GetMinute(), tTime.GetSecond())); m_ffFilter.SetUseDate2(m_ctlDate2.GetTime(tDate) == GDT_VALID); m_ffFilter.SetUseTime2(m_ctlTime2.GetTime(tTime) == GDT_VALID); - m_ffFilter.SetDateTime2(chcore::TDateTime(tDate.GetYear(), tDate.GetMonth(), tDate.GetDay(), tTime.GetHour(), tTime.GetMinute(), tTime.GetSecond())); + m_ffFilter.SetDateTime2(chengine::TDateTime(tDate.GetYear(), tDate.GetMonth(), tDate.GetDay(), tTime.GetHour(), tTime.GetMinute(), tTime.GetSecond())); m_ffFilter.SetUseDateTime1((m_bDate1 != 0) && (m_ffFilter.GetUseDate1() || m_ffFilter.GetUseTime1())); m_ffFilter.SetUseDateTime2((m_bDate2 != 0) && (m_ffFilter.GetUseDate2() || m_ffFilter.GetUseTime2())); Index: src/ch/FilterDlg.h =================================================================== diff -u -r12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FilterDlg.h (.../FilterDlg.h) (revision 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45) +++ src/ch/FilterDlg.h (.../FilterDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -18,6 +18,7 @@ ***************************************************************************/ #ifndef __FILTERDLG_H__ #define __FILTERDLG_H__ +#include "../libchengine/TFileFilter.h" ///////////////////////////////////////////////////////////////////////////// // CFilterDlg dialog @@ -72,7 +73,7 @@ // Implementation public: void SetSize2(unsigned __int64 ullSize); - chcore::TFileFilter m_ffFilter; + chengine::TFileFilter m_ffFilter; CStringArray m_astrAddMask; CStringArray m_astrAddExcludeMask; Index: src/ch/FolderDialog.h =================================================================== diff -u -r12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FolderDialog.h (.../FolderDialog.h) (revision 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45) +++ src/ch/FolderDialog.h (.../FolderDialog.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -35,7 +35,7 @@ #include "DirTreeCtrl.h" #include "ThemedButton.h" #include "../libictranslate/LanguageDialog.h" -#include "../libchcore/TLocalFilesystem.h" +#include "../libchengine/TLocalFilesystem.h" ///////////////////////////////////////////////////////////////////////////// // CFolderDialog dialog @@ -146,7 +146,7 @@ DECLARE_MESSAGE_MAP() private: - chcore::TLocalFilesystem m_fsLocal; + chengine::TLocalFilesystem m_fsLocal; }; #endif Index: src/ch/MainWnd.cpp =================================================================== diff -u -re98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/MainWnd.cpp (.../MainWnd.cpp) (revision e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8) +++ src/ch/MainWnd.cpp (.../MainWnd.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -32,18 +32,16 @@ #include "ClipboardMonitor.h" #include #include "../common/TShellExtMenuConfig.h" -#include "../libchcore/TConfig.h" #include "../libchcore/TCoreException.h" -#include "../libchcore/TTaskManagerStatsSnapshot.h" -#include "../libchcore/TSQLiteSerializerFactory.h" #include "TRecentPathsTools.h" #include "DirectoryChooser.h" #include "FeedbackHandlerFactory.h" -#include "../libchcore/TTask.h" #include "TTaskManagerWrapper.h" #include "CfgProperties.h" #include "resource.h" #include "../liblogger/TAsyncMultiLogger.h" +#include "../libchengine/TConfigSerializers.h" +#include "../libserializer/TSQLiteSerializerFactory.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -81,7 +79,7 @@ ///////////////////////////////////////////////////////////////////////////// // CMainWnd construction/destruction CMainWnd::CMainWnd() : - m_spTaskMgrStats(new chcore::TTaskManagerStatsSnapshot), + m_spTaskMgrStats(new chengine::TTaskManagerStatsSnapshot), m_spLog(logger::MakeLogger(GetLogFileData(), L"MainWnd")) { } @@ -242,12 +240,12 @@ logger::TLogFileDataPtr spLogFileData = logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(pathEngineLog.ToString(), GetApp().GetEngineLoggerConfig()); - TSQLiteSerializerFactoryPtr spSerializerFactory(new TSQLiteSerializerFactory(PathFromString(strTasksDir), spLogFileData)); - IFeedbackHandlerFactoryPtr spFeedbackFactory(new CFeedbackHandlerFactory); + serializer::TSQLiteSerializerFactoryPtr spSerializerFactory(new serializer::TSQLiteSerializerFactory(PathFromString(strTasksDir), spLogFileData)); + chengine::IFeedbackHandlerFactoryPtr spFeedbackFactory(new CFeedbackHandlerFactory); try { - m_spTasks.reset(new chcore::TTaskManager(spSerializerFactory, spFeedbackFactory, PathFromString(strTasksDir), GetApp().GetEngineLoggerConfig(), spLogFileData)); + m_spTasks.reset(new chengine::TTaskManager(spSerializerFactory, spFeedbackFactory, PathFromString(strTasksDir), GetApp().GetEngineLoggerConfig(), spLogFileData)); } catch(const std::exception& e) { @@ -258,7 +256,7 @@ { if(MsgBox(IDS_TASKMANAGER_LOAD_FAILED, MB_ICONERROR | MB_OKCANCEL) == IDOK) { - m_spTasks.reset(new chcore::TTaskManager(spSerializerFactory, spFeedbackFactory, PathFromString(strTasksDir), GetApp().GetEngineLoggerConfig(), spLogFileData, true)); + m_spTasks.reset(new chengine::TTaskManager(spSerializerFactory, spFeedbackFactory, PathFromString(strTasksDir), GetApp().GetEngineLoggerConfig(), spLogFileData, true)); } else return false; @@ -363,7 +361,7 @@ ///////////////////////////////////////////////////////////////////////////// // CMainWnd/CTrayIcon menu message handlers -void CMainWnd::ShowStatusWindow(const chcore::TTaskPtr& spSelect) +void CMainWnd::ShowStatusWindow(const chengine::TTaskPtr& spSelect) { m_pdlgStatus=new CStatusDlg(m_spTasks.get(), this); // self deleting m_pdlgStatus->m_spInitialSelection = spSelect; @@ -495,11 +493,11 @@ if(!pszBuffer || ulLen == 0 || pszBuffer[ulLen - 1] != L'\0') return FALSE; - chcore::TString wstrData(pszBuffer); + string::TString wstrData(pszBuffer); LOG_DEBUG(m_spLog) << L"Received task definition to process: " << wstrData; - chcore::TTaskDefinition tTaskDefinition; + chengine::TTaskDefinition tTaskDefinition; CString strError; try { @@ -531,7 +529,7 @@ } // apply current options from global config; in the future we might want to merge the incoming options with global ones instead of overwriting... - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); rConfig.ExtractSubConfig(BRANCH_TASK_SETTINGS, tTaskDefinition.GetConfiguration()); // special operation - modify stuff @@ -608,7 +606,7 @@ try { - chcore::TTaskPtr spTask = m_spTasks->ImportTask(strPath); + chengine::TTaskPtr spTask = m_spTasks->ImportTask(strPath); if(spTask) spTask->Store(true); bImported = true; @@ -649,7 +647,7 @@ void CMainWnd::OnPopupCustomCopy() { - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); CCustomCopyDlg dlg; @@ -661,7 +659,7 @@ SetPropValue(rConfig, dlg.m_vRecent); - chcore::TTaskDefinition tTaskDefinition = dlg.m_tTaskDefinition; + chengine::TTaskDefinition tTaskDefinition = dlg.m_tTaskDefinition; TTaskManagerWrapper tTaskManager(m_spTasks); tTaskManager.CreateTask(tTaskDefinition); @@ -674,7 +672,7 @@ { case WM_MINIVIEWDBLCLK: { - chcore::TTaskPtr spTask = m_spTasks->GetTaskByTaskID(boost::numeric_cast(lParam)); + chengine::TTaskPtr spTask = m_spTasks->GetTaskByTaskID(boost::numeric_cast(lParam)); ShowStatusWindow(spTask); break; } @@ -856,7 +854,7 @@ pDlg->m_bAutoDelete = true; pDlg->Create(); - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); try { SetPropValue(rConfig, _time64(nullptr)); Index: src/ch/MainWnd.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/MainWnd.h (.../MainWnd.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/MainWnd.h (.../MainWnd.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -21,8 +21,9 @@ #define __MAINFRM_H__ #include "TrayIcon.h" -#include "../libchcore/TTaskManager.h" #include "../libchcore/TSharedMemory.h" +#include "../libchengine/TTask.h" +#include "../libchengine/TTaskManager.h" class TShellExtMenuConfig; class CMiniViewDlg; @@ -43,7 +44,7 @@ BOOL RegisterClass(); int ShowTrayIcon(); - void ShowStatusWindow(const chcore::TTaskPtr& spSelect = chcore::TTaskPtr()); + void ShowStatusWindow(const chengine::TTaskPtr& spSelect = chengine::TTaskPtr()); void PrepareToExit(); void ProcessCommandLine(const TCommandLineParser& rCommandLine); @@ -75,11 +76,11 @@ DECLARE_MESSAGE_MAP() private: - chcore::TTaskManagerStatsSnapshotPtr m_spTaskMgrStats; + chengine::TTaskManagerStatsSnapshotPtr m_spTaskMgrStats; CTrayIcon m_ctlTray; - chcore::TTaskManagerPtr m_spTasks; + chengine::TTaskManagerPtr m_spTasks; chcore::TSharedMemory m_tCHExtharedMemory; CMiniViewDlg* m_pdlgMiniView = nullptr; Index: src/ch/MiniViewDlg.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/MiniViewDlg.cpp (.../MiniViewDlg.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/MiniViewDlg.cpp (.../MiniViewDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -17,15 +17,14 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "stdafx.h" -#include "../libchcore/TTaskManager.h" -#include "../libchcore/TTask.h" #include "MiniViewDlg.h" #include "ch.h" #include #include "MemDC.h" -#include "../libchcore/TTaskManagerStatsSnapshot.h" #include "CfgProperties.h" #include "resource.h" +#include "../libchengine/TTaskManager.h" +#include "../libchengine/TTask.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -46,7 +45,7 @@ ///////////////////////////////////////////////////////////////////////////// // CMiniViewDlg dialog -CMiniViewDlg::CMiniViewDlg(chcore::TTaskManager* pTaskManager, bool *pbHide, CWnd* pParent /*=nullptr*/) +CMiniViewDlg::CMiniViewDlg(chengine::TTaskManager* pTaskManager, bool *pbHide, CWnd* pParent /*=nullptr*/) :ictranslate::CLanguageDialog(IDD_MINIVIEW_DIALOG, pParent, &m_bLock), m_pTasks(pTaskManager), m_iLastHeight(0), @@ -195,7 +194,7 @@ if(!m_pTasks) return; - chcore::TTaskManagerStatsSnapshotPtr spTaskMgrStats(new chcore::TTaskManagerStatsSnapshot); + chengine::TTaskManagerStatsSnapshotPtr spTaskMgrStats(new chengine::TTaskManagerStatsSnapshot); m_pTasks->GetStatsSnapshot(spTaskMgrStats); @@ -207,25 +206,25 @@ size_t stTasksCount = spTaskMgrStats->GetTaskStatsCount(); for(size_t stIndex = 0; stIndex < stTasksCount; ++stIndex) { - chcore::TTaskStatsSnapshotPtr spTaskStats = spTaskMgrStats->GetTaskStatsAt(stIndex); - chcore::ETaskCurrentState eTaskState = spTaskStats->GetTaskState(); + chengine::TTaskStatsSnapshotPtr spTaskStats = spTaskMgrStats->GetTaskStatsAt(stIndex); + chengine::ETaskCurrentState eTaskState = spTaskStats->GetTaskState(); - if(eTaskState != chcore::eTaskState_Finished && eTaskState != chcore::eTaskState_Cancelled && eTaskState != chcore::eTaskState_LoadError) + if(eTaskState != chengine::eTaskState_Finished && eTaskState != chengine::eTaskState_Cancelled && eTaskState != chengine::eTaskState_LoadError) { pItem = m_ctlStatus.GetItemAddress(index++); // load - if(eTaskState == chcore::eTaskState_Error) + if(eTaskState == chengine::eTaskState_Error) pItem->m_crColor=RGB(255, 0, 0); - else if(eTaskState == chcore::eTaskState_Paused) + else if(eTaskState == chengine::eTaskState_Paused) pItem->m_crColor=RGB(255, 255, 0); - else if(eTaskState == chcore::eTaskState_Waiting) + else if(eTaskState == chengine::eTaskState_Waiting) pItem->m_crColor=RGB(0, 0, 255); else pItem->m_crColor=RGB(0, 255, 0); - chcore::TString strPath; - chcore::TSubTaskStatsSnapshotPtr spSubtaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); + string::TString strPath; + chengine::TSubTaskStatsSnapshotPtr spSubtaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); if(spSubtaskStats) strPath = spSubtaskStats->GetCurrentPath(); @@ -277,7 +276,7 @@ pItem->m_crColor=GetSysColor(COLOR_HIGHLIGHT); pItem->m_strText=GetResManager().LoadString(IDS_MINIVIEWALL_STRING); pItem->m_uiPos = boost::numeric_cast(spTaskMgrStats->GetCombinedProgress() * 100.0); - pItem->m_tTaskID = chcore::NoTaskID; + pItem->m_tTaskID = chengine::NoTaskID; // get rid of the rest m_ctlStatus.SetSmoothProgress(GetPropValue(GetConfig())); @@ -438,7 +437,7 @@ if (iSel == LB_ERR || (size_t)iSel >= pDlg->m_ctlStatus.m_vItems.size()) return; - chcore::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); + chengine::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); if(spTask) spTask->PauseProcessing(); else @@ -546,10 +545,10 @@ if (iSel == LB_ERR || (size_t)iSel >= pDlg->m_ctlStatus.m_vItems.size()) return; - chcore::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); + chengine::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); if (spTask) { - if(spTask->GetTaskState() == chcore::eTaskState_Waiting) + if(spTask->GetTaskState() == chengine::eTaskState_Waiting) spTask->SetForceFlag(true); else spTask->ResumeProcessing(); @@ -591,7 +590,7 @@ if (iSel == LB_ERR || (size_t)iSel >= pDlg->m_ctlStatus.m_vItems.size()) return; - chcore::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); + chengine::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); if(spTask) spTask->CancelProcessing(); else @@ -646,7 +645,7 @@ if (iSel == LB_ERR || (size_t)iSel >= pDlg->m_ctlStatus.m_vItems.size()) return; - chcore::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); + chengine::TTaskPtr spTask = pDlg->m_pTasks->GetTaskByTaskID(pDlg->m_ctlStatus.m_vItems.at(iSel)->m_tTaskID); if(spTask) spTask->RestartProcessing(); else @@ -804,7 +803,7 @@ if(iSel == LB_ERR || (size_t)iSel >= m_ctlStatus.m_vItems.size()) return; - chcore::taskid_t tTaskID = m_ctlStatus.m_vItems.at(iSel)->m_tTaskID; + chengine::taskid_t tTaskID = m_ctlStatus.m_vItems.at(iSel)->m_tTaskID; GetParent()->PostMessage(WM_MINIVIEWDBLCLK, 0, boost::numeric_cast(tTaskID)); } Index: src/ch/MiniViewDlg.h =================================================================== diff -u -r541304f4e098b4c7617b718287ab40646d5deb92 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/MiniViewDlg.h (.../MiniViewDlg.h) (revision 541304f4e098b4c7617b718287ab40646d5deb92) +++ src/ch/MiniViewDlg.h (.../MiniViewDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -24,6 +24,10 @@ #include "ProgressListBox.h" #include +namespace chengine { + class TTaskManager; +} + namespace chcore { class TTaskManager; @@ -54,7 +58,7 @@ // Construction public: - CMiniViewDlg(chcore::TTaskManager* pArray, bool* pbHide, CWnd* pParent = nullptr); // standard constructor + CMiniViewDlg(chengine::TTaskManager* pArray, bool* pbHide, CWnd* pParent = nullptr); // standard constructor void ShowWindow(); void HideWindow(); @@ -96,7 +100,7 @@ private: // from CMainWnd - chcore::TTaskManager *m_pTasks; + chengine::TTaskManager *m_pTasks; CBrush m_brBackground; int m_iLastHeight; Index: src/ch/OptionsDlg.cpp =================================================================== diff -u -r19b135b50b55b75d008526a799344bda9a62dc22 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision 19b135b50b55b75d008526a799344bda9a62dc22) +++ src/ch/OptionsDlg.cpp (.../OptionsDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -26,6 +26,7 @@ #include #include "structs.h" #include "CfgProperties.h" +#include "../libchengine/TConfigSerializers.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -104,7 +105,7 @@ m_ctlProperties.Init(); // copy shortcut and recent paths - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); m_cvRecent.clear(); GetPropValue(rConfig, m_cvRecent); @@ -132,7 +133,7 @@ { COptionsDlg* pDlg=static_cast(lpParam); - chcore::TBufferSizes tBufferSizes(pDlg->GetBoolProp(iIndex - iParam - 1), + chengine::TBufferSizes tBufferSizes(pDlg->GetBoolProp(iIndex - iParam - 1), pDlg->GetUintProp(iIndex - iParam + 7), pDlg->GetUintProp(iIndex - iParam), pDlg->GetUintProp(iIndex - iParam + 1), @@ -143,7 +144,7 @@ pDlg->GetUintProp(iIndex - iParam + 9), pDlg->GetUintProp(iIndex - iParam + 10)); - CBufferSizeDlg dlg(&tBufferSizes, (chcore::TBufferSizes::EBufferType)iParam); + CBufferSizeDlg dlg(&tBufferSizes, (chengine::TBufferSizes::EBufferType)iParam); if (dlg.DoModal() == IDOK) { tBufferSizes = dlg.GetBufferSizes(); @@ -363,7 +364,7 @@ // counter int iPosition=0; - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); rConfig.DelayNotifications(); SKIP_SEPARATOR(iPosition); Index: src/ch/ProgressListBox.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ProgressListBox.h (.../ProgressListBox.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/ProgressListBox.h (.../ProgressListBox.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,7 +19,7 @@ #ifndef __PROGRESSLISTBOX_H__ #define __PROGRESSLISTBOX_H__ -#include "../libchcore/TaskID.h" +#include "../libchengine/TaskID.h" ///////////////////////////////////////////////////////////////////////////// // CProgressListBox window @@ -32,7 +32,7 @@ COLORREF m_crColor; - chcore::taskid_t m_tTaskID; + chengine::taskid_t m_tTaskID; }; class CProgressListBox : public CListBox Index: src/ch/StatusDlg.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/ch/StatusDlg.cpp (.../StatusDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -18,17 +18,14 @@ ***************************************************************************/ #include "stdafx.h" #include "ch.h" -#include "../libchcore/TTaskManager.h" -#include "../libchcore/TTask.h" #include "resource.h" #include "StatusDlg.h" #include "BufferSizeDlg.h" #include "StringHelpers.h" #include "StaticEx.h" #include "Structs.h" -#include "../libchcore/TTaskStatsSnapshot.h" -#include "../libchcore/TTaskManagerStatsSnapshot.h" #include "CfgProperties.h" +#include "../libchengine/TTaskManager.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -41,10 +38,10 @@ ///////////////////////////////////////////////////////////////////////////// // CStatusDlg dialog -CStatusDlg::CStatusDlg(chcore::TTaskManager* pTasks, CWnd* pParent /*=nullptr*/) +CStatusDlg::CStatusDlg(chengine::TTaskManager* pTasks, CWnd* pParent /*=nullptr*/) : ictranslate::CLanguageDialog(IDD_STATUS_DIALOG, pParent, &m_bLock), m_pTasks(pTasks), - m_spTaskMgrStats(new chcore::TTaskManagerStatsSnapshot) + m_spTaskMgrStats(new chengine::TTaskManagerStatsSnapshot) { RegisterStaticExControl(AfxGetInstanceHandle()); } @@ -176,7 +173,7 @@ bool bSelected = false; while(stIndex < m_pTasks->GetSize()) { - chcore::TTaskPtr spTask = m_pTasks->GetAt(stIndex); + chengine::TTaskPtr spTask = m_pTasks->GetAt(stIndex); if(m_spInitialSelection) { if(spTask == m_spInitialSelection) @@ -259,38 +256,38 @@ void CStatusDlg::OnSetBuffersizeButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(!spTask) return; int iCurrentBufferIndex = 0; - chcore::TTaskStatsSnapshotPtr spTaskStats = m_spTaskMgrStats->GetTaskStatsForTaskID(boost::numeric_cast(GetSelectedItemSessionUniqueID())); + chengine::TTaskStatsSnapshotPtr spTaskStats = m_spTaskMgrStats->GetTaskStatsForTaskID(boost::numeric_cast(GetSelectedItemSessionUniqueID())); if(spTaskStats) { - chcore::TSubTaskStatsSnapshotPtr spSubTaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); + chengine::TSubTaskStatsSnapshotPtr spSubTaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); if(spSubTaskStats) iCurrentBufferIndex = spSubTaskStats->GetCurrentBufferIndex(); } - chcore::TBufferSizes tBufferSizes; + chengine::TBufferSizes tBufferSizes; spTask->GetBufferSizes(tBufferSizes); - CBufferSizeDlg dlg(&tBufferSizes, (chcore::TBufferSizes::EBufferType)iCurrentBufferIndex); + CBufferSizeDlg dlg(&tBufferSizes, (chengine::TBufferSizes::EBufferType)iCurrentBufferIndex); if(dlg.DoModal() == IDOK) spTask->SetBufferSizes(dlg.GetBufferSizes()); } -chcore::TTaskPtr CStatusDlg::GetSelectedItemPointer() +chengine::TTaskPtr CStatusDlg::GetSelectedItemPointer() { // returns ptr to a TTask for a given element in listview if(m_ctlStatusList.GetSelectedCount() == 1) { POSITION pos = m_ctlStatusList.GetFirstSelectedItemPosition(); int nPos = m_ctlStatusList.GetNextSelectedItem(pos); - return m_pTasks->GetTaskByTaskID(boost::numeric_cast(m_ctlStatusList.GetItemData(nPos))); + return m_pTasks->GetTaskByTaskID(boost::numeric_cast(m_ctlStatusList.GetItemData(nPos))); } - return chcore::TTaskPtr(); + return chengine::TTaskPtr(); } size_t CStatusDlg::GetSelectedItemSessionUniqueID() @@ -321,12 +318,12 @@ void CStatusDlg::ApplyButtonsState() { // remember ptr to TTask - chcore::TTaskPtr spSelectedTask = GetSelectedItemPointer(); + chengine::TTaskPtr spSelectedTask = GetSelectedItemPointer(); // set status of buttons pause/resume/cancel if (spSelectedTask != nullptr) { - if(spSelectedTask->GetTaskState() == chcore::eTaskState_LoadError) + if(spSelectedTask->GetTaskState() == chengine::eTaskState_LoadError) { GetDlgItem(IDC_SHOW_LOG_BUTTON)->EnableWindow(true); GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(false); @@ -341,7 +338,7 @@ GetDlgItem(IDC_SHOW_LOG_BUTTON)->EnableWindow(true); GetDlgItem(IDC_DELETE_BUTTON)->EnableWindow(true); - if (spSelectedTask->GetTaskState() == chcore::eTaskState_Finished || spSelectedTask->GetTaskState() == chcore::eTaskState_Cancelled) + if (spSelectedTask->GetTaskState() == chengine::eTaskState_Finished || spSelectedTask->GetTaskState() == chengine::eTaskState_Cancelled) { GetDlgItem(IDC_CANCEL_BUTTON)->EnableWindow(false); GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(false); @@ -350,15 +347,15 @@ else { // pause/resume - if (spSelectedTask->GetTaskState() == chcore::eTaskState_Paused) + if (spSelectedTask->GetTaskState() == chengine::eTaskState_Paused) { GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(false); GetDlgItem(IDC_RESUME_BUTTON)->EnableWindow(true); } else { GetDlgItem(IDC_PAUSE_BUTTON)->EnableWindow(true); - if (spSelectedTask->GetTaskState() == chcore::eTaskState_Waiting) + if (spSelectedTask->GetTaskState() == chengine::eTaskState_Waiting) GetDlgItem(IDC_RESUME_BUTTON)->EnableWindow(true); else GetDlgItem(IDC_RESUME_BUTTON)->EnableWindow(false); @@ -430,7 +427,7 @@ if (LOWORD(wParam) >= ID_POPUP_TIME_CRITICAL && LOWORD(wParam) <= ID_POPUP_IDLE) { // processing priority - chcore::TTaskPtr spSelectedTask = GetSelectedItemPointer(); + chengine::TTaskPtr spSelectedTask = GetSelectedItemPointer(); if(spSelectedTask == nullptr) return ictranslate::CLanguageDialog::OnCommand(wParam, lParam); @@ -470,7 +467,7 @@ else if(LOWORD(wParam) == ID_POPUP_RESET_APPLY_TO_ALL) { // processing priority - chcore::TTaskPtr spSelectedTask = GetSelectedItemPointer(); + chengine::TTaskPtr spSelectedTask = GetSelectedItemPointer(); if(spSelectedTask == nullptr) return ictranslate::CLanguageDialog::OnCommand(wParam, lParam); @@ -483,7 +480,7 @@ void CStatusDlg::OnPauseButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(spTask) { TRACE("PauseProcessing call...\n"); @@ -495,10 +492,10 @@ void CStatusDlg::OnResumeButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(spTask) { - if(spTask->GetTaskState() == chcore::eTaskState_Waiting) + if(spTask->GetTaskState() == chengine::eTaskState_Waiting) spTask->SetForceFlag(); else spTask->ResumeProcessing(); @@ -509,7 +506,7 @@ void CStatusDlg::OnCancelButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(spTask) { spTask->CancelProcessing(); @@ -519,7 +516,7 @@ void CStatusDlg::OnRestartButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(spTask) { spTask->RestartProcessing(); @@ -529,15 +526,15 @@ void CStatusDlg::OnDeleteButton() { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(spTask) { - chcore::ETaskCurrentState eTaskState = spTask->GetTaskState(); + chengine::ETaskCurrentState eTaskState = spTask->GetTaskState(); switch(eTaskState) { - case chcore::eTaskState_Finished: - case chcore::eTaskState_Cancelled: - case chcore::eTaskState_LoadError: + case chengine::eTaskState_Finished: + case chengine::eTaskState_Cancelled: + case chengine::eTaskState_LoadError: break; // allow processing as-is default: @@ -597,11 +594,11 @@ break; case VK_SPACE: { - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if (!spTask) return; - if(spTask->GetTaskState() == chcore::eTaskState_Paused) + if(spTask->GetTaskState() == chengine::eTaskState_Paused) OnResumeButton(); else OnPauseButton(); @@ -612,20 +609,20 @@ *pResult = 0; } -int CStatusDlg::GetImageFromStatus(chcore::ETaskCurrentState eState) +int CStatusDlg::GetImageFromStatus(chengine::ETaskCurrentState eState) { switch(eState) { - case chcore::eTaskState_Cancelled: + case chengine::eTaskState_Cancelled: return 4; - case chcore::eTaskState_Finished: + case chengine::eTaskState_Finished: return 3; - case chcore::eTaskState_Waiting: + case chengine::eTaskState_Waiting: return 5; - case chcore::eTaskState_Paused: + case chengine::eTaskState_Paused: return 2; - case chcore::eTaskState_Error: - case chcore::eTaskState_LoadError: + case chengine::eTaskState_Error: + case chengine::eTaskState_LoadError: return 1; default: return 0; @@ -678,7 +675,7 @@ // add task info for(size_t stIndex = 0; stIndex < m_spTaskMgrStats->GetTaskStatsCount(); ++stIndex) { - chcore::TTaskStatsSnapshotPtr spTaskStats = m_spTaskMgrStats->GetTaskStatsAt(stIndex); + chengine::TTaskStatsSnapshotPtr spTaskStats = m_spTaskMgrStats->GetTaskStatsAt(stIndex); // set (update/add new) entry in the task list (on the left) SetTaskListEntry(stIndex, spTaskStats); @@ -732,7 +729,7 @@ void CStatusDlg::OnShowLogButton() { // show log - chcore::TTaskPtr spTask = GetSelectedItemPointer(); + chengine::TTaskPtr spTask = GetSelectedItemPointer(); if(!spTask) return; @@ -766,19 +763,19 @@ CString strResult; switch(iIndex) { - case chcore::TBufferSizes::eBuffer_Default: + case chengine::TBufferSizes::eBuffer_Default: strResult = GetResManager().LoadString(IDS_BSDEFAULT_STRING); break; - case chcore::TBufferSizes::eBuffer_OneDisk: + case chengine::TBufferSizes::eBuffer_OneDisk: strResult = GetResManager().LoadString(IDS_BSONEDISK_STRING); break; - case chcore::TBufferSizes::eBuffer_TwoDisks: + case chengine::TBufferSizes::eBuffer_TwoDisks: strResult = GetResManager().LoadString(IDS_BSTWODISKS_STRING); break; - case chcore::TBufferSizes::eBuffer_CD: + case chengine::TBufferSizes::eBuffer_CD: strResult = GetResManager().LoadString(IDS_BSCD_STRING); break; - case chcore::TBufferSizes::eBuffer_LAN: + case chengine::TBufferSizes::eBuffer_LAN: strResult = GetResManager().LoadString(IDS_BSLAN_STRING); break; default: @@ -950,76 +947,76 @@ InitializeResizableControls(); } -CString CStatusDlg::GetStatusString(const chcore::TTaskStatsSnapshotPtr& spTaskStats) +CString CStatusDlg::GetStatusString(const chengine::TTaskStatsSnapshotPtr& spTaskStats) { CString strStatusText; // status string // first switch(spTaskStats->GetTaskState()) { - case chcore::eTaskState_Error: + case chengine::eTaskState_Error: { strStatusText = GetResManager().LoadString(IDS_STATUS_ERROR_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_LoadError: + case chengine::eTaskState_LoadError: { strStatusText = GetResManager().LoadString(IDS_STATUS_LOADERROR_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_Paused: + case chengine::eTaskState_Paused: { strStatusText = GetResManager().LoadString(IDS_STATUS_PAUSED_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_Finished: + case chengine::eTaskState_Finished: { strStatusText = GetResManager().LoadString(IDS_STATUS_FINISHED_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_Waiting: + case chengine::eTaskState_Waiting: { strStatusText = GetResManager().LoadString(IDS_STATUS_WAITING_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_Cancelled: + case chengine::eTaskState_Cancelled: { strStatusText = GetResManager().LoadString(IDS_STATUS_CANCELLED_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_None: + case chengine::eTaskState_None: { strStatusText = GetResManager().LoadString(IDS_STATUS_INITIALIZING_STRING); strStatusText += _T("/"); break; } - case chcore::eTaskState_Processing: + case chengine::eTaskState_Processing: break; default: BOOST_ASSERT(false); // not implemented state } // second part - chcore::ESubOperationType eSubOperationType = chcore::eSubOperation_None; - chcore::TSubTaskStatsSnapshotPtr spSubtaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); + chengine::ESubOperationType eSubOperationType = chengine::eSubOperation_None; + chengine::TSubTaskStatsSnapshotPtr spSubtaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); if(spSubtaskStats) eSubOperationType = spSubtaskStats->GetSubOperationType(); - if(eSubOperationType == chcore::eSubOperation_Deleting) + if(eSubOperationType == chengine::eSubOperation_Deleting) strStatusText += GetResManager().LoadString(IDS_STATUS_DELETING_STRING); - else if(eSubOperationType == chcore::eSubOperation_Scanning) + else if(eSubOperationType == chengine::eSubOperation_Scanning) strStatusText += GetResManager().LoadString(IDS_STATUS_SEARCHING_STRING); - else if(eSubOperationType == chcore::eSubOperation_FastMove) + else if(eSubOperationType == chengine::eSubOperation_FastMove) strStatusText += GetResManager().LoadString(IDS_STATUS_FASTMOVE_STRING); - else if(spTaskStats->GetOperationType() == chcore::eOperation_Copy) + else if(spTaskStats->GetOperationType() == chengine::eOperation_Copy) strStatusText += GetResManager().LoadString(IDS_STATUS_COPYING_STRING); - else if(spTaskStats->GetOperationType() == chcore::eOperation_Move) + else if(spTaskStats->GetOperationType() == chengine::eOperation_Move) strStatusText += GetResManager().LoadString(IDS_STATUS_MOVING_STRING); else strStatusText += GetResManager().LoadString(IDS_STATUS_UNKNOWN_STRING); @@ -1042,21 +1039,21 @@ return strStatusText; } -CString CStatusDlg::GetSubtaskName(chcore::ESubOperationType eSubtask) const +CString CStatusDlg::GetSubtaskName(chengine::ESubOperationType eSubtask) const { - if(eSubtask == chcore::eSubOperation_Deleting) + if(eSubtask == chengine::eSubOperation_Deleting) return GetResManager().LoadString(IDS_STATUS_DELETING_STRING); - else if(eSubtask == chcore::eSubOperation_Scanning) + else if(eSubtask == chengine::eSubOperation_Scanning) return GetResManager().LoadString(IDS_STATUS_SEARCHING_STRING); - else if(eSubtask == chcore::eSubOperation_FastMove) + else if(eSubtask == chengine::eSubOperation_FastMove) return GetResManager().LoadString(IDS_STATUS_FASTMOVE_STRING); - else if(eSubtask == chcore::eSubOperation_Copying) + else if(eSubtask == chengine::eSubOperation_Copying) return GetResManager().LoadString(IDS_STATUS_COPYING_STRING); else return GetResManager().LoadString(IDS_STATUS_UNKNOWN_STRING); } -void CStatusDlg::SetTaskListEntry(size_t stPos, const chcore::TTaskStatsSnapshotPtr& spTaskStats) +void CStatusDlg::SetTaskListEntry(size_t stPos, const chengine::TTaskStatsSnapshotPtr& spTaskStats) { // index subitem CString strStatusText = GetStatusString(spTaskStats); @@ -1073,7 +1070,7 @@ else m_ctlStatusList.InsertItem(&lvi); - chcore::TString strCurrentPath = spTaskStats->GetSourcePath(); + string::TString strCurrentPath = spTaskStats->GetSourcePath(); // input file lvi.mask=LVIF_TEXT; @@ -1087,7 +1084,7 @@ // destination path lvi.iSubItem = 2; - chcore::TString strDestinationPath = spTaskStats->GetDestinationPath(); + string::TString strDestinationPath = spTaskStats->GetDestinationPath(); lvi.pszText = (PTSTR)strDestinationPath.c_str(); lvi.cchTextMax = lstrlen(lvi.pszText); m_ctlStatusList.SetItem(&lvi); @@ -1129,13 +1126,13 @@ return strFmt; } -void CStatusDlg::UpdateTaskStatsDetails(const chcore::TTaskStatsSnapshotPtr& spTaskStats) +void CStatusDlg::UpdateTaskStatsDetails(const chengine::TTaskStatsSnapshotPtr& spTaskStats) { unsigned long long timeTotalEstimated = 0; unsigned long long timeElapsed = 0; unsigned long long timeRemaining = 0; - chcore::TSubTaskStatsSnapshotPtr spSubTaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); + chengine::TSubTaskStatsSnapshotPtr spSubTaskStats = spTaskStats->GetSubTasksStats().GetCurrentSubTaskSnapshot(); if(spSubTaskStats) { // text progress @@ -1165,12 +1162,12 @@ GetDlgItem(IDC_SUBTASKTRANSFER_STATIC)->SetWindowText(strSpeed); // subtask name - chcore::ESubOperationType eSubOperationType = spSubTaskStats->GetSubOperationType(); + chengine::ESubOperationType eSubOperationType = spSubTaskStats->GetSubOperationType(); CString strSubtaskName = GetSubtaskName(eSubOperationType); GetDlgItem(IDC_SUBTASKNAME_STATIC)->SetWindowText(strSubtaskName); // current path - chcore::TString strPath = spSubTaskStats->GetCurrentPath(); + string::TString strPath = spSubTaskStats->GetCurrentPath(); if(strPath.IsEmpty()) strPath = GetResManager().LoadString(IDS_NONEINPUTFILE_STRING); Index: src/ch/StatusDlg.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/StatusDlg.h (.../StatusDlg.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/StatusDlg.h (.../StatusDlg.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -22,11 +22,11 @@ #include "FFListCtrl.h" #include "TProgressCtrlEx.h" #include "TExplorerTaskBarProgress.h" +#include "../libchengine/TTask.h" +#include "../libchengine/TTaskManager.h" -namespace chcore -{ +namespace chengine { class TTaskManager; - class TTask; } #define WM_UPDATESTATUS WM_USER+6 @@ -38,17 +38,17 @@ { // Construction public: - explicit CStatusDlg(chcore::TTaskManager* pTasks, CWnd* pParent = nullptr); // standard constructor + explicit CStatusDlg(chengine::TTaskManager* pTasks, CWnd* pParent = nullptr); // standard constructor virtual ~CStatusDlg(); void PostCloseMessage(); void SetBufferSizesString(unsigned long long ullValue, int iIndex); void RefreshStatus(); - int GetImageFromStatus(chcore::ETaskCurrentState eState); + int GetImageFromStatus(chengine::ETaskCurrentState eState); void ApplyButtonsState(); - chcore::TTaskPtr GetSelectedItemPointer(); + chengine::TTaskPtr GetSelectedItemPointer(); size_t GetSelectedItemSessionUniqueID(); void EnableControls(bool bEnable=true); @@ -61,17 +61,17 @@ void OnLanguageChanged() override; void PrepareResizableControls(); - CString GetStatusString(const chcore::TTaskStatsSnapshotPtr& spTaskStats); + CString GetStatusString(const chengine::TTaskStatsSnapshotPtr& spTaskStats); void StickDialogToScreenEdge(); CString FormatTime(unsigned long long timeSeconds); CString FormatTimeMiliseconds(unsigned long long timeMiliSeconds); CString GetProcessedText(unsigned long long ullProcessedCount, unsigned long long ullTotalCount, unsigned long long ullProcessedSize, unsigned long long ullTotalSize); - void UpdateTaskStatsDetails(const chcore::TTaskStatsSnapshotPtr& spTaskStats); - void SetTaskListEntry(size_t stPos, const chcore::TTaskStatsSnapshotPtr& spTaskStats); - CString GetSubtaskName(chcore::ESubOperationType eSubtask) const; + void UpdateTaskStatsDetails(const chengine::TTaskStatsSnapshotPtr& spTaskStats); + void SetTaskListEntry(size_t stPos, const chengine::TTaskStatsSnapshotPtr& spTaskStats); + CString GetSubtaskName(chengine::ESubOperationType eSubtask) const; CString GetProgressWindowTitleText() const; void UpdateTaskBarProgress() const; @@ -106,12 +106,12 @@ DECLARE_MESSAGE_MAP() public: - chcore::TTaskPtr m_spInitialSelection; + chengine::TTaskPtr m_spInitialSelection; static bool m_bLock; // locker protected: - chcore::TTaskManager* m_pTasks; + chengine::TTaskManager* m_pTasks; CImageList m_images; CFFListCtrl m_ctlStatusList; @@ -123,7 +123,7 @@ TProgressCtrlEx m_ctlSubTaskSizeProgress; TProgressCtrlEx m_ctlProgressAll; - chcore::TTaskManagerStatsSnapshotPtr m_spTaskMgrStats; + chengine::TTaskManagerStatsSnapshotPtr m_spTaskMgrStats; TExplorerTaskBarProgress m_taskBarProgress; }; Index: src/ch/Stdafx.h =================================================================== diff -u -r8a2ff3b2b71b45fb525e030167e62f316cb32869 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/Stdafx.h (.../Stdafx.h) (revision 8a2ff3b2b71b45fb525e030167e62f316cb32869) +++ src/ch/Stdafx.h (.../Stdafx.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -45,7 +45,6 @@ #include "debug.h" #include "../libictranslate/LanguageDialog.h" -#include "../libchcore/TConfigSerializers.h" #ifdef _UNICODE #if defined _M_IX86 Index: src/ch/TShellExtensionConfig.cpp =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/TShellExtensionConfig.cpp (.../TShellExtensionConfig.cpp) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/ch/TShellExtensionConfig.cpp (.../TShellExtensionConfig.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -23,6 +23,7 @@ #include "CfgProperties.h" #include "resource.h" #include "shortcuts.h" +#include "../libchengine/TConfigSerializers.h" TShellExtensionConfig::TShellExtensionConfig(const logger::TLogFileDataPtr& spLogData) : m_spLog(logger::MakeLogger(spLogData, L"ShellExtConfig")) @@ -33,7 +34,7 @@ { try { - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); TShellExtMenuConfig cfgShellExt; @@ -57,8 +58,8 @@ PrepareDragAndDropMenuItems(cfgShellExt); PrepareNormalMenuItems(cfgShellExt); - chcore::TConfig cfgStorage; - chcore::TString wstrData; + chengine::TConfig cfgStorage; + string::TString wstrData; cfgShellExt.StoreInConfig(cfgStorage, _T("ShellExtCfg")); cfgStorage.WriteToString(wstrData); @@ -75,33 +76,33 @@ void TShellExtensionConfig::PrepareDragAndDropMenuItems(TShellExtMenuConfig &cfgShellExt) const { - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); ictranslate::CResourceManager& rResManager = GetResManager(); TShellMenuItemPtr spDragAndDropRootItem = cfgShellExt.GetDragAndDropRoot(); bool bAddedAnyOption = false; if(GetPropValue(rConfig)) { spDragAndDropRootItem->AddChild(std::make_shared(rResManager.LoadString(IDS_MENUCOPY_STRING), rResManager.LoadString(IDS_MENUTIPCOPY_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeIDataObject), - TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializePidlFolder, chcore::TSmartPath()), false, chcore::eOperation_Copy)); + TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializePidlFolder, chcore::TSmartPath()), false, chengine::eOperation_Copy)); bAddedAnyOption = true; } if(GetPropValue(rConfig)) { spDragAndDropRootItem->AddChild(std::make_shared(rResManager.LoadString(IDS_MENUMOVE_STRING), rResManager.LoadString(IDS_MENUTIPMOVE_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Move), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Move), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeIDataObject), - TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializePidlFolder, chcore::TSmartPath()), false, chcore::eOperation_Move)); + TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializePidlFolder, chcore::TSmartPath()), false, chengine::eOperation_Move)); bAddedAnyOption = true; } if(GetPropValue(rConfig)) { spDragAndDropRootItem->AddChild(std::make_shared(rResManager.LoadString(IDS_MENUCOPYMOVESPECIAL_STRING), rResManager.LoadString(IDS_MENUTIPCOPYMOVESPECIAL_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeIDataObject), TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializePidlFolder, chcore::TSmartPath()), true)); bAddedAnyOption = true; @@ -116,23 +117,23 @@ void TShellExtensionConfig::PrepareNormalMenuItems(TShellExtMenuConfig &cfgShellExt) const { - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); ictranslate::CResourceManager& rResManager = GetResManager(); TShellMenuItemPtr spNormalRootItem = cfgShellExt.GetNormalRoot(); if(GetPropValue(rConfig)) { spNormalRootItem->AddChild(std::make_shared(rResManager.LoadString(IDS_MENUPASTE_STRING), rResManager.LoadString(IDS_MENUTIPPASTE_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_Clipboard), TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializeAuto, chcore::TSmartPath()), false)); } if(GetPropValue(rConfig)) { spNormalRootItem->AddChild(std::make_shared(rResManager.LoadString(IDS_MENUPASTESPECIAL_STRING), rResManager.LoadString(IDS_MENUTIPPASTESPECIAL_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Autodetect, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_Clipboard), TDestinationPathInfo(TDestinationPathInfo::eDstType_InitializeAuto, chcore::TSmartPath()), true)); } @@ -160,7 +161,7 @@ for(const CShortcut& tShortcut : vShortcuts) { menuItem->AddChild(std::make_shared((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath, - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Specified, chcore::PathFromString((PCTSTR)tShortcut.m_strPath)), false)); } @@ -173,7 +174,7 @@ // "Choose" menu option menuItem->AddChild(std::make_shared(rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_STRING), rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_TOOLTIP_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Choose, chcore::TSmartPath()), false)); } @@ -184,7 +185,7 @@ for(const CShortcut& tShortcut : vShortcuts) { menuItem->AddChild(std::make_shared((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath, - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Move), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Move), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Specified, chcore::PathFromString((PCTSTR)tShortcut.m_strPath)), false)); } @@ -197,7 +198,7 @@ // "Choose" menu option menuItem->AddChild(std::make_shared(rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_STRING), rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_TOOLTIP_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Move), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Move), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Choose, chcore::TSmartPath()), false)); } @@ -208,7 +209,7 @@ for(const CShortcut& tShortcut : vShortcuts) { menuItem->AddChild(std::make_shared((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath, - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Specified, chcore::PathFromString((PCTSTR)tShortcut.m_strPath)), true)); } @@ -221,7 +222,7 @@ // "Choose" menu option menuItem->AddChild(std::make_shared(rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_STRING), rResManager.LoadString(IDS_SHELLEXT_CHOOSE_DIR_TOOLTIP_STRING), - TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy), + TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chengine::eOperation_Copy), TSourcePathsInfo(TSourcePathsInfo::eSrcType_InitializeAuto), TDestinationPathInfo(TDestinationPathInfo::eDstType_Choose, chcore::TSmartPath()), true)); } Index: src/ch/TTaskManagerWrapper.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/TTaskManagerWrapper.cpp (.../TTaskManagerWrapper.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/TTaskManagerWrapper.cpp (.../TTaskManagerWrapper.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -20,27 +20,25 @@ #include "TTaskManagerWrapper.h" #include "resource.h" #include "../libictranslate/ResourceManager.h" -#include "../libchcore/TTaskConfiguration.h" -#include "../libchcore/TTaskDefinition.h" -#include "../libchcore/TTask.h" #include "../libchcore/TBaseException.h" #include "CfgProperties.h" #include "ch.h" +#include "../libchengine/TConfigSerializers.h" -TTaskManagerWrapper::TTaskManagerWrapper(const chcore::TTaskManagerPtr& spTaskManager) : +TTaskManagerWrapper::TTaskManagerWrapper(const chengine::TTaskManagerPtr& spTaskManager) : m_spTaskManager(spTaskManager) { } -chcore::TTaskPtr TTaskManagerWrapper::CreateTask(chcore::TTaskDefinition& rTaskDefinition) +chengine::TTaskPtr TTaskManagerWrapper::CreateTask(chengine::TTaskDefinition& rTaskDefinition) { UpdateFileNamingFormat(rTaskDefinition.GetConfiguration()); CString strMessage; try { // create task with the above definition - chcore::TTaskPtr spTask = m_spTaskManager->CreateTask(rTaskDefinition); + chengine::TTaskPtr spTask = m_spTaskManager->CreateTask(rTaskDefinition); // add to task list and start processing spTask->BeginProcessing(); @@ -70,7 +68,7 @@ return nullptr; } -void TTaskManagerWrapper::UpdateFileNamingFormat(chcore::TConfig& rTaskConfig) +void TTaskManagerWrapper::UpdateFileNamingFormat(chengine::TConfig& rTaskConfig) { ictranslate::CResourceManager& rResourceManager = ictranslate::CResourceManager::Acquire(); @@ -89,6 +87,6 @@ } // load resource strings - chcore::SetTaskPropValue(rTaskConfig, (PCTSTR)strFirstCopyFormat); - chcore::SetTaskPropValue(rTaskConfig, (PCTSTR)strSubsequentCopyFormat); + chengine::SetTaskPropValue(rTaskConfig, (PCTSTR)strFirstCopyFormat); + chengine::SetTaskPropValue(rTaskConfig, (PCTSTR)strSubsequentCopyFormat); } Index: src/ch/TTaskManagerWrapper.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/TTaskManagerWrapper.h (.../TTaskManagerWrapper.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/TTaskManagerWrapper.h (.../TTaskManagerWrapper.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,20 +19,21 @@ #ifndef __TTASKMANAGERWRAPPER_H__ #define __TTASKMANAGERWRAPPER_H__ -#include "../libchcore/TTaskManager.h" +#include "../libchengine/TTask.h" +#include "../libchengine/TTaskManager.h" class TTaskManagerWrapper { public: - explicit TTaskManagerWrapper(const chcore::TTaskManagerPtr& spTaskManager); + explicit TTaskManagerWrapper(const chengine::TTaskManagerPtr& spTaskManager); - chcore::TTaskPtr CreateTask(chcore::TTaskDefinition& rTaskDefinition); + chengine::TTaskPtr CreateTask(chengine::TTaskDefinition& rTaskDefinition); private: - void UpdateFileNamingFormat(chcore::TConfig& rTaskConfig); + void UpdateFileNamingFormat(chengine::TConfig& rTaskConfig); private: - chcore::TTaskManagerPtr m_spTaskManager; + chengine::TTaskManagerPtr m_spTaskManager; }; #endif Index: src/ch/UpdateChecker.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/UpdateChecker.cpp (.../UpdateChecker.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/UpdateChecker.cpp (.../UpdateChecker.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -150,7 +150,7 @@ // ============================================================================ void CUpdateChecker::SetResult(ECheckResult eCheckResult, DWORD dwError) { - chcore::TString strError; + string::TString strError; if(eCheckResult == eResult_Error && dwError != 0) strError = chcore::TWin32ErrorFormatter::FormatWin32ErrorCodeWithFallback(dwError, _T("wininet.dll"), true); Index: src/ch/UpdaterDlg.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/UpdaterDlg.cpp (.../UpdaterDlg.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/ch/UpdaterDlg.cpp (.../UpdaterDlg.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -13,6 +13,7 @@ #include "resource.h" #include "CfgProperties.h" #include "../liblogger/TLogger.h" +#include "../libchengine/TConfigSerializers.h" #define UPDATER_TIMER 639 Index: src/ch/ch.cpp =================================================================== diff -u -re98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ch.cpp (.../ch.cpp) (revision e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8) +++ src/ch/ch.cpp (.../ch.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -31,12 +31,13 @@ #include "CrashDlg.h" #include "../common/version.h" #include "TCommandLineParser.h" -#include "../libchcore/TStringSet.h" +#include "../libstring/TStringSet.h" #include "TMsgBox.h" #include "resource.h" #include "../liblogger/TLogger.h" #include "../liblogger/TAsyncMultiLogger.h" #include "TWindowMessageFilterHelper.h" +#include "../libchengine/TConfigSerializers.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -85,7 +86,7 @@ theApp.OnResManNotify(uiMsg); } -void ConfigPropertyChangedCallback(const chcore::TStringSet& setPropNames, void* /*pParam*/) +void ConfigPropertyChangedCallback(const string::TStringSet& setPropNames, void* /*pParam*/) { theApp.OnConfigNotify(setPropNames); } @@ -123,9 +124,9 @@ return ictranslate::CResourceManager::Acquire(); } -chcore::TConfig& CCopyHandlerApp::GetConfig() +chengine::TConfig& CCopyHandlerApp::GetConfig() { - static chcore::TConfig tCfg; + static chengine::TConfig tCfg; return tCfg; } @@ -233,7 +234,7 @@ strCfgPath = strPath + _T("\\ch.xml"); // initialize configuration file - chcore::TConfig& rCfg = GetConfig(); + chengine::TConfig& rCfg = GetConfig(); rCfg.ConnectToNotifier(ConfigPropertyChangedCallback, nullptr); // read the configuration @@ -475,7 +476,7 @@ void CCopyHandlerApp::InitLoggers() { - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); logger::TAsyncMultiLogger::GetInstance()->SetMaxLogSize(GetPropValue(rConfig)); logger::TAsyncMultiLogger::GetInstance()->SetMaxRotatedCount(GetPropValue(rConfig)); @@ -488,7 +489,7 @@ long lExtensionVersion = 0; INT_PTR iDlgResult = IDNO; - chcore::TConfig& rConfig = GetConfig(); + chengine::TConfig& rConfig = GetConfig(); int iDoNotShowAgain_Unregistered = GetPropValue(rConfig); int iDoNotShowAgain_VersionMismatch = GetPropValue(rConfig); @@ -629,9 +630,9 @@ } } -void CCopyHandlerApp::OnConfigNotify(const chcore::TStringSet& setPropNames) +void CCopyHandlerApp::OnConfigNotify(const string::TStringSet& setPropNames) { - chcore::TConfig& rCfg = GetConfig(); + chengine::TConfig& rCfg = GetConfig(); // is this language if(setPropNames.HasValue(PropData::GetPropertyName())) Index: src/ch/ch.h =================================================================== diff -u -r541304f4e098b4c7617b718287ab40646d5deb92 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ch.h (.../ch.h) (revision 541304f4e098b4c7617b718287ab40646d5deb92) +++ src/ch/ch.h (.../ch.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -21,12 +21,12 @@ #include "AppHelper.h" #include "../libictranslate/ResourceManager.h" -#include "../libchcore/TConfig.h" #include "TShellExtensionClient.h" #include "TCommandLineParser.h" #include "../liblogger/TLogger.h" -#include "../libchcore/TCoreEngine.h" #include "TShellExtensionConfig.h" +#include "../libchengine/TConfig.h" +#include "../libchengine/TCoreEngine.h" class CCopyHandlerApp : public CWinApp, public CAppHelper { @@ -45,7 +45,7 @@ friend CCopyHandlerApp& GetApplication(); static ictranslate::CResourceManager& GetResManager(); - static chcore::TConfig& GetConfig(); + static chengine::TConfig& GetConfig(); logger::TLogFileDataPtr GetLogFileData() const; logger::TMultiLoggerConfigPtr GetEngineLoggerConfig() const; @@ -54,7 +54,7 @@ void RegisterShellExtension(); void UnregisterShellExtension(); - void OnConfigNotify(const chcore::TStringSet& setPropNames); + void OnConfigNotify(const string::TStringSet& setPropNames); void OnResManNotify(UINT uiType); const TCommandLineParser& GetCommandLine() const { return m_cmdLineParser; } @@ -74,7 +74,7 @@ TCommandLineParser m_cmdLineParser; - chcore::TCoreEngine m_chEngine; + chengine::TCoreEngine m_chEngine; TShellExtensionConfigPtr m_shellExtConfig; TShellExtensionClient m_tShellExtClient; @@ -103,7 +103,7 @@ return CCopyHandlerApp::GetResManager(); } -inline chcore::TConfig& GetConfig() +inline chengine::TConfig& GetConfig() { return CCopyHandlerApp::GetConfig(); } Index: src/ch/ch.vc140.vcxproj =================================================================== diff -u -rd04caed42cbc16ffd508f173ca5f92d9512cfc69 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision d04caed42cbc16ffd508f173ca5f92d9512cfc69) +++ src/ch/ch.vc140.vcxproj (.../ch.vc140.vcxproj) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,2011 +1,2020 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Testing Debug - Win32 - - - Testing Debug - x64 - - - Testing Release - Win32 - - - Testing Release - x64 - - - - ch - {4B215B9A-58CA-4987-AC95-7DFC3043E100} - ch - MFCProj - - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - Application - v120_xp - Dynamic - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>11.0.51106.1 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - $(ProjectName)64 - false - NativeRecommendedRules.ruleset - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - $(ProjectName)64 - false - NativeRecommendedRules.ruleset - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - false - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - false - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - false - $(ProjectName)64 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - false - $(ProjectName)64 - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/ch.tlb - - - - /Zm150 %(AdditionalOptions) - Disabled - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - true - false - NoExtensions - 4714 - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) - true - Windows - MachineX86 - "$(OutDir)" - true - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/ch.tlb - - - - - /Zm150 %(AdditionalOptions) - Disabled - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - true - false - NoExtensions - 4714 - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock32d.lib;%(AdditionalDependencies) - true - Console - MachineX86 - "$(OutDir)" - true - - - cd "$(TargetDir)" -"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/ch.tlb - - - - /Zm150 %(AdditionalOptions) - Disabled - %(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - 4714 - false - true - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) - true - Windows - MachineX64 - "$(OutDir)" - false - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/ch.tlb - - - - - /Zm150 %(AdditionalOptions) - Disabled - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - 4714 - false - true - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock64d.lib;%(AdditionalDependencies) - true - Console - MachineX64 - "$(OutDir)" - false - - - cd "$(TargetDir)" -"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/ch.tlb - - - - /Zm150 %(AdditionalOptions) - MaxSpeed - AnySuitable - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - NoExtensions - 4714 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) - true - Windows - MachineX86 - "$(OutDir)" - true - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/ch.tlb - - - - - /Zm150 %(AdditionalOptions) - MaxSpeed - AnySuitable - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - NoExtensions - 4714 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock32.lib;%(AdditionalDependencies) - true - Console - MachineX86 - "$(OutDir)" - true - - - cd "$(TargetDir)" -"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/ch.tlb - - - - /Zm150 %(AdditionalOptions) - Disabled - AnySuitable - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - 4714 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) - true - Windows - MachineX64 - "$(OutDir)" - false - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/ch.tlb - - - - - /Zm150 %(AdditionalOptions) - Disabled - AnySuitable - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - 4714 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock64.lib;%(AdditionalDependencies) - true - Console - MachineX64 - "$(OutDir)" - false - - - cd "$(TargetDir)" -"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generating map file for help compiler... - Generating map file for help compiler... - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - help\HTMLDefines.h;%(Outputs) - help\HTMLDefines.h;%(Outputs) - Generating map file for help compiler... - Generating map file for help compiler... - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - help\HTMLDefines.h;%(Outputs) - help\HTMLDefines.h;%(Outputs) - Generating map file for help compiler... - Generating map file for help compiler... - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - help\HTMLDefines.h;%(Outputs) - help\HTMLDefines.h;%(Outputs) - Generating map file for help compiler... - Generating map file for help compiler... - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" -echo. > "help\HTMLDefines.h" -echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" -makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Prompts (IDP_*) >> "help\HTMLDefines.h" -makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Resources (IDR_*) >> "help\HTMLDefines.h" -makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" -makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" -makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" -echo. >> "help\HTMLDefines.h" -echo // Controls (IDC_*) >> "help\HTMLDefines.h" -makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" - - help\HTMLDefines.h;%(Outputs) - help\HTMLDefines.h;%(Outputs) - - - - - true - true - true - true - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - Create - Create - Create - Create - Create - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compiling resources %(FullPath) - Compiling resources %(FullPath) - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - res/ch.rc2;version.h - res/ch.rc2;version.h - $(OutDir)%(Filename).res;%(Outputs) - $(OutDir)%(Filename).res;%(Outputs) - Compiling resources %(FullPath) - Compiling resources %(FullPath) - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - res/ch.rc2;version.h - res/ch.rc2;version.h - $(OutDir)%(Filename).res;%(Outputs) - $(OutDir)%(Filename).res;%(Outputs) - Compiling resources %(FullPath) - Compiling resources %(FullPath) - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - res/ch.rc2;version.h - res/ch.rc2;version.h - $(OutDir)%(Filename).res;%(Outputs) - $(OutDir)%(Filename).res;%(Outputs) - Compiling resources %(FullPath) - Compiling resources %(FullPath) - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" -rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" - - res/ch.rc2;version.h - res/ch.rc2;version.h - $(OutDir)%(Filename).res;%(Outputs) - $(OutDir)%(Filename).res;%(Outputs) - - - - - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\english\english.chm;%(Outputs) - help\english\english.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\english\english.chm;%(Outputs) - help\english\english.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\english\english.chm;%(Outputs) - help\english\english.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\english\english.chm;%(Outputs) - help\english\english.chm;%(Outputs) - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - true - - - true - - - true - - - true - - - true - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - Copying language file %(Filename)%(Extension)... - Copying language file %(Filename)%(Extension)... - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" - - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - $(OutDir)langs\%(Filename)%(Extension);%(Outputs) - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\polish\polish.chm;%(Outputs) - help\polish\polish.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\polish\polish.chm;%(Outputs) - help\polish\polish.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\polish\polish.chm;%(Outputs) - help\polish\polish.chm;%(Outputs) - Making help file... - Making help file... - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" -SET PATH=%PATH%;$(VS_ExecutablePath) -hhc "%(FullPath)" -if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError -mkdir "$(OutDir)help" >nul 2>nul -copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" -goto :HelpDone -:HelpError -echo %(FullPath)(1) : error:Problem encountered creating help file -echo. -exit 1 -:HelpDone -echo. - - help\HTMLDefines.h;%(AdditionalInputs) - help\HTMLDefines.h;%(AdditionalInputs) - help\polish\polish.chm;%(Outputs) - help\polish\polish.chm;%(Outputs) - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {cbbf380b-7b16-4a1e-8194-758dad7d8011} - - - {dd1f3242-7ee4-4f41-8b8d-d833300c445f} - - - {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} - - - - - - - - - - + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + Testing Debug + Win32 + + + Testing Debug + x64 + + + Testing Release + Win32 + + + Testing Release + x64 + + + + ch + {4B215B9A-58CA-4987-AC95-7DFC3043E100} + ch + MFCProj + + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + Application + v120_xp + Dynamic + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>11.0.51106.1 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64 + false + NativeRecommendedRules.ruleset + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64 + false + NativeRecommendedRules.ruleset + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64 + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/ch.tlb + + + + /Zm150 %(AdditionalOptions) + Disabled + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + false + NoExtensions + 4714 + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/ch.tlb + + + + + /Zm150 %(AdditionalOptions) + Disabled + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + false + NoExtensions + 4714 + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock32d.lib;%(AdditionalDependencies) + true + Console + MachineX86 + "$(OutDir)" + true + + + cd "$(TargetDir)" +"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/ch.tlb + + + + /Zm150 %(AdditionalOptions) + Disabled + %(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + 4714 + false + true + false + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/ch.tlb + + + + + /Zm150 %(AdditionalOptions) + Disabled + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + 4714 + false + true + false + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock64d.lib;%(AdditionalDependencies) + true + Console + MachineX64 + "$(OutDir)" + false + + + cd "$(TargetDir)" +"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/ch.tlb + + + + /Zm150 %(AdditionalOptions) + MaxSpeed + AnySuitable + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + NoExtensions + 4714 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/ch.tlb + + + + + /Zm150 %(AdditionalOptions) + MaxSpeed + AnySuitable + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + NoExtensions + 4714 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock32.lib;%(AdditionalDependencies) + true + Console + MachineX86 + "$(OutDir)" + true + + + cd "$(TargetDir)" +"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/ch.tlb + + + + /Zm150 %(AdditionalOptions) + Disabled + AnySuitable + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + 4714 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;%(AdditionalDependencies) + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/ch.tlb + + + + + /Zm150 %(AdditionalOptions) + Disabled + AnySuitable + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;_SCL_SECURE_NO_WARNINGS;TESTING;_CONSOLE;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + 4714 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;imagehlp.lib;version.lib;htmlhelp.lib;Dbghelp.lib;gmock64.lib;%(AdditionalDependencies) + true + Console + MachineX64 + "$(OutDir)" + false + + + cd "$(TargetDir)" +"$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generating map file for help compiler... + Generating map file for help compiler... + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + help\HTMLDefines.h;%(Outputs) + help\HTMLDefines.h;%(Outputs) + Generating map file for help compiler... + Generating map file for help compiler... + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + help\HTMLDefines.h;%(Outputs) + help\HTMLDefines.h;%(Outputs) + Generating map file for help compiler... + Generating map file for help compiler... + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + help\HTMLDefines.h;%(Outputs) + help\HTMLDefines.h;%(Outputs) + Generating map file for help compiler... + Generating map file for help compiler... + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + echo // Generated Help Map file. Used by Copy Handler help files. > "help\HTMLDefines.h" +echo. > "help\HTMLDefines.h" +echo // Commands (ID_* and IDM_*) >> "help\HTMLDefines.h" +makehm /h ID_,HID_,0x10000 IDM_,HIDM_,0x10000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Prompts (IDP_*) >> "help\HTMLDefines.h" +makehm /h IDP_,HIDP_,0x30000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Resources (IDR_*) >> "help\HTMLDefines.h" +makehm /h IDR_,HIDR_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Dialogs (IDD_*) >> "help\HTMLDefines.h" +makehm /h IDD_,HIDD_,0x20000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Frame Controls (IDW_*) >> "help\HTMLDefines.h" +makehm /h /a afxhh.h IDW_,HIDW_,0x50000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" +echo. >> "help\HTMLDefines.h" +echo // Controls (IDC_*) >> "help\HTMLDefines.h" +makehm /h IDC_,IDH_,0x00000 "%(Filename)%(Extension)" >> "help\HTMLDefines.h" + + help\HTMLDefines.h;%(Outputs) + help\HTMLDefines.h;%(Outputs) + + + + + true + true + true + true + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compiling resources %(FullPath) + Compiling resources %(FullPath) + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + res/ch.rc2;version.h + res/ch.rc2;version.h + $(OutDir)%(Filename).res;%(Outputs) + $(OutDir)%(Filename).res;%(Outputs) + Compiling resources %(FullPath) + Compiling resources %(FullPath) + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + res/ch.rc2;version.h + res/ch.rc2;version.h + $(OutDir)%(Filename).res;%(Outputs) + $(OutDir)%(Filename).res;%(Outputs) + Compiling resources %(FullPath) + Compiling resources %(FullPath) + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + res/ch.rc2;version.h + res/ch.rc2;version.h + $(OutDir)%(Filename).res;%(Outputs) + $(OutDir)%(Filename).res;%(Outputs) + Compiling resources %(FullPath) + Compiling resources %(FullPath) + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + "$(SolutionDir)\tools\rc2lng.exe" "%(FullPath)" "$(InputDir)scripts\header.lng" "$(IntDir)\chtmp.rc" "$(OutDir)langs\english.lng" "$(InputDir)resource.h" "$(VCInstallDir)atlmfc\include\afxres.h" +rc.exe /l 0x409 /d "NDEBUG" /d "_AFXDLL" /fo"$(OutDir)\%(Filename).res" "$(IntDir)\chtmp.rc" + + res/ch.rc2;version.h + res/ch.rc2;version.h + $(OutDir)%(Filename).res;%(Outputs) + $(OutDir)%(Filename).res;%(Outputs) + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\english\english.chm;%(Outputs) + help\english\english.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\english\english.chm;%(Outputs) + help\english\english.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\english\english.chm;%(Outputs) + help\english\english.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)english.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)english.chm" "$(OutDir)help\english.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\english\english.chm;%(Outputs) + help\english\english.chm;%(Outputs) + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + true + + + true + + + true + + + true + + + true + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + Copying language file %(Filename)%(Extension)... + Copying language file %(Filename)%(Extension)... + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + copy "%(FullPath)" "$(OutDir)langs\%(Filename)%(Extension)" + + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + $(OutDir)langs\%(Filename)%(Extension);%(Outputs) + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\polish\polish.chm;%(Outputs) + help\polish\polish.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\polish\polish.chm;%(Outputs) + help\polish\polish.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\polish\polish.chm;%(Outputs) + help\polish\polish.chm;%(Outputs) + Making help file... + Making help file... + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + copy "help\HTMLDefines.h" "%(RootDir)%(Directory)HTMLDefines.h" +SET PATH=%PATH%;$(VS_ExecutablePath) +hhc "%(FullPath)" +if not exist "%(RootDir)%(Directory)polish.chm" goto :HelpError +mkdir "$(OutDir)help" >nul 2>nul +copy "%(RootDir)%(Directory)polish.chm" "$(OutDir)help\polish.chm" +goto :HelpDone +:HelpError +echo %(FullPath)(1) : error:Problem encountered creating help file +echo. +exit 1 +:HelpDone +echo. + + help\HTMLDefines.h;%(AdditionalInputs) + help\HTMLDefines.h;%(AdditionalInputs) + help\polish\polish.chm;%(Outputs) + help\polish\polish.chm;%(Outputs) + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {cbbf380b-7b16-4a1e-8194-758dad7d8011} + + + {6840f785-917f-46ee-bd56-c296c7a5b9e9} + + + {dd1f3242-7ee4-4f41-8b8d-d833300c445f} + + + {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} + + + {9490ec08-9cab-4f99-99d8-0297e5bf6ea7} + + + {5bd38175-9f48-417d-8e5b-7093b1873ce5} + + + + + + + + + + \ No newline at end of file Index: src/chext/DropMenuExt.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/DropMenuExt.cpp (.../DropMenuExt.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/chext/DropMenuExt.cpp (.../DropMenuExt.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -20,7 +20,7 @@ #include "chext.h" #include "DropMenuExt.h" #include "../Common/ipcstructs.h" -#include "../libchcore/TTaskDefinition.h" +#include "../libchengine/TTaskDefinition.h" #include "../common/TShellExtMenuConfig.h" #include "../libchcore/TSharedMemory.h" #include "Logger.h" @@ -174,7 +174,7 @@ chcore::TPathContainer vSourcePaths; chcore::TSmartPath spDestinationPath; - chcore::EOperationType eOperationType = chcore::eOperation_None; + chengine::EOperationType eOperationType = chengine::eOperation_None; if(!m_tShellExtData.GetSourcePathsByItem(spSelectedItem, vSourcePaths)) return E_FAIL; @@ -183,13 +183,13 @@ if(!m_tShellExtData.GetOperationTypeByItem(spSelectedItem, eOperationType)) return E_FAIL; - chcore::TTaskDefinition tTaskDefinition; + chengine::TTaskDefinition tTaskDefinition; tTaskDefinition.SetSourcePaths(vSourcePaths); tTaskDefinition.SetDestinationPath(spDestinationPath); tTaskDefinition.SetOperationType(eOperationType); // get task data as xml - chcore::TString wstrData; + string::TString wstrData; tTaskDefinition.StoreInString(wstrData); // fill struct Index: src/chext/HResultFormatter.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/HResultFormatter.cpp (.../HResultFormatter.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/chext/HResultFormatter.cpp (.../HResultFormatter.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -40,7 +40,7 @@ default: { - chcore::TString strDesc = chcore::TWin32ErrorFormatter::FormatWin32ErrorCodeWithFallback(hResult, nullptr, false); + string::TString strDesc = chcore::TWin32ErrorFormatter::FormatWin32ErrorCodeWithFallback(hResult, nullptr, false); if(!strDesc.IsEmpty()) wstr << L" (" << strDesc.c_str() << ")"; } Index: src/chext/MenuExt.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/MenuExt.cpp (.../MenuExt.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/chext/MenuExt.cpp (.../MenuExt.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -25,10 +25,10 @@ #include #include "../common/TShellExtMenuConfig.h" #include "../libchcore/TSharedMemory.h" -#include "../libchcore/TTaskDefinition.h" #include #include "ShellExtensionVerifier.h" #include "Logger.h" +#include "../libchengine/TTaskDefinition.h" // globals static void CutAmpersands(LPTSTR lpszString) @@ -217,7 +217,7 @@ chcore::TPathContainer vSourcePaths; chcore::TSmartPath spDestinationPath; - chcore::EOperationType eOperationType = chcore::eOperation_None; + chengine::EOperationType eOperationType = chengine::eOperation_None; if(!m_tShellExtData.GetSourcePathsByItem(spSelectedItem, vSourcePaths)) return E_FAIL; @@ -226,13 +226,13 @@ if(!m_tShellExtData.GetOperationTypeByItem(spSelectedItem, eOperationType)) return E_FAIL; - chcore::TTaskDefinition tTaskDefinition; + chengine::TTaskDefinition tTaskDefinition; tTaskDefinition.SetSourcePaths(vSourcePaths); tTaskDefinition.SetDestinationPath(spDestinationPath); tTaskDefinition.SetOperationType(eOperationType); // get task data as xml - chcore::TString wstrData; + string::TString wstrData; tTaskDefinition.StoreInString(wstrData); // fill struct Index: src/chext/ShellExtensionVerifier.cpp =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/ShellExtensionVerifier.cpp (.../ShellExtensionVerifier.cpp) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/chext/ShellExtensionVerifier.cpp (.../ShellExtensionVerifier.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,92 +1,92 @@ -// ============================================================================ -// Copyright (C) 2001-2015 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// ============================================================================ -#include "stdafx.h" -#include "ShellExtensionVerifier.h" -#include "Logger.h" -#include "../libchcore/TConfig.h" -#include "../liblogger/TLogger.h" -#include "../common/TShellExtMenuConfig.h" -#include -#include "../common/TShellExtIpcConfigDataConsumer.h" - -HWND ShellExtensionVerifier::VerifyShellExt(IShellExtControl* piShellExtControl) -{ - logger::TLoggerPtr spLogger = GetLogger(L"ShellExtVerifier"); - - HRESULT hResult = IsShellExtEnabled(piShellExtControl); - if(FAILED(hResult) || hResult == S_FALSE) - { - LOG_DEBUG(spLogger) << L"Shell extension is disabled."; - return nullptr; - } - - // find CH's window - HWND hWnd = ::FindWindow(_T("Copy Handler Wnd Class"), _T("Copy handler")); - if(!hWnd) - { - LOG_DEBUG(spLogger) << L"Cannot find Copy Handler's window."; - return nullptr; - } - - return hWnd; -} - -HRESULT ShellExtensionVerifier::IsShellExtEnabled(IShellExtControl* piShellExtControl) -{ - if(!piShellExtControl) - return E_FAIL; - - LONG lFlags = eShellExt_None; - HRESULT hResult = piShellExtControl->GetFlags(&lFlags); - if(FAILED(hResult)) - return hResult; - - if(lFlags & eShellExt_Enabled) - return S_OK; - - return S_FALSE; -} - -HRESULT ShellExtensionVerifier::ReadShellConfig(IShellExtControl* piShellExtControl, TShellExtMenuConfig& tShellExtConfig) -{ - logger::TLoggerPtr spLogger = GetLogger(L"ShellExtVerifier"); - try - { - HWND hWnd = ShellExtensionVerifier::VerifyShellExt(piShellExtControl); - if(hWnd == nullptr) - return E_FAIL; - - LOG_DEBUG(spLogger) << L"Requesting CH configuration"; - - chcore::TString wstrData = TShellExtIpcConfigDataConsumer::GetConfigData(); - chcore::TConfig cfgShellExtData; - - LOG_TRACE(spLogger) << L"Retrieved shell ext config: " << wstrData; - - cfgShellExtData.ReadFromString(wstrData); - - tShellExtConfig.ReadFromConfig(cfgShellExtData, _T("ShellExtCfg")); - - return S_OK; - } - catch(...) - { - return E_FAIL; - } -} +// ============================================================================ +// Copyright (C) 2001-2015 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#include "stdafx.h" +#include "ShellExtensionVerifier.h" +#include "Logger.h" +#include "../libchengine/TConfig.h" +#include "../liblogger/TLogger.h" +#include "../common/TShellExtMenuConfig.h" +#include +#include "../common/TShellExtIpcConfigDataConsumer.h" + +HWND ShellExtensionVerifier::VerifyShellExt(IShellExtControl* piShellExtControl) +{ + logger::TLoggerPtr spLogger = GetLogger(L"ShellExtVerifier"); + + HRESULT hResult = IsShellExtEnabled(piShellExtControl); + if(FAILED(hResult) || hResult == S_FALSE) + { + LOG_DEBUG(spLogger) << L"Shell extension is disabled."; + return nullptr; + } + + // find CH's window + HWND hWnd = ::FindWindow(_T("Copy Handler Wnd Class"), _T("Copy handler")); + if(!hWnd) + { + LOG_DEBUG(spLogger) << L"Cannot find Copy Handler's window."; + return nullptr; + } + + return hWnd; +} + +HRESULT ShellExtensionVerifier::IsShellExtEnabled(IShellExtControl* piShellExtControl) +{ + if(!piShellExtControl) + return E_FAIL; + + LONG lFlags = eShellExt_None; + HRESULT hResult = piShellExtControl->GetFlags(&lFlags); + if(FAILED(hResult)) + return hResult; + + if(lFlags & eShellExt_Enabled) + return S_OK; + + return S_FALSE; +} + +HRESULT ShellExtensionVerifier::ReadShellConfig(IShellExtControl* piShellExtControl, TShellExtMenuConfig& tShellExtConfig) +{ + logger::TLoggerPtr spLogger = GetLogger(L"ShellExtVerifier"); + try + { + HWND hWnd = ShellExtensionVerifier::VerifyShellExt(piShellExtControl); + if(hWnd == nullptr) + return E_FAIL; + + LOG_DEBUG(spLogger) << L"Requesting CH configuration"; + + string::TString wstrData = TShellExtIpcConfigDataConsumer::GetConfigData(); + chengine::TConfig cfgShellExtData; + + LOG_TRACE(spLogger) << L"Retrieved shell ext config: " << wstrData; + + cfgShellExtData.ReadFromString(wstrData); + + tShellExtConfig.ReadFromConfig(cfgShellExtData, _T("ShellExtCfg")); + + return S_OK; + } + catch(...) + { + return E_FAIL; + } +} Index: src/chext/TContextMenuHandler.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/TContextMenuHandler.cpp (.../TContextMenuHandler.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/chext/TContextMenuHandler.cpp (.../TContextMenuHandler.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -39,7 +39,7 @@ } void TContextMenuHandler::Init(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemID, UINT uiFirstItemPosition, const TShellExtData& rShellExtData, - const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem) + const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem) { Clear(); @@ -51,7 +51,7 @@ } void TContextMenuHandler::UpdateMenuRecursive(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemPosition, - const TShellExtData& rShellExtData, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem) + const TShellExtData& rShellExtData, const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem) { for(size_t stIndex = 0; stIndex < spRootMenuItem->GetChildrenCount(); ++stIndex) { @@ -105,7 +105,7 @@ } } -std::wstring TContextMenuHandler::GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace) +std::wstring TContextMenuHandler::GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace) { std::wstring wstrItemName = spMenuItem->GetLocalName(false).c_str(); Index: src/chext/TContextMenuHandler.h =================================================================== diff -u -r3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/TContextMenuHandler.h (.../TContextMenuHandler.h) (revision 3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4) +++ src/chext/TContextMenuHandler.h (.../TContextMenuHandler.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,64 +1,64 @@ -// ============================================================================ -// Copyright (C) 2001-2011 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// ============================================================================ -/// @file TContextMenuHandler.h -/// @date 2011/05/28 -/// @brief Contains class which handles context menu. -// ============================================================================ -#ifndef __TCONTEXTMENUHANDLER_H__ -#define __TCONTEXTMENUHANDLER_H__ - -#include "TShellExtData.h" -#include "../libchcore/TLocalFilesystem.h" -#include "../libchcore/TSizeFormatter.h" - -class TShellMenuItem; - -typedef std::shared_ptr TShellMenuItemPtr; - -class TContextMenuHandler -{ -public: - TContextMenuHandler(); - ~TContextMenuHandler(); - - void Init(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemID, UINT uiFirstItemPosition, const TShellExtData& rShellExtData, - const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, - bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem); - void Clear(); - - UINT GetLastCommandID() const { return m_uiNextMenuID; } - TShellMenuItemPtr GetCommandByMenuItemOffset(UINT uiOffset); - TShellMenuItemPtr GetCommandByItemID(UINT uiOffset); - -protected: - void UpdateMenuRecursive(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemPosition, const TShellExtData& rShellExtData, - const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem); - std::wstring GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace); - -private: - std::map m_mapMenuItems; - std::vector m_vHandlesToFree; - - UINT m_uiFirstMenuID; // menu ID from which the numbering started - UINT m_uiNextMenuID; // next menu ID to be used - - bool m_bEnableOwnerDrawnPaths; - chcore::TLocalFilesystem m_fsLocal; -}; -#endif +// ============================================================================ +// Copyright (C) 2001-2011 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +/// @file TContextMenuHandler.h +/// @date 2011/05/28 +/// @brief Contains class which handles context menu. +// ============================================================================ +#ifndef __TCONTEXTMENUHANDLER_H__ +#define __TCONTEXTMENUHANDLER_H__ + +#include "TShellExtData.h" +#include "../libchengine/TLocalFilesystem.h" +#include "../libchengine/TSizeFormatter.h" + +class TShellMenuItem; + +typedef std::shared_ptr TShellMenuItemPtr; + +class TContextMenuHandler +{ +public: + TContextMenuHandler(); + ~TContextMenuHandler(); + + void Init(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemID, UINT uiFirstItemPosition, const TShellExtData& rShellExtData, + const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, + bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem); + void Clear(); + + UINT GetLastCommandID() const { return m_uiNextMenuID; } + TShellMenuItemPtr GetCommandByMenuItemOffset(UINT uiOffset); + TShellMenuItemPtr GetCommandByItemID(UINT uiOffset); + +protected: + void UpdateMenuRecursive(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemPosition, const TShellExtData& rShellExtData, + const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem); + std::wstring GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chengine::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace); + +private: + std::map m_mapMenuItems; + std::vector m_vHandlesToFree; + + UINT m_uiFirstMenuID; // menu ID from which the numbering started + UINT m_uiNextMenuID; // next menu ID to be used + + bool m_bEnableOwnerDrawnPaths; + chengine::TLocalFilesystem m_fsLocal; +}; +#endif Index: src/chext/TShellExtData.cpp =================================================================== diff -u -rbb6d02bb603d82784d53462f857a0535081497af -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/TShellExtData.cpp (.../TShellExtData.cpp) (revision bb6d02bb603d82784d53462f857a0535081497af) +++ src/chext/TShellExtData.cpp (.../TShellExtData.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,601 +1,601 @@ -// ============================================================================ -// Copyright (C) 2001-2011 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// ============================================================================ -/// @file TShellExtData.cpp -/// @date 2011/05/29 -/// @brief Implementation of class for handling data harvested with shell interfaces. -// ============================================================================ -#include "stdafx.h" -#include "TShellExtData.h" -#include "ShellPathsHelpers.h" -#include "../common/TShellExtMenuConfig.h" - -TShellExtData::TShellExtData() : - m_vPathsIDataObject(), - m_dwIDataObjectDropEffect(0), - m_pathPidlFolder(), - m_ulKeysState(eKey_None), - m_vPathsClipboard(), - m_dwClipboardDropEffect(0), - m_bFolderBackground(false), - m_eDefaultSystemMenuAction(eAction_None) -{ -} - -TShellExtData::~TShellExtData() -{ -} - -HRESULT TShellExtData::GatherDataFromInitialize(LPCITEMIDLIST pidlFolder, IDataObject* piDataObject) -{ - Clear(); - - HRESULT hResult = S_OK; - - // read information from pidlFolder - if(pidlFolder) - hResult = ShellPathsHelpers::GetPathFromITEMIDLIST(pidlFolder, m_pathPidlFolder); - - // process IDataObject - if(SUCCEEDED(hResult) && piDataObject) - { - hResult = ShellPathsHelpers::GetPathsFromIDataObject(piDataObject, m_vPathsIDataObject); - if(hResult != S_OK) - hResult = E_FAIL; - if(SUCCEEDED(hResult)) - hResult = ReadPreferredDropEffectFromIDataObject(piDataObject); - } - - // Read clipboard paths with preferred drop effects - if(SUCCEEDED(hResult)) - hResult = ReadClipboard(); - - if(SUCCEEDED(hResult)) - { - ReadKeyboardState(); - - // experimentally deduced condition - m_bFolderBackground = (piDataObject == nullptr) && (pidlFolder != nullptr); - } - - return hResult; -} - -void TShellExtData::Clear() -{ - m_vPathsIDataObject.Clear(); - m_dwIDataObjectDropEffect = 0; - - m_pathPidlFolder.Clear(); - - m_ulKeysState = eKey_None; - - m_vPathsClipboard.Clear(); - m_dwClipboardDropEffect = 0; - - m_bFolderBackground = false; - - m_eDefaultSystemMenuAction = eAction_None; -} - -bool TShellExtData::CanServeAsSourcePaths(EDataSource eDataSource) const -{ - switch(eDataSource) - { - case eDS_Clipboard: - return !m_vPathsClipboard.IsEmpty(); - case eDS_IDataObject: - return !m_vPathsIDataObject.IsEmpty(); - case eDS_PidlFolder: - return !m_pathPidlFolder.IsEmpty(); - - default: - BOOST_ASSERT(false); - return false; - } -} - -bool TShellExtData::CanServeAsDestinationPath(EDataSource eDataSource) const -{ - switch(eDataSource) - { - case eDS_Clipboard: - return m_vPathsClipboard.GetCount() == 1 && (::GetFileAttributes(m_vPathsClipboard.GetAt(0).ToString()) & FILE_ATTRIBUTE_DIRECTORY); - case eDS_IDataObject: - return m_vPathsIDataObject.GetCount() == 1 && (::GetFileAttributes(m_vPathsIDataObject.GetAt(0).ToString()) & FILE_ATTRIBUTE_DIRECTORY); - case eDS_PidlFolder: - return !m_pathPidlFolder.IsEmpty() && (::GetFileAttributes(m_pathPidlFolder.ToString()) & FILE_ATTRIBUTE_DIRECTORY); - - default: - BOOST_ASSERT(false); - return false; - } -} - -bool TShellExtData::VerifyItemCanBeExecuted(const TShellMenuItemPtr& spMenuItem) const -{ - if(!spMenuItem || spMenuItem->IsGroupItem()) - return false; - - // where do we expect source paths to get from - switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) - { - case TSourcePathsInfo::eSrcType_Clipboard: - { - if(!CanServeAsSourcePaths(eDS_Clipboard)) - return false; - break; - } - case TSourcePathsInfo::eSrcType_InitializePidlFolder: - { - if(!CanServeAsSourcePaths(eDS_PidlFolder)) - return false; - break; - } - case TSourcePathsInfo::eSrcType_InitializeIDataObject: - { - if(!CanServeAsSourcePaths(eDS_IDataObject)) - return false; - break; - } - case TSourcePathsInfo::eSrcType_InitializeAuto: - { - if(!CanServeAsSourcePaths(eDS_IDataObject) && !CanServeAsSourcePaths(eDS_PidlFolder)) - return false; - break; - } - default: - return false; - } - - // destination path - switch(spMenuItem->GetDestinationPathInfo().GetDstPathSource()) - { - case TDestinationPathInfo::eDstType_Clipboard: - { - if(!CanServeAsDestinationPath(eDS_Clipboard)) - return false; - break; - } - case TDestinationPathInfo::eDstType_InitializePidlFolder: - { - if(!CanServeAsDestinationPath(eDS_PidlFolder)) - return false; - break; - } - case TDestinationPathInfo::eDstType_InitializeIDataObject: - { - if(!CanServeAsDestinationPath(eDS_IDataObject)) - return false; - break; - } - case TDestinationPathInfo::eDstType_InitializeAuto: - { - if(!CanServeAsDestinationPath(eDS_IDataObject) && !CanServeAsDestinationPath(eDS_PidlFolder)) - return false; - break; - } - case TDestinationPathInfo::eDstType_Specified: - { - // here we don't check if this is a directory or if it exists - it's assumed that user knows what is he doing - if(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath().IsEmpty()) - return false; - break; - } - case TDestinationPathInfo::eDstType_Choose: - break; // returns true - - default: - return false; - } - - // if it passed all checks, means that we can allow this combination of source and destination path(s) to be used for command - return true; -} - -bool TShellExtData::IsDefaultItem(const TShellMenuItemPtr& spMenuItem) const -{ - if(!spMenuItem || spMenuItem->IsGroupItem() || spMenuItem->GetDefaultItemHint() == chcore::eOperation_None) - return false; - - // check if there was a state defined by reading the current context menu - if(m_eDefaultSystemMenuAction != eAction_None) - { - switch(m_eDefaultSystemMenuAction) - { - case eAction_Copy: - return spMenuItem->GetDefaultItemHint() == chcore::eOperation_Copy; - - case eAction_Move: - return spMenuItem->GetDefaultItemHint() == chcore::eOperation_Move; - - default: - return false; - } - } - - // check if there is preferred drop effect associated with the source path - switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) - { - case TSourcePathsInfo::eSrcType_Clipboard: - { - if(m_dwClipboardDropEffect == 0) - break; - - if(m_dwClipboardDropEffect & DROPEFFECT_MOVE && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Move || - m_dwClipboardDropEffect & DROPEFFECT_COPY && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Copy) - return true; - - return false; - } - - case TSourcePathsInfo::eSrcType_InitializePidlFolder: - { - break; // no associated info about drop effect - } - - case TSourcePathsInfo::eSrcType_InitializeIDataObject: - case TSourcePathsInfo::eSrcType_InitializeAuto: - { - if(m_dwIDataObjectDropEffect == 0) - break; - - if(m_dwIDataObjectDropEffect & DROPEFFECT_MOVE && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Move || - m_dwIDataObjectDropEffect & DROPEFFECT_COPY && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Copy) - return true; - - return false; - } - - default: - return false; - } - - // step 3 - fallback - if there is no other info available, then assume copying, unless something else comes up from source/destination paths analysis - // check keyboard buttons - if(m_ulKeysState & eKey_Ctrl || m_ulKeysState & eKey_Shift) - { - if(m_ulKeysState & eKey_Ctrl && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Copy) - return true; - if(m_ulKeysState & eKey_Shift && spMenuItem->GetDefaultItemHint() == chcore::eOperation_Move) - return true; - - return false; - } - - chcore::TSmartPath pathDestination; - if(!GetDestinationPathByItem(spMenuItem, pathDestination)) - return false; - - bool bIsSameDriveOrServerName = false; - switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) - { - case TSourcePathsInfo::eSrcType_Clipboard: - { - if(!m_vPathsClipboard.IsEmpty()) - bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsClipboard.GetAt(m_vPathsClipboard.GetCount() - 1)); - - break; - } - case TSourcePathsInfo::eSrcType_InitializePidlFolder: - { - bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_pathPidlFolder); - - break; - } - case TSourcePathsInfo::eSrcType_InitializeIDataObject: - { - if(!m_vPathsIDataObject.IsEmpty()) - bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsIDataObject.GetAt(m_vPathsIDataObject.GetCount() - 1)); - - break; - } - case TSourcePathsInfo::eSrcType_InitializeAuto: - { - if(!m_vPathsIDataObject.IsEmpty()) - { - if(!m_vPathsIDataObject.IsEmpty()) - bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsIDataObject.GetAt(m_vPathsIDataObject.GetCount() - 1)); - } - else if(!m_pathPidlFolder.IsEmpty()) - bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_pathPidlFolder); - else - return false; - break; - } - } - - // depending on bIsSameDriveOrServerName we either are operating inside single disk volume or within single server, - // and since there is no other definition of operation to be performed, we assume either copy or move as default - if(bIsSameDriveOrServerName) - { - if(spMenuItem->GetDefaultItemHint() == chcore::eOperation_Move) - return true; - } - else - { - if(spMenuItem->GetDefaultItemHint() == chcore::eOperation_Copy) - return true; - } - - return false; -} - -bool TShellExtData::GetSourcePathsByItem(const TShellMenuItemPtr& spMenuItem, chcore::TPathContainer& tSourcePaths) const -{ - if(!spMenuItem || spMenuItem->IsGroupItem()) - return false; - - tSourcePaths.Clear(); - - // where do we expect source paths to get from - switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) - { - case TSourcePathsInfo::eSrcType_Clipboard: - tSourcePaths = m_vPathsClipboard; - break; - case TSourcePathsInfo::eSrcType_InitializePidlFolder: - tSourcePaths.Add(m_pathPidlFolder); - break; - case TSourcePathsInfo::eSrcType_InitializeIDataObject: - tSourcePaths = m_vPathsIDataObject; - break; - case TSourcePathsInfo::eSrcType_InitializeAuto: - { - if(!m_vPathsIDataObject.IsEmpty()) - tSourcePaths = m_vPathsIDataObject; - else if(!m_pathPidlFolder.IsEmpty()) - tSourcePaths.Add(m_pathPidlFolder); - else - return false; - break; - } - default: - return false; - } - - return true; -} - -bool TShellExtData::GetDestinationPathByItem(const TShellMenuItemPtr& spMenuItem, chcore::TSmartPath& tDestinationPath) const -{ - if(!spMenuItem || spMenuItem->IsGroupItem()) - return false; - - tDestinationPath.Clear(); - - // destination path - switch(spMenuItem->GetDestinationPathInfo().GetDstPathSource()) - { - case TDestinationPathInfo::eDstType_Clipboard: - { - if(m_vPathsClipboard.GetCount() != 1) - return false; - tDestinationPath = m_vPathsClipboard.GetAt(0); - break; - } - case TDestinationPathInfo::eDstType_InitializePidlFolder: - tDestinationPath = m_pathPidlFolder; - break; - case TDestinationPathInfo::eDstType_InitializeIDataObject: - { - if(m_vPathsIDataObject.GetCount() != 1) - return false; - tDestinationPath = m_vPathsIDataObject.GetAt(0); - break; - } - case TDestinationPathInfo::eDstType_InitializeAuto: - { - if(!m_vPathsIDataObject.IsEmpty()) - { - if(m_vPathsIDataObject.GetCount() != 1) - return false; - tDestinationPath = m_vPathsIDataObject.GetAt(0); - } - else if(!m_pathPidlFolder.IsEmpty()) - tDestinationPath = m_pathPidlFolder; - else - return false; - - break; - } - case TDestinationPathInfo::eDstType_Specified: - { - // here we don't check if this is a directory or if it exists - it's assumed that user knows what is he doing - if(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath().IsEmpty()) - return false; - tDestinationPath = spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath(); - break; - } - case TDestinationPathInfo::eDstType_Choose: - // tDestinationPath is already clear; returning true - break; - - default: - return false; - } - - return true; -} - -bool TShellExtData::GetOperationTypeByItem(const TShellMenuItemPtr& spMenuItem, chcore::EOperationType& eOperationType) const -{ - if(!spMenuItem || spMenuItem->IsGroupItem()) - return false; - - eOperationType = chcore::eOperation_None; - - switch(spMenuItem->GetOperationTypeInfo().GetOperationTypeSource()) - { - case TOperationTypeInfo::eOpType_Autodetect: - { - // depending on the source and destination... - switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) - { - case TSourcePathsInfo::eSrcType_Clipboard: - eOperationType = (m_dwClipboardDropEffect & DROPEFFECT_MOVE) ? chcore::eOperation_Move : chcore::eOperation_Copy; - break; - case TSourcePathsInfo::eSrcType_InitializeIDataObject: - case TSourcePathsInfo::eSrcType_InitializeAuto: - eOperationType = (m_dwIDataObjectDropEffect & DROPEFFECT_MOVE) ? chcore::eOperation_Move : chcore::eOperation_Copy; - break; - case TSourcePathsInfo::eSrcType_InitializePidlFolder: - return false; - - default: - return false; - } - break; - } - case TOperationTypeInfo::eOpType_Specified: - eOperationType = spMenuItem->GetOperationTypeInfo().GetDefaultOperationType(); - break; - default: - return false; - } - - return true; -} - -void TShellExtData::ReadKeyboardState() -{ - m_ulKeysState = ((GetKeyState(VK_SHIFT) & 0x80) ? eKey_Shift : 0) | - ((GetKeyState(VK_CONTROL) & 0x80) ? eKey_Ctrl : 0) | - ((GetKeyState(VK_MENU) & 0x80) ? eKey_Alt : 0); -} - -HRESULT TShellExtData::ReadPreferredDropEffectFromIDataObject(IDataObject* piDataObject) -{ - if(!piDataObject) - return E_INVALIDARG; - - // try to retrieve the preferred drop effect from the input data object - UINT uiPreferredDropEffect = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT); - if(!uiPreferredDropEffect) - return E_FAIL; - - FORMATETC fe = { (CLIPFORMAT)uiPreferredDropEffect, nullptr, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; - - // if the drop effect does not exist - just report it - m_dwIDataObjectDropEffect = 0; - HRESULT hResult = piDataObject->QueryGetData(&fe); - if(hResult == S_OK) - { - STGMEDIUM medium; - hResult = piDataObject->GetData(&fe, &medium); - if(SUCCEEDED(hResult) && !medium.hGlobal) - hResult = E_FAIL; - if(SUCCEEDED(hResult)) - { - // specify operation - DWORD* pdwData = (DWORD*)GlobalLock(medium.hGlobal); - if(pdwData) - { - m_dwIDataObjectDropEffect = *pdwData; - GlobalUnlock(medium.hGlobal); - } - else - hResult = E_FAIL; - } - - ReleaseStgMedium(&medium); - } - else if(hResult == DV_E_CLIPFORMAT || hResult == DV_E_FORMATETC) - hResult = S_FALSE; // no drop effect supplied - - return hResult; -} - -HRESULT TShellExtData::ReadClipboard() -{ - HRESULT hResult = S_FALSE; - - if(IsClipboardFormatAvailable(CF_HDROP)) - { - // read paths from clipboard - if(!OpenClipboard(nullptr)) - return E_FAIL; - - HANDLE hClipboardData = GetClipboardData(CF_HDROP); - if(!hClipboardData) - hResult = E_FAIL; - - if(SUCCEEDED(hResult)) - { - ShellPathsHelpers::GetPathsFromHDROP(static_cast(hClipboardData), m_vPathsClipboard); - - // check if there is also a hint about operation type - UINT nFormat = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT); - if(IsClipboardFormatAvailable(nFormat)) - { - hClipboardData = GetClipboardData(nFormat); - if(!hClipboardData) - hResult = E_FAIL; - else - { - LPVOID pClipboardData = GlobalLock(hClipboardData); - if(!pClipboardData) - hResult = E_FAIL; - else - m_dwClipboardDropEffect = *((DWORD*)pClipboardData); - - GlobalUnlock(hClipboardData); - } - } - } - - CloseClipboard(); - - return hResult; - } - - return S_FALSE; -} - -bool TShellExtData::IsSameDrive(const chcore::TSmartPath& spPath1, const chcore::TSmartPath& spPath2) const -{ - // NOTE: see operator== in TSmartPath for comments on path case sensitivity and possible issues with it - return (spPath1.HasDrive() && spPath2.HasDrive() && spPath1.GetDrive() == spPath2.GetDrive()) - || (spPath1.IsNetworkPath() && spPath2.IsNetworkPath() && spPath1.GetServerName() == spPath2.GetServerName()); -} - -void TShellExtData::ReadDefaultSelectionStateFromMenu(HMENU hMenu) -{ - // it's none by default - m_eDefaultSystemMenuAction = eAction_None; - - BOOST_ASSERT(hMenu != nullptr); - if(hMenu) - { - MENUITEMINFO mii; - mii.cbSize = sizeof(MENUITEMINFO); - mii.fMask = MIIM_STATE; - - if(::GetMenuItemInfo(hMenu, 1, FALSE, &mii) && mii.fState & MFS_DEFAULT) - m_eDefaultSystemMenuAction = eAction_Copy; - if(::GetMenuItemInfo(hMenu, 2, FALSE, &mii) && mii.fState & MFS_DEFAULT) - m_eDefaultSystemMenuAction = eAction_Move; - if(::GetMenuItemInfo(hMenu, 3, FALSE, &mii) && mii.fState & MFS_DEFAULT) - m_eDefaultSystemMenuAction = eAction_Shortcut; - } -} - -TShellExtData::EActionSource TShellExtData::GetActionSource() const -{ - return (m_dwIDataObjectDropEffect != 0) ? (m_ulKeysState != eKey_None ? eSrc_Keyboard : eSrc_CtxMenu) : eSrc_DropMenu; +// ============================================================================ +// Copyright (C) 2001-2011 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +/// @file TShellExtData.cpp +/// @date 2011/05/29 +/// @brief Implementation of class for handling data harvested with shell interfaces. +// ============================================================================ +#include "stdafx.h" +#include "TShellExtData.h" +#include "ShellPathsHelpers.h" +#include "../common/TShellExtMenuConfig.h" + +TShellExtData::TShellExtData() : + m_vPathsIDataObject(), + m_dwIDataObjectDropEffect(0), + m_pathPidlFolder(), + m_ulKeysState(eKey_None), + m_vPathsClipboard(), + m_dwClipboardDropEffect(0), + m_bFolderBackground(false), + m_eDefaultSystemMenuAction(eAction_None) +{ +} + +TShellExtData::~TShellExtData() +{ +} + +HRESULT TShellExtData::GatherDataFromInitialize(LPCITEMIDLIST pidlFolder, IDataObject* piDataObject) +{ + Clear(); + + HRESULT hResult = S_OK; + + // read information from pidlFolder + if(pidlFolder) + hResult = ShellPathsHelpers::GetPathFromITEMIDLIST(pidlFolder, m_pathPidlFolder); + + // process IDataObject + if(SUCCEEDED(hResult) && piDataObject) + { + hResult = ShellPathsHelpers::GetPathsFromIDataObject(piDataObject, m_vPathsIDataObject); + if(hResult != S_OK) + hResult = E_FAIL; + if(SUCCEEDED(hResult)) + hResult = ReadPreferredDropEffectFromIDataObject(piDataObject); + } + + // Read clipboard paths with preferred drop effects + if(SUCCEEDED(hResult)) + hResult = ReadClipboard(); + + if(SUCCEEDED(hResult)) + { + ReadKeyboardState(); + + // experimentally deduced condition + m_bFolderBackground = (piDataObject == nullptr) && (pidlFolder != nullptr); + } + + return hResult; +} + +void TShellExtData::Clear() +{ + m_vPathsIDataObject.Clear(); + m_dwIDataObjectDropEffect = 0; + + m_pathPidlFolder.Clear(); + + m_ulKeysState = eKey_None; + + m_vPathsClipboard.Clear(); + m_dwClipboardDropEffect = 0; + + m_bFolderBackground = false; + + m_eDefaultSystemMenuAction = eAction_None; +} + +bool TShellExtData::CanServeAsSourcePaths(EDataSource eDataSource) const +{ + switch(eDataSource) + { + case eDS_Clipboard: + return !m_vPathsClipboard.IsEmpty(); + case eDS_IDataObject: + return !m_vPathsIDataObject.IsEmpty(); + case eDS_PidlFolder: + return !m_pathPidlFolder.IsEmpty(); + + default: + BOOST_ASSERT(false); + return false; + } +} + +bool TShellExtData::CanServeAsDestinationPath(EDataSource eDataSource) const +{ + switch(eDataSource) + { + case eDS_Clipboard: + return m_vPathsClipboard.GetCount() == 1 && (::GetFileAttributes(m_vPathsClipboard.GetAt(0).ToString()) & FILE_ATTRIBUTE_DIRECTORY); + case eDS_IDataObject: + return m_vPathsIDataObject.GetCount() == 1 && (::GetFileAttributes(m_vPathsIDataObject.GetAt(0).ToString()) & FILE_ATTRIBUTE_DIRECTORY); + case eDS_PidlFolder: + return !m_pathPidlFolder.IsEmpty() && (::GetFileAttributes(m_pathPidlFolder.ToString()) & FILE_ATTRIBUTE_DIRECTORY); + + default: + BOOST_ASSERT(false); + return false; + } +} + +bool TShellExtData::VerifyItemCanBeExecuted(const TShellMenuItemPtr& spMenuItem) const +{ + if(!spMenuItem || spMenuItem->IsGroupItem()) + return false; + + // where do we expect source paths to get from + switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) + { + case TSourcePathsInfo::eSrcType_Clipboard: + { + if(!CanServeAsSourcePaths(eDS_Clipboard)) + return false; + break; + } + case TSourcePathsInfo::eSrcType_InitializePidlFolder: + { + if(!CanServeAsSourcePaths(eDS_PidlFolder)) + return false; + break; + } + case TSourcePathsInfo::eSrcType_InitializeIDataObject: + { + if(!CanServeAsSourcePaths(eDS_IDataObject)) + return false; + break; + } + case TSourcePathsInfo::eSrcType_InitializeAuto: + { + if(!CanServeAsSourcePaths(eDS_IDataObject) && !CanServeAsSourcePaths(eDS_PidlFolder)) + return false; + break; + } + default: + return false; + } + + // destination path + switch(spMenuItem->GetDestinationPathInfo().GetDstPathSource()) + { + case TDestinationPathInfo::eDstType_Clipboard: + { + if(!CanServeAsDestinationPath(eDS_Clipboard)) + return false; + break; + } + case TDestinationPathInfo::eDstType_InitializePidlFolder: + { + if(!CanServeAsDestinationPath(eDS_PidlFolder)) + return false; + break; + } + case TDestinationPathInfo::eDstType_InitializeIDataObject: + { + if(!CanServeAsDestinationPath(eDS_IDataObject)) + return false; + break; + } + case TDestinationPathInfo::eDstType_InitializeAuto: + { + if(!CanServeAsDestinationPath(eDS_IDataObject) && !CanServeAsDestinationPath(eDS_PidlFolder)) + return false; + break; + } + case TDestinationPathInfo::eDstType_Specified: + { + // here we don't check if this is a directory or if it exists - it's assumed that user knows what is he doing + if(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath().IsEmpty()) + return false; + break; + } + case TDestinationPathInfo::eDstType_Choose: + break; // returns true + + default: + return false; + } + + // if it passed all checks, means that we can allow this combination of source and destination path(s) to be used for command + return true; +} + +bool TShellExtData::IsDefaultItem(const TShellMenuItemPtr& spMenuItem) const +{ + if(!spMenuItem || spMenuItem->IsGroupItem() || spMenuItem->GetDefaultItemHint() == chengine::eOperation_None) + return false; + + // check if there was a state defined by reading the current context menu + if(m_eDefaultSystemMenuAction != eAction_None) + { + switch(m_eDefaultSystemMenuAction) + { + case eAction_Copy: + return spMenuItem->GetDefaultItemHint() == chengine::eOperation_Copy; + + case eAction_Move: + return spMenuItem->GetDefaultItemHint() == chengine::eOperation_Move; + + default: + return false; + } + } + + // check if there is preferred drop effect associated with the source path + switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) + { + case TSourcePathsInfo::eSrcType_Clipboard: + { + if(m_dwClipboardDropEffect == 0) + break; + + if(m_dwClipboardDropEffect & DROPEFFECT_MOVE && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Move || + m_dwClipboardDropEffect & DROPEFFECT_COPY && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Copy) + return true; + + return false; + } + + case TSourcePathsInfo::eSrcType_InitializePidlFolder: + { + break; // no associated info about drop effect + } + + case TSourcePathsInfo::eSrcType_InitializeIDataObject: + case TSourcePathsInfo::eSrcType_InitializeAuto: + { + if(m_dwIDataObjectDropEffect == 0) + break; + + if(m_dwIDataObjectDropEffect & DROPEFFECT_MOVE && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Move || + m_dwIDataObjectDropEffect & DROPEFFECT_COPY && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Copy) + return true; + + return false; + } + + default: + return false; + } + + // step 3 - fallback - if there is no other info available, then assume copying, unless something else comes up from source/destination paths analysis + // check keyboard buttons + if(m_ulKeysState & eKey_Ctrl || m_ulKeysState & eKey_Shift) + { + if(m_ulKeysState & eKey_Ctrl && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Copy) + return true; + if(m_ulKeysState & eKey_Shift && spMenuItem->GetDefaultItemHint() == chengine::eOperation_Move) + return true; + + return false; + } + + chcore::TSmartPath pathDestination; + if(!GetDestinationPathByItem(spMenuItem, pathDestination)) + return false; + + bool bIsSameDriveOrServerName = false; + switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) + { + case TSourcePathsInfo::eSrcType_Clipboard: + { + if(!m_vPathsClipboard.IsEmpty()) + bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsClipboard.GetAt(m_vPathsClipboard.GetCount() - 1)); + + break; + } + case TSourcePathsInfo::eSrcType_InitializePidlFolder: + { + bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_pathPidlFolder); + + break; + } + case TSourcePathsInfo::eSrcType_InitializeIDataObject: + { + if(!m_vPathsIDataObject.IsEmpty()) + bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsIDataObject.GetAt(m_vPathsIDataObject.GetCount() - 1)); + + break; + } + case TSourcePathsInfo::eSrcType_InitializeAuto: + { + if(!m_vPathsIDataObject.IsEmpty()) + { + if(!m_vPathsIDataObject.IsEmpty()) + bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_vPathsIDataObject.GetAt(m_vPathsIDataObject.GetCount() - 1)); + } + else if(!m_pathPidlFolder.IsEmpty()) + bIsSameDriveOrServerName = IsSameDrive(pathDestination, m_pathPidlFolder); + else + return false; + break; + } + } + + // depending on bIsSameDriveOrServerName we either are operating inside single disk volume or within single server, + // and since there is no other definition of operation to be performed, we assume either copy or move as default + if(bIsSameDriveOrServerName) + { + if(spMenuItem->GetDefaultItemHint() == chengine::eOperation_Move) + return true; + } + else + { + if(spMenuItem->GetDefaultItemHint() == chengine::eOperation_Copy) + return true; + } + + return false; +} + +bool TShellExtData::GetSourcePathsByItem(const TShellMenuItemPtr& spMenuItem, chcore::TPathContainer& tSourcePaths) const +{ + if(!spMenuItem || spMenuItem->IsGroupItem()) + return false; + + tSourcePaths.Clear(); + + // where do we expect source paths to get from + switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) + { + case TSourcePathsInfo::eSrcType_Clipboard: + tSourcePaths = m_vPathsClipboard; + break; + case TSourcePathsInfo::eSrcType_InitializePidlFolder: + tSourcePaths.Add(m_pathPidlFolder); + break; + case TSourcePathsInfo::eSrcType_InitializeIDataObject: + tSourcePaths = m_vPathsIDataObject; + break; + case TSourcePathsInfo::eSrcType_InitializeAuto: + { + if(!m_vPathsIDataObject.IsEmpty()) + tSourcePaths = m_vPathsIDataObject; + else if(!m_pathPidlFolder.IsEmpty()) + tSourcePaths.Add(m_pathPidlFolder); + else + return false; + break; + } + default: + return false; + } + + return true; +} + +bool TShellExtData::GetDestinationPathByItem(const TShellMenuItemPtr& spMenuItem, chcore::TSmartPath& tDestinationPath) const +{ + if(!spMenuItem || spMenuItem->IsGroupItem()) + return false; + + tDestinationPath.Clear(); + + // destination path + switch(spMenuItem->GetDestinationPathInfo().GetDstPathSource()) + { + case TDestinationPathInfo::eDstType_Clipboard: + { + if(m_vPathsClipboard.GetCount() != 1) + return false; + tDestinationPath = m_vPathsClipboard.GetAt(0); + break; + } + case TDestinationPathInfo::eDstType_InitializePidlFolder: + tDestinationPath = m_pathPidlFolder; + break; + case TDestinationPathInfo::eDstType_InitializeIDataObject: + { + if(m_vPathsIDataObject.GetCount() != 1) + return false; + tDestinationPath = m_vPathsIDataObject.GetAt(0); + break; + } + case TDestinationPathInfo::eDstType_InitializeAuto: + { + if(!m_vPathsIDataObject.IsEmpty()) + { + if(m_vPathsIDataObject.GetCount() != 1) + return false; + tDestinationPath = m_vPathsIDataObject.GetAt(0); + } + else if(!m_pathPidlFolder.IsEmpty()) + tDestinationPath = m_pathPidlFolder; + else + return false; + + break; + } + case TDestinationPathInfo::eDstType_Specified: + { + // here we don't check if this is a directory or if it exists - it's assumed that user knows what is he doing + if(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath().IsEmpty()) + return false; + tDestinationPath = spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath(); + break; + } + case TDestinationPathInfo::eDstType_Choose: + // tDestinationPath is already clear; returning true + break; + + default: + return false; + } + + return true; +} + +bool TShellExtData::GetOperationTypeByItem(const TShellMenuItemPtr& spMenuItem, chengine::EOperationType& eOperationType) const +{ + if(!spMenuItem || spMenuItem->IsGroupItem()) + return false; + + eOperationType = chengine::eOperation_None; + + switch(spMenuItem->GetOperationTypeInfo().GetOperationTypeSource()) + { + case TOperationTypeInfo::eOpType_Autodetect: + { + // depending on the source and destination... + switch(spMenuItem->GetSourcePathsInfo().GetSrcPathsSource()) + { + case TSourcePathsInfo::eSrcType_Clipboard: + eOperationType = (m_dwClipboardDropEffect & DROPEFFECT_MOVE) ? chengine::eOperation_Move : chengine::eOperation_Copy; + break; + case TSourcePathsInfo::eSrcType_InitializeIDataObject: + case TSourcePathsInfo::eSrcType_InitializeAuto: + eOperationType = (m_dwIDataObjectDropEffect & DROPEFFECT_MOVE) ? chengine::eOperation_Move : chengine::eOperation_Copy; + break; + case TSourcePathsInfo::eSrcType_InitializePidlFolder: + return false; + + default: + return false; + } + break; + } + case TOperationTypeInfo::eOpType_Specified: + eOperationType = spMenuItem->GetOperationTypeInfo().GetDefaultOperationType(); + break; + default: + return false; + } + + return true; +} + +void TShellExtData::ReadKeyboardState() +{ + m_ulKeysState = ((GetKeyState(VK_SHIFT) & 0x80) ? eKey_Shift : 0) | + ((GetKeyState(VK_CONTROL) & 0x80) ? eKey_Ctrl : 0) | + ((GetKeyState(VK_MENU) & 0x80) ? eKey_Alt : 0); +} + +HRESULT TShellExtData::ReadPreferredDropEffectFromIDataObject(IDataObject* piDataObject) +{ + if(!piDataObject) + return E_INVALIDARG; + + // try to retrieve the preferred drop effect from the input data object + UINT uiPreferredDropEffect = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT); + if(!uiPreferredDropEffect) + return E_FAIL; + + FORMATETC fe = { (CLIPFORMAT)uiPreferredDropEffect, nullptr, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + + // if the drop effect does not exist - just report it + m_dwIDataObjectDropEffect = 0; + HRESULT hResult = piDataObject->QueryGetData(&fe); + if(hResult == S_OK) + { + STGMEDIUM medium; + hResult = piDataObject->GetData(&fe, &medium); + if(SUCCEEDED(hResult) && !medium.hGlobal) + hResult = E_FAIL; + if(SUCCEEDED(hResult)) + { + // specify operation + DWORD* pdwData = (DWORD*)GlobalLock(medium.hGlobal); + if(pdwData) + { + m_dwIDataObjectDropEffect = *pdwData; + GlobalUnlock(medium.hGlobal); + } + else + hResult = E_FAIL; + } + + ReleaseStgMedium(&medium); + } + else if(hResult == DV_E_CLIPFORMAT || hResult == DV_E_FORMATETC) + hResult = S_FALSE; // no drop effect supplied + + return hResult; +} + +HRESULT TShellExtData::ReadClipboard() +{ + HRESULT hResult = S_FALSE; + + if(IsClipboardFormatAvailable(CF_HDROP)) + { + // read paths from clipboard + if(!OpenClipboard(nullptr)) + return E_FAIL; + + HANDLE hClipboardData = GetClipboardData(CF_HDROP); + if(!hClipboardData) + hResult = E_FAIL; + + if(SUCCEEDED(hResult)) + { + ShellPathsHelpers::GetPathsFromHDROP(static_cast(hClipboardData), m_vPathsClipboard); + + // check if there is also a hint about operation type + UINT nFormat = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT); + if(IsClipboardFormatAvailable(nFormat)) + { + hClipboardData = GetClipboardData(nFormat); + if(!hClipboardData) + hResult = E_FAIL; + else + { + LPVOID pClipboardData = GlobalLock(hClipboardData); + if(!pClipboardData) + hResult = E_FAIL; + else + m_dwClipboardDropEffect = *((DWORD*)pClipboardData); + + GlobalUnlock(hClipboardData); + } + } + } + + CloseClipboard(); + + return hResult; + } + + return S_FALSE; +} + +bool TShellExtData::IsSameDrive(const chcore::TSmartPath& spPath1, const chcore::TSmartPath& spPath2) const +{ + // NOTE: see operator== in TSmartPath for comments on path case sensitivity and possible issues with it + return (spPath1.HasDrive() && spPath2.HasDrive() && spPath1.GetDrive() == spPath2.GetDrive()) + || (spPath1.IsNetworkPath() && spPath2.IsNetworkPath() && spPath1.GetServerName() == spPath2.GetServerName()); +} + +void TShellExtData::ReadDefaultSelectionStateFromMenu(HMENU hMenu) +{ + // it's none by default + m_eDefaultSystemMenuAction = eAction_None; + + BOOST_ASSERT(hMenu != nullptr); + if(hMenu) + { + MENUITEMINFO mii; + mii.cbSize = sizeof(MENUITEMINFO); + mii.fMask = MIIM_STATE; + + if(::GetMenuItemInfo(hMenu, 1, FALSE, &mii) && mii.fState & MFS_DEFAULT) + m_eDefaultSystemMenuAction = eAction_Copy; + if(::GetMenuItemInfo(hMenu, 2, FALSE, &mii) && mii.fState & MFS_DEFAULT) + m_eDefaultSystemMenuAction = eAction_Move; + if(::GetMenuItemInfo(hMenu, 3, FALSE, &mii) && mii.fState & MFS_DEFAULT) + m_eDefaultSystemMenuAction = eAction_Shortcut; + } +} + +TShellExtData::EActionSource TShellExtData::GetActionSource() const +{ + return (m_dwIDataObjectDropEffect != 0) ? (m_ulKeysState != eKey_None ? eSrc_Keyboard : eSrc_CtxMenu) : eSrc_DropMenu; } \ No newline at end of file Index: src/chext/TShellExtData.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/TShellExtData.h (.../TShellExtData.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/chext/TShellExtData.h (.../TShellExtData.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -24,7 +24,7 @@ #define __TSHELLEXTDATA_H__ #include "../libchcore/TPath.h" -#include "../libchcore/EOperationTypes.h" +#include "../libchengine/EOperationTypes.h" #include "../libchcore/TPathContainer.h" class TShellMenuItem; @@ -86,7 +86,7 @@ bool GetSourcePathsByItem(const TShellMenuItemPtr& spMenuItem, chcore::TPathContainer& tSourcePaths) const; bool GetDestinationPathByItem(const TShellMenuItemPtr& spMenuItem, chcore::TSmartPath& tDestinationPath) const; - bool GetOperationTypeByItem(const TShellMenuItemPtr& spMenuItem, chcore::EOperationType& eOperationType) const; + bool GetOperationTypeByItem(const TShellMenuItemPtr& spMenuItem, chengine::EOperationType& eOperationType) const; EActionSource GetActionSource() const; Index: src/chext/chext.vc140.vcxproj =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/chext/chext.vc140.vcxproj (.../chext.vc140.vcxproj) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/chext/chext.vc140.vcxproj (.../chext.vc140.vcxproj) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,674 +1,680 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - Testing Debug - Win32 - - - Testing Debug - x64 - - - Testing Release - Win32 - - - Testing Release - x64 - - - - chext - {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} - chext - AtlProj - - - - DynamicLibrary - v120_xp - false - false - Unicode - - - DynamicLibrary - v120_xp - false - false - Unicode - - - DynamicLibrary - v120_xp - false - Unicode - - - DynamicLibrary - v120_xp - false - Unicode - - - DynamicLibrary - v120_xp - false - false - Unicode - - - DynamicLibrary - v120_xp - false - false - Unicode - - - DynamicLibrary - v120_xp - false - Unicode - - - DynamicLibrary - v120_xp - false - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>11.0.51106.1 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - true - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - true - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - true - NativeRecommendedRules.ruleset - false - $(ProjectName)64 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - true - NativeRecommendedRules.ruleset - false - $(ProjectName)64 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - false - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - false - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - false - $(ProjectName)64 - - - $(SolutionDir)bin\$(Configuration)\ - $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ - true - false - $(ProjectName)64 - - - - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - true - 4714;4503 - false - NoExtensions - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;%(AdditionalDependencies) - chext32.def - true - Windows - MachineX86 - "$(OutDir)" - true - - - - - - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - true - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; - 4714;4503 - false - NoExtensions - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;gmock32d.lib;%(AdditionalDependencies) - chext32.def - true - Windows - MachineX86 - "$(OutDir)" - true - - - cd "$(TargetDir)" - -if "$(PlatformName)" EQU "x64" goto x64 - -:x32 -"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:x64 -"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:end - - - - - - X64 - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - false - true - 4714;4503 - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;%(AdditionalDependencies) - chext64.def - true - Windows - MachineX64 - "$(OutDir)" - false - - - - - X64 - - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - Use - Level4 - true - ProgramDatabase - false - true - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; - 4714;4503 - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;gmock64d.lib;%(AdditionalDependencies) - chext64.def - true - Windows - MachineX64 - "$(OutDir)" - false - - - cd "$(TargetDir)" - -if "$(PlatformName)" EQU "x64" goto x64 - -:x32 -"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:x64 -"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:end - - - - - - - - - MinSpace - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - 4714;4503 - NoExtensions - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;%(AdditionalDependencies) - chext32.def - true - Windows - MachineX86 - "$(OutDir)" - true - - - - - - - - - MinSpace - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; - 4714;4503 - NoExtensions - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;gmock32.lib;%(AdditionalDependencies) - chext32.def - true - Windows - MachineX86 - "$(OutDir)" - true - - - cd "$(TargetDir)" - -if "$(PlatformName)" EQU "x64" goto x64 - -:x32 -"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:x64 -"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:end - - - - - - X64 - - - - MinSpace - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - 4714;4503 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;%(AdditionalDependencies) - chext64.def - true - Windows - MachineX64 - "$(OutDir)" - false - - - - - X64 - - - - - MinSpace - OnlyExplicitInline - WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - Use - Level4 - true - ProgramDatabase - true - ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; - 4714;4503 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - false - comctl32.lib;gmock64.lib;%(AdditionalDependencies) - chext64.def - true - Windows - MachineX64 - "$(OutDir)" - false - - - cd "$(TargetDir)" - -if "$(PlatformName)" EQU "x64" goto x64 - -:x32 -"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:x64 -"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" -goto end - -:end - - - - - - true - true - true - true - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - NotUsing - - - - - - - - - - - - - - - - - Create - Create - Create - Create - Create - Create - Create - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - true - .\chext.tlb - .\chext.tlb - chext.h - chext.h - chext_i.c - chext_i.c - true - true - .\chext.tlb - .\chext.tlb - chext.h - chext.h - chext_i.c - chext_i.c - true - true - .\chext.tlb - .\chext.tlb - chext.h - chext.h - chext_i.c - chext_i.c - true - true - .\chext.tlb - .\chext.tlb - chext.h - chext.h - chext_i.c - chext_i.c - - - - - - - - {cbbf380b-7b16-4a1e-8194-758dad7d8011} - - - {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} - - - - - + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + Testing Debug + Win32 + + + Testing Debug + x64 + + + Testing Release + Win32 + + + Testing Release + x64 + + + + chext + {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69} + chext + AtlProj + + + + DynamicLibrary + v120_xp + false + false + Unicode + + + DynamicLibrary + v120_xp + false + false + Unicode + + + DynamicLibrary + v120_xp + false + Unicode + + + DynamicLibrary + v120_xp + false + Unicode + + + DynamicLibrary + v120_xp + false + false + Unicode + + + DynamicLibrary + v120_xp + false + false + Unicode + + + DynamicLibrary + v120_xp + false + Unicode + + + DynamicLibrary + v120_xp + false + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>11.0.51106.1 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + true + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + true + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + true + NativeRecommendedRules.ruleset + false + $(ProjectName)64 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + true + NativeRecommendedRules.ruleset + false + $(ProjectName)64 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + false + $(ProjectName)64 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + false + $(ProjectName)64 + + + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + 4714;4503 + false + NoExtensions + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;%(AdditionalDependencies) + chext32.def + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; + 4714;4503 + false + NoExtensions + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;gmock32d.lib;%(AdditionalDependencies) + chext32.def + true + Windows + MachineX86 + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + false + true + 4714;4503 + false + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;%(AdditionalDependencies) + chext64.def + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + false + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; + 4714;4503 + false + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;gmock64d.lib;%(AdditionalDependencies) + chext64.def + true + Windows + MachineX64 + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + 4714;4503 + NoExtensions + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;%(AdditionalDependencies) + chext32.def + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; + 4714;4503 + NoExtensions + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;gmock32.lib;%(AdditionalDependencies) + chext32.def + true + Windows + MachineX86 + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + 4714;4503 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;%(AdditionalDependencies) + chext64.def + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include; + 4714;4503 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + false + comctl32.lib;gmock64.lib;%(AdditionalDependencies) + chext64.def + true + Windows + MachineX64 + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + true + true + true + true + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + .\chext.tlb + .\chext.tlb + chext.h + chext.h + chext_i.c + chext_i.c + true + true + .\chext.tlb + .\chext.tlb + chext.h + chext.h + chext_i.c + chext_i.c + true + true + .\chext.tlb + .\chext.tlb + chext.h + chext.h + chext_i.c + chext_i.c + true + true + .\chext.tlb + .\chext.tlb + chext.h + chext.h + chext_i.c + chext_i.c + + + + + + + + {cbbf380b-7b16-4a1e-8194-758dad7d8011} + + + {6840f785-917f-46ee-bd56-c296c7a5b9e9} + + + {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} + + + {5bd38175-9f48-417d-8e5b-7093b1873ce5} + + + + + \ No newline at end of file Index: src/common/TShellExtIpcConfigDataConsumer.cpp =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtIpcConfigDataConsumer.cpp (.../TShellExtIpcConfigDataConsumer.cpp) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/common/TShellExtIpcConfigDataConsumer.cpp (.../TShellExtIpcConfigDataConsumer.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,11 +19,11 @@ #include "stdafx.h" #include "TShellExtIpcConfigDataConsumer.h" -chcore::TString TShellExtIpcConfigDataConsumer::GetConfigData() +string::TString TShellExtIpcConfigDataConsumer::GetConfigData() { chcore::TSharedMemory shmConfigData; - chcore::TString strData; + string::TString strData; shmConfigData.Open(L"CHShellExtConfig"); shmConfigData.Read(strData); Index: src/common/TShellExtIpcConfigDataConsumer.h =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtIpcConfigDataConsumer.h (.../TShellExtIpcConfigDataConsumer.h) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/common/TShellExtIpcConfigDataConsumer.h (.../TShellExtIpcConfigDataConsumer.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -24,7 +24,7 @@ class TShellExtIpcConfigDataConsumer { public: - static chcore::TString GetConfigData(); + static string::TString GetConfigData(); }; #endif Index: src/common/TShellExtIpcConfigDataProvider.cpp =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtIpcConfigDataProvider.cpp (.../TShellExtIpcConfigDataProvider.cpp) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/common/TShellExtIpcConfigDataProvider.cpp (.../TShellExtIpcConfigDataProvider.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,7 +19,7 @@ #include "stdafx.h" #include "TShellExtIpcConfigDataProvider.h" -void TShellExtIpcConfigDataProvider::SetConfigData(const chcore::TString& strConfigData) +void TShellExtIpcConfigDataProvider::SetConfigData(const string::TString& strConfigData) { m_shmConfigData.Close(); m_shmConfigData.Create(L"CHShellExtConfig", strConfigData); Index: src/common/TShellExtIpcConfigDataProvider.h =================================================================== diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtIpcConfigDataProvider.h (.../TShellExtIpcConfigDataProvider.h) (revision 306fbe693c70290af9de9a5779084a697de22d75) +++ src/common/TShellExtIpcConfigDataProvider.h (.../TShellExtIpcConfigDataProvider.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -24,7 +24,7 @@ class TShellExtIpcConfigDataProvider { public: - void SetConfigData(const chcore::TString& pszConfigData); + void SetConfigData(const string::TString& pszConfigData); private: chcore::TSharedMemory m_shmConfigData; Index: src/common/TShellExtMenuConfig.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtMenuConfig.cpp (.../TShellExtMenuConfig.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/common/TShellExtMenuConfig.cpp (.../TShellExtMenuConfig.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -22,12 +22,16 @@ // ============================================================================ #include "stdafx.h" #include "TShellExtMenuConfig.h" -#include "../libchcore/TConfig.h" -#include "../libchcore/TConfigArray.h" +#include "../libchengine/TConfig.h" #include #include #include +#include "../libchengine/TConfig.h" +#include "../libchengine/TConfigArray.h" +using namespace chcore; +using namespace chengine; + // helper method for concatenating strings namespace { @@ -51,17 +55,17 @@ TOperationTypeInfo::TOperationTypeInfo() : m_eOperationTypeSource(eOpType_Autodetect), - m_eDefaultOperationType(chcore::eOperation_None) + m_eDefaultOperationType(eOperation_None) { } -TOperationTypeInfo::TOperationTypeInfo(TOperationTypeInfo::EOperationTypeSource eType, chcore::EOperationType eDefaultOperationType) : +TOperationTypeInfo::TOperationTypeInfo(TOperationTypeInfo::EOperationTypeSource eType, EOperationType eDefaultOperationType) : m_eOperationTypeSource(eType), m_eDefaultOperationType(eDefaultOperationType) { } -void TOperationTypeInfo::SetOperationTypeInfo(TOperationTypeInfo::EOperationTypeSource eType, chcore::EOperationType eDefaultOperationType) +void TOperationTypeInfo::SetOperationTypeInfo(TOperationTypeInfo::EOperationTypeSource eType, EOperationType eDefaultOperationType) { m_eOperationTypeSource = eType; m_eDefaultOperationType = eDefaultOperationType; @@ -72,25 +76,25 @@ return m_eOperationTypeSource; } -chcore::EOperationType TOperationTypeInfo::GetDefaultOperationType() const +EOperationType TOperationTypeInfo::GetDefaultOperationType() const { return m_eDefaultOperationType; } void TOperationTypeInfo::Clear() { m_eOperationTypeSource = eOpType_Autodetect; - m_eDefaultOperationType = chcore::eOperation_None; + m_eDefaultOperationType = eOperation_None; } -void TOperationTypeInfo::StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const +void TOperationTypeInfo::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const { std::wstring wstrBuffer; SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("OperationTypeSource")), m_eOperationTypeSource); SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("DefaultOperationType")), m_eDefaultOperationType); } -bool TOperationTypeInfo::ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) +bool TOperationTypeInfo::ReadFromConfig(TConfig& rConfig, PCTSTR pszNodeName) { std::wstring wstrBuffer; if(!GetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("OperationTypeSource")), *(int*)&m_eOperationTypeSource)) @@ -126,13 +130,13 @@ m_eSrcPathsSource = eSrcType_InitializeAuto; } -void TSourcePathsInfo::StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const +void TSourcePathsInfo::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const { std::wstring wstrBuffer; SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("SrcPathsSource")), m_eSrcPathsSource); } -bool TSourcePathsInfo::ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) +bool TSourcePathsInfo::ReadFromConfig(TConfig& rConfig, PCTSTR pszNodeName) { std::wstring wstrBuffer; return GetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("SrcPathsSource")), *(int*)&m_eSrcPathsSource); @@ -176,14 +180,14 @@ m_pathDestination.Clear(); } -void TDestinationPathInfo::StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const +void TDestinationPathInfo::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const { std::wstring wstrBuffer; SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("DstPathSource")), m_eDstPathSource); SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("DefaultDestinationPath")), m_pathDestination); } -bool TDestinationPathInfo::ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) +bool TDestinationPathInfo::ReadFromConfig(TConfig& rConfig, PCTSTR pszNodeName) { std::wstring wstrBuffer; if(!GetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("DstPathSource")), *(int*)&m_eDstPathSource)) @@ -200,11 +204,11 @@ m_tDestinationPath(), m_tSourcePaths(), m_bSpecialOperation(false), - m_eDefaultItemHint(chcore::eOperation_None) + m_eDefaultItemHint(eOperation_None) { } -TShellMenuItem::TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, bool bSpecialOperation, chcore::EOperationType eDefaultItemHint) : +TShellMenuItem::TShellMenuItem(const string::TString& wstrName, const string::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, bool bSpecialOperation, EOperationType eDefaultItemHint) : m_eItemType(eStandardItem), m_strName(wstrName), m_strItemTip(wstrItemTip), @@ -216,15 +220,15 @@ { } -TShellMenuItem::TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip) : +TShellMenuItem::TShellMenuItem(const string::TString& wstrName, const string::TString& wstrItemTip) : m_eItemType(eGroupItem), m_strName(wstrName), m_strItemTip(wstrItemTip), m_tOperationType(), m_tDestinationPath(), m_tSourcePaths(), m_bSpecialOperation(false), - m_eDefaultItemHint(chcore::eOperation_None) + m_eDefaultItemHint(eOperation_None) { } @@ -244,25 +248,25 @@ m_tDestinationPath.Clear(); m_bSpecialOperation = false; - m_eDefaultItemHint = chcore::eOperation_None; + m_eDefaultItemHint = eOperation_None; m_vChildItems.clear(); } -const chcore::TString& TShellMenuItem::GetName() const +const string::TString& TShellMenuItem::GetName() const { return m_strName; } -const chcore::TString& TShellMenuItem::GetLocalName(bool bUseFallback) const +const string::TString& TShellMenuItem::GetLocalName(bool bUseFallback) const { if(bUseFallback && m_strLocalName.IsEmpty()) return m_strName; return m_strLocalName; } -void TShellMenuItem::SetLocalName(const chcore::TString& strLocalName) +void TShellMenuItem::SetLocalName(const string::TString& strLocalName) { m_strLocalName = strLocalName; } @@ -274,7 +278,7 @@ m_eItemType = eSeparatorItem; } -void TShellMenuItem::InitStandardItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, bool bSpecialOperation, chcore::EOperationType eDefaultItemHint) +void TShellMenuItem::InitStandardItem(const string::TString& wstrName, const string::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, bool bSpecialOperation, EOperationType eDefaultItemHint) { Clear(); @@ -290,7 +294,7 @@ m_eDefaultItemHint = eDefaultItemHint; } -void TShellMenuItem::InitGroupItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip) +void TShellMenuItem::InitGroupItem(const string::TString& wstrName, const string::TString& wstrItemTip) { Clear(); @@ -344,7 +348,7 @@ m_vChildItems.clear(); } -void TShellMenuItem::StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const +void TShellMenuItem::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const { std::wstring wstrBuffer; @@ -360,7 +364,7 @@ for(const TShellMenuItemPtr& rItem : m_vChildItems) { - chcore::TConfig cfgItem; + TConfig cfgItem; rItem->StoreInConfig(cfgItem, _T("")); rConfig.AddSubConfig(Concat(wstrBuffer, pszNodeName, _T("Subitems.Subitem")), cfgItem); } @@ -385,7 +389,7 @@ } } -bool TShellMenuItem::ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) +bool TShellMenuItem::ReadFromConfig(TConfig& rConfig, PCTSTR pszNodeName) { Clear(); @@ -403,12 +407,12 @@ if(!GetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("ItemDescription")), m_strItemTip)) return false; - chcore::TConfigArray vCfgs; + TConfigArray vCfgs; if(rConfig.ExtractMultiSubConfigs(Concat(wstrBuffer, pszNodeName, _T("Subitems.Subitem")), vCfgs)) { for(size_t stIndex = 0; stIndex < vCfgs.GetCount(); ++stIndex) { - chcore::TConfig& rCfg = vCfgs.GetAt(stIndex); + TConfig& rCfg = vCfgs.GetAt(stIndex); TShellMenuItemPtr spItem(std::make_shared()); spItem->ReadFromConfig(rCfg, nullptr); @@ -452,7 +456,7 @@ TShellExtMenuConfig::TShellExtMenuConfig() : m_spDragAndDropRoot(std::make_shared(_T(""), _T(""))), m_spNormalRoot(std::make_shared(_T(""), _T(""))), - m_spFmtSize(std::make_shared()), + m_spFmtSize(std::make_shared()), m_bInterceptDragAndDrop(false), m_bInterceptKeyboardActions(false), m_bInterceptCtxMenuActions(false), @@ -485,12 +489,12 @@ return m_spNormalRoot; } -chcore::TSizeFormatterPtr TShellExtMenuConfig::GetFormatter() const +TSizeFormatterPtr TShellExtMenuConfig::GetFormatter() const { return m_spFmtSize; } -void TShellExtMenuConfig::StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const +void TShellExtMenuConfig::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const { std::wstring strBuffer; SetConfigValue(rConfig, Concat(strBuffer, pszNodeName, _T("InterceptDragAndDrop")), m_bInterceptDragAndDrop); @@ -505,7 +509,7 @@ m_spNormalRoot->StoreInConfig(rConfig, Concat(strBuffer, pszNodeName, _T("NormalRootItem"))); } -bool TShellExtMenuConfig::ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) +bool TShellExtMenuConfig::ReadFromConfig(TConfig& rConfig, PCTSTR pszNodeName) { Clear(); Index: src/common/TShellExtMenuConfig.h =================================================================== diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision a4635addad389b9e117679437a3e1b64a739ea96) +++ src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -23,13 +23,11 @@ #ifndef __TSHELLEXTMENUCONFIG_H__ #define __TSHELLEXTMENUCONFIG_H__ -#include "../libchcore/EOperationTypes.h" +#include "../libchengine/EOperationTypes.h" #include "../libchcore/TPath.h" #include -#include "../libchcore/TSizeFormatter.h" +#include "../libchengine/TSizeFormatter.h" -namespace chcore { class TConfig; } - class TShellMenuItem; typedef std::shared_ptr TShellMenuItemPtr; @@ -46,21 +44,21 @@ public: TOperationTypeInfo(); - TOperationTypeInfo(EOperationTypeSource eType, chcore::EOperationType eDefaultOperationType); + TOperationTypeInfo(EOperationTypeSource eType, chengine::EOperationType eDefaultOperationType); - void SetOperationTypeInfo(EOperationTypeSource eType, chcore::EOperationType eDefaultOperationType); + void SetOperationTypeInfo(EOperationTypeSource eType, chengine::EOperationType eDefaultOperationType); EOperationTypeSource GetOperationTypeSource() const; - chcore::EOperationType GetDefaultOperationType() const; + chengine::EOperationType GetDefaultOperationType() const; void Clear(); - void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; - bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); + void StoreInConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName) const; + bool ReadFromConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName); private: EOperationTypeSource m_eOperationTypeSource; - chcore::EOperationType m_eDefaultOperationType; // default operation type + chengine::EOperationType m_eDefaultOperationType; // default operation type }; // specifies information about source paths @@ -84,8 +82,8 @@ void Clear(); - void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; - bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); + void StoreInConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName) const; + bool ReadFromConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName); private: ESrcPathsSource m_eSrcPathsSource; @@ -115,8 +113,8 @@ void Clear(); - void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; - bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); + void StoreInConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName) const; + bool ReadFromConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName); private: EDstPathsSource m_eDstPathSource; @@ -136,38 +134,38 @@ public: TShellMenuItem(); - TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, - bool bSpecialOperation, chcore::EOperationType eDefaultItemHint = chcore::eOperation_None); - TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip); + TShellMenuItem(const string::TString& wstrName, const string::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, + bool bSpecialOperation, chengine::EOperationType eDefaultItemHint = chengine::eOperation_None); + TShellMenuItem(const string::TString& wstrName, const string::TString& wstrItemTip); ~TShellMenuItem(); // initializer for separator item void InitSeparatorItem(); // initializer for standard item - void InitStandardItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, - bool bSpecialOperation, chcore::EOperationType eDefaultItemHint = chcore::eOperation_None); + void InitStandardItem(const string::TString& wstrName, const string::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, + bool bSpecialOperation, chengine::EOperationType eDefaultItemHint = chengine::eOperation_None); // initializer for group item - void InitGroupItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip); + void InitGroupItem(const string::TString& wstrName, const string::TString& wstrItemTip); // clears everything void Clear(); // retrieving attributes - common ones - const chcore::TString& GetName() const; - const chcore::TString& GetItemTip() const { return m_strItemTip; } + const string::TString& GetName() const; + const string::TString& GetItemTip() const { return m_strItemTip; } - const chcore::TString& GetLocalName(bool bUseFallback = true) const; - void SetLocalName(const chcore::TString& strLocalName); + const string::TString& GetLocalName(bool bUseFallback = true) const; + void SetLocalName(const string::TString& strLocalName); // retrieving attributes - standard items only const TOperationTypeInfo& GetOperationTypeInfo() const { return m_tOperationType; } const TDestinationPathInfo& GetDestinationPathInfo() const { return m_tDestinationPath; } const TSourcePathsInfo& GetSourcePathsInfo() const { return m_tSourcePaths; } - chcore::EOperationType GetDefaultItemHint() const { return m_eDefaultItemHint; } + chengine::EOperationType GetDefaultItemHint() const { return m_eDefaultItemHint; } bool IsGroupItem() const { return m_eItemType == eGroupItem; } bool IsSeparator() const { return m_eItemType == eSeparatorItem; } @@ -193,15 +191,15 @@ void RemoveAllChildren(); // serialization - void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; - bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); + void StoreInConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName) const; + bool ReadFromConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName); private: EItemType m_eItemType; - chcore::TString m_strName; - chcore::TString m_strLocalName; // locally updated name; not serialized - chcore::TString m_strItemTip; + string::TString m_strName; + string::TString m_strLocalName; // locally updated name; not serialized + string::TString m_strItemTip; // where to get the operation type from? (specified here / autodetect (with fallback specified here)) TOperationTypeInfo m_tOperationType; @@ -216,7 +214,7 @@ bool m_bSpecialOperation; // hints that this item is to be made default (bold), when detected operation type is equal to this operation type - chcore::EOperationType m_eDefaultItemHint; + chengine::EOperationType m_eDefaultItemHint; std::vector m_vChildItems; }; @@ -234,7 +232,7 @@ TShellMenuItemPtr GetNormalRoot(); // formatter - chcore::TSizeFormatterPtr GetFormatter() const; + chengine::TSizeFormatterPtr GetFormatter() const; // options void SetInterceptDragAndDrop(bool bEnable) { m_bInterceptDragAndDrop = bEnable; } @@ -253,14 +251,14 @@ bool GetShowFreeSpace() const { return m_bShowFreeSpace; } // serialize/unserialize - void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; - bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); + void StoreInConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName) const; + bool ReadFromConfig(chengine::TConfig& rConfig, PCTSTR pszNodeName); private: TShellMenuItemPtr m_spDragAndDropRoot; // root under which there are commands placed TShellMenuItemPtr m_spNormalRoot; // root under which there are commands placed - chcore::TSizeFormatterPtr m_spFmtSize; + chengine::TSizeFormatterPtr m_spFmtSize; bool m_bInterceptDragAndDrop = false; bool m_bInterceptKeyboardActions = false; Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerRowReader.h'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchcore/TPath.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TPath.cpp (.../TPath.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TPath.cpp (.../TPath.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -26,8 +26,10 @@ #include "TCoreException.h" #include "ErrorCodes.h" #include "TPathContainer.h" -#include "TStringArray.h" +#include "../libstring/TStringArray.h" +using namespace string; + namespace chcore { #define DEFAULT_PATH_SEPARATOR _T("\\") Index: src/libchcore/TPath.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TPath.h (.../TPath.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TPath.h (.../TPath.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,11 +19,11 @@ #ifndef __TPATH_H__ #define __TPATH_H__ -#include "TString.h" +#include "../libstring/TString.h" +#include "libchcore.h" namespace chcore { - class TSmartPath; class TPathContainer; class LIBCHCORE_API TSmartPath @@ -46,10 +46,10 @@ // from/to string conversions void FromString(const wchar_t* pszPath); - void FromString(const TString& strPath); + void FromString(const string::TString& strPath); const wchar_t* ToString() const; - TString ToWString() const; + string::TString ToWString() const; // other operations void Clear() throw(); @@ -119,11 +119,11 @@ static bool IsSeparator(wchar_t wchSeparator); protected: - TString m_strPath; + string::TString m_strPath; }; LIBCHCORE_API TSmartPath PathFromString(const wchar_t* pszPath); - LIBCHCORE_API TSmartPath PathFromWString(const TString& strPath); + LIBCHCORE_API TSmartPath PathFromWString(const string::TString& strPath); inline std::wostream& operator<<(std::wostream& os, const TSmartPath& rPath) { Index: src/libchcore/TPathContainer.cpp =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TPathContainer.cpp (.../TPathContainer.cpp) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TPathContainer.cpp (.../TPathContainer.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -20,7 +20,7 @@ #include "TPathContainer.h" #include "TCoreException.h" #include "ErrorCodes.h" -#include "TStringArray.h" +#include "../libstring/TStringArray.h" namespace chcore { @@ -159,34 +159,4 @@ { return m_vPaths.empty(); } - - void TPathContainer::StoreInConfig(TConfig& rConfig, PCTSTR pszPropName) const - { - TStringArray vPaths; - - // store as vector of strings (ineffective; should be done better) - for(const TSmartPath& spPath : m_vPaths) - { - vPaths.Add(spPath.ToWString()); - } - - rConfig.SetValue(pszPropName, vPaths); - } - - bool TPathContainer::ReadFromConfig(const TConfig& rConfig, PCTSTR pszPropName) - { - m_vPaths.clear(); - - TStringArray vPaths; - if (rConfig.GetValue(pszPropName, vPaths)) - { - for (size_t stIndex = 0; stIndex < vPaths.GetCount(); ++stIndex) - { - m_vPaths.push_back(PathFromWString(vPaths.GetAt(stIndex))); - } - return true; - } - else - return false; - } } Index: src/libchcore/TPathContainer.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TPathContainer.h (.../TPathContainer.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TPathContainer.h (.../TPathContainer.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -20,7 +20,6 @@ #define __TPATHCONTAINER_H__ #include "TPath.h" -#include "TConfig.h" namespace chcore { @@ -44,9 +43,6 @@ size_t GetCount() const; bool IsEmpty() const; - void StoreInConfig(TConfig& rConfig, PCTSTR pszPropName) const; - bool ReadFromConfig(const TConfig& rConfig, PCTSTR pszPropName); - private: #pragma warning(push) #pragma warning(disable: 4251) @@ -55,6 +51,4 @@ }; } -CONFIG_MEMBER_SERIALIZATION(TPathContainer) - #endif Index: src/libchcore/TSharedMemory.cpp =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TSharedMemory.cpp (.../TSharedMemory.cpp) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/libchcore/TSharedMemory.cpp (.../TSharedMemory.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -27,6 +27,8 @@ #include "TCoreException.h" #include "TIpcMutexLock.h" +using namespace string; + namespace chcore { #define MUTEX_SUFFIX _T("_Mutex") Index: src/libchcore/TSharedMemory.h =================================================================== diff -u -rb26ced3298e3e7e51d91f3ac70b56746786da83b -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TSharedMemory.h (.../TSharedMemory.h) (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TSharedMemory.h (.../TSharedMemory.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -23,7 +23,7 @@ #ifndef __TSHAREDMEMORY_H__ #define __TSHAREDMEMORY_H__ -#include "TString.h" +#include "../libstring/TString.h" #include "TIpcMutex.h" namespace chcore @@ -41,14 +41,14 @@ TSharedMemory& operator=(const TSharedMemory&) = delete; void Create(const wchar_t* pszName, shm_size_t stSize); - void Create(const wchar_t* pszName, const TString& wstrData); + void Create(const wchar_t* pszName, const string::TString& wstrData); void Create(const wchar_t* pszName, const BYTE* pbyData, shm_size_t stSize); void Open(const wchar_t* pszName); void Close() throw(); - void Read(TString& wstrData) const; - void Write(const TString& wstrData); + void Read(string::TString& wstrData) const; + void Write(const string::TString& wstrData); void Write(const BYTE* pbyData, shm_size_t stSize); // below are the unsafe functions (i.e. not protected with mutex) Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringException.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchcore/TWin32ErrorFormatter.cpp =================================================================== diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision a4635addad389b9e117679437a3e1b64a739ea96) +++ src/libchcore/TWin32ErrorFormatter.cpp (.../TWin32ErrorFormatter.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -21,6 +21,8 @@ #include #include +using namespace string; + namespace chcore { TString TWin32ErrorFormatter::FormatWin32ErrorCode(DWORD dwErrorCode, bool bUseNumberFallback) Index: src/libchcore/TWin32ErrorFormatter.h =================================================================== diff -u -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/TWin32ErrorFormatter.h (.../TWin32ErrorFormatter.h) (revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f) +++ src/libchcore/TWin32ErrorFormatter.h (.../TWin32ErrorFormatter.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -19,18 +19,19 @@ #ifndef __TWIN32ERRORFORMATTER_H__ #define __TWIN32ERRORFORMATTER_H__ -#include "TString.h" +#include "../libstring/TString.h" +#include "libchcore.h" namespace chcore { class LIBCHCORE_API TWin32ErrorFormatter { public: - static TString FormatWin32ErrorCode(DWORD dwErrorCode, bool bUseNumberFallback); - static TString FormatWin32ErrorCodeWithFallback(DWORD dwErrorCode, const wchar_t* pszModuleName, bool bUseNumberFallback); + static string::TString FormatWin32ErrorCode(DWORD dwErrorCode, bool bUseNumberFallback); + static string::TString FormatWin32ErrorCodeWithFallback(DWORD dwErrorCode, const wchar_t* pszModuleName, bool bUseNumberFallback); private: - static TString FormatWin32ErrorCodeWithModule(DWORD dwErrorCode, HMODULE hModule, bool bUseNumberFallback); + static string::TString FormatWin32ErrorCodeWithModule(DWORD dwErrorCode, HMODULE hModule, bool bUseNumberFallback); }; } Index: src/libchcore/Tests/TestsTSmartPath.cpp =================================================================== diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/Tests/TestsTSmartPath.cpp (.../TestsTSmartPath.cpp) (revision a4635addad389b9e117679437a3e1b64a739ea96) +++ src/libchcore/Tests/TestsTSmartPath.cpp (.../TestsTSmartPath.cpp) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -6,6 +6,7 @@ #include "../TPathContainer.h" using namespace chcore; +using namespace string; TEST(TSmartPathTests, EmptyPathToString) { Index: src/libchcore/libchcore.vc140.vcxproj =================================================================== diff -u -re98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8) +++ src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -471,152 +471,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -633,71 +510,9 @@ NotUsing NotUsing - - - - - - - - - - - - - - - - - - - - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - true true @@ -710,191 +525,15 @@ true true - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - true - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -933,18 +572,14 @@ Create Create - - - {d41831f5-b2a5-4c92-9f15-1d9ab04722cc} - - - {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} - + - + + {5bd38175-9f48-417d-8e5b-7093b1873ce5} + Index: src/libchcore/libchcore.vc140.vcxproj.filters =================================================================== diff -u -re98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/libchcore/libchcore.vc140.vcxproj.filters (.../libchcore.vc140.vcxproj.filters) (revision e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8) +++ src/libchcore/libchcore.vc140.vcxproj.filters (.../libchcore.vc140.vcxproj.filters) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -12,173 +12,26 @@ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - {fc917d04-8853-43b8-b72c-d3e79ede544c} - - - {291aa467-7b12-4be2-9740-45afb314fe7b} - - - {0f791663-0a08-4f3f-89b5-7b5f40a467ee} - - - {76d85b5b-fa45-4693-9701-d6b5fce941df} - {1fddd996-c723-4b09-9c98-868df98fe204} - - {2a642b1a-83b2-4643-ac85-d040e8904d4d} - - - {3ce71f46-ef32-4c71-9ac0-bcb36d6b6e99} - - - {0b6550bf-a20b-4f12-9469-bd3e3bfa40fa} - - - {e6da867d-b0bd-42d5-a0c8-43542984582f} - - - {e4894f9f-1e1d-451a-9a02-60b9d682b60f} - - - {0f10fd6b-7813-419a-a276-cedaa42bc7bc} - - - {d920c603-b44c-47ce-89c3-ead84fc29116} - {b7eef53f-fb70-4f50-aa6d-0a699bb20f25} - - {28670d3c-b5d8-4acb-91aa-c886efae641c} - - - {9d121063-367c-4424-8009-12b3635e0fed} - - - {30d60be9-a936-4191-a66d-64e127f3d258} - - - {02c88ac8-15f7-4372-9f47-247ecbada7db} - - - {3de9b5f5-44fa-4e4b-9a63-f93d940d537a} - {a77c6575-b7b7-4683-9295-d5173da8c76b} - - {b5e932b3-5a5a-465b-8ade-3354c81e1996} + + {c0950b01-0c97-431a-9889-0f1bcfc49062} - - {953a12ea-2aa5-4c7a-a310-a461ce8b962f} + + {6c5d3d2d-292d-45f1-a74d-8b3047a68694} - - {64486dcc-0c2a-468c-9498-c4ff0c2183af} - - - {076cbf8f-0110-48a9-9cbe-9929534ba1d1} - - - {70510fff-69c9-4ba7-beb1-55024077e6b5} - - - {4d6af45e-ee39-4520-830b-1eff232b8f0a} - - - {2bf8bd08-c6de-45fd-a047-8c90c07ac481} - - - {202d13d3-126b-4811-8c1c-a14b4f0476b7} - - - {301c07b0-8112-4a01-9e47-9b32f6637be8} - - - {2e089b8f-c085-4bce-a342-64c2611a717a} - - - {94659973-1dd0-4e22-83c6-2fc26d3bf56e} - - - {cc825cb7-bb97-45eb-86ed-ac031e1ca9e6} - - - {712c0e1a-c6e3-4aab-8322-a9eea42e6d81} - - - {da2a09b3-c940-46ca-8161-a9f97fddf23e} - - - {0015d34a-19cb-41da-a52d-1aedece5682c} - - - {1412ea6d-b28c-4a96-b076-3094c476ce45} - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\Task - - - Source Files\Task - - - Source Files\Task - - - Source Files\Task Manager - - - Source Files\Task Manager - Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - Source Files\Library files @@ -188,255 +41,27 @@ Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - Source Files\Tools - - Source Files\Feedback - - - Source Files\Feedback - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\Task - - - Source Files\Task Manager - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - - - Source Files\Tools - Source Files\Tools Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools\Config - - - Source Files\Tools\Config\details - - - Source Files\Tools\Config\details - - - Source Files\Tools\Config - - - Source Files\Tools\Config - - - Source Files\Tools\ModificationTrackers - - - Source Files\Tools\ModificationTrackers - - - Source Files\Serialization - - - Source Files\Task - Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Feedback - - - Source Files\Stats - - - Source Files\Stats - - - Source Files\Stats - - - Source Files\Feedback - - - Source Files\Feedback - - - Source Files\Serialization\Fake - Source Files\Tools Source Files\Tools - - Source Files\Task Config - - - Source Files\Task Config - - - Source Files\Task Config - - - Source Files\Feedback - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Filesystems - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Filesystems - - - Source Files\Filesystems - - - Source Files\Filesystems\Local - - - Source Files\Filesystems\Local - - - Source Files\Filesystems\Local - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - Source Files\Tools\Exceptions @@ -446,321 +71,51 @@ Source Files\Tools\Exceptions - - Source Files\Filesystems\Exceptions - - - Source Files\Feedback - - - Source Files\SubTasks - - - Source Files\Task Config - - - Source Files\Library files - Source Files\Tools Tests - - Source Files\Filesystems\OverlappedIO\ReaderWriter + + + Source Files\Tools\Timers - - Source Files\Filesystems\OverlappedIO\ReaderWriter + + Source Files\Tools\Timers - - Source Files\Filesystems\OverlappedIO\Data Buffer\Buffers + + Source Files\Tools\IPC - - Source Files\Filesystems\OverlappedIO\Data Buffer\Buffers - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Simple - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Simple - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Simple - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Complex - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Complex - - - Source Files\Tools - - Source Files\Tools + Source Files\Tools\IPC - - Source Files\Tools + + Source Files\Tools\Timers - - - Source Files\Shared + + Source Files\Tools\IPC - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Tools\Queues - - - Source Files\Tools\Threading - - - Source Files\Filesystems\OverlappedIO\Data Buffer\BufferConfig - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Filesystems\OverlappedIO\ThreadSupport - - - Source Files\Tools\Threading - - - Source Files\Tools\Threading - - - Source Files\Tools\Threading - - - Source Files\Tools\Threading - - - Source Files\Tools\Threading - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\Task - - - Source Files\Task - - - Source Files\Task - - - Source Files\Task Manager - - - Source Files\Task Manager - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - Source Files\Library files Source Files\Library files - - Source Files\Tools - Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - Source Files\Tools - - Source Files\Feedback - - - Source Files\Feedback - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite\SQLite Schemas - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization\SQLite - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\Serialization - - - Source Files\SubTasks - - - Source Files\SubTasks - - - Source Files\Task Manager - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - - - Source Files\Tools\SQLite - Source Files\Tools Source Files\Tools - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools - - - Source Files\Tools\Config - - - Source Files\Tools\Config\details - - - Source Files\Tools\Config\details - - - Source Files\Tools\Config - - - Source Files\Tools\Config - - - Source Files\Serialization - - - Source Files\Task - Source Files\Tools @@ -770,99 +125,12 @@ Tests - - Tests - - - Tests - - - Tests - - - Tests - - - Tests - Tests - - Source Files\Tools - - - Tests - - - Source Files\Tools - - - Source Files\Feedback - - - Source Files\Stats - - - Source Files\Stats - - - Source Files\Stats - - - Source Files\Feedback - - - Source Files\Serialization\Fake - Source Files\Tools - - Source Files\Task Config - - - Source Files\Task Config - - - Tests - - - Tests - - - Source Files\Tools - - - Source Files\Tools - - - Tests - - - Tests - - - Tests - - - Source Files\Filesystems - - - Source Files\Filesystems - - - Source Files\Filesystems - - - Source Files\Filesystems\Local - - - Source Files\Filesystems\Local - - - Source Files\Filesystems\Local - Source Files\Tools\Exceptions @@ -872,120 +140,21 @@ Source Files\Tools\Exceptions - - Source Files\Filesystems\Exceptions + + Source Files\Tools\Timers - - Source Files\Feedback + + Source Files\Tools\IPC - - Source Files\SubTasks - - - Tests - - - Source Files\Task Config - - - Tests\TaskConfig - - - Source Files\Library files - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Tests\DataBuffer - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Filesystems\OverlappedIO\Data Buffer\Buffers - - - Source Files\Filesystems\OverlappedIO\Data Buffer\Buffers - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Simple - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Complex - - - Source Files\Filesystems\OverlappedIO\ReaderWriter\Queues\Complex - - - Source Files\Tools - - Source Files\Tools + Source Files\Tools\IPC - - Source Files\Tools + + Source Files\Tools\Timers - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers + + Source Files\Tools\IPC - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\Feedback Wrappers - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Filesystems\OverlappedIO\Data Buffer\BufferConfig - - - Source Files\Filesystems\OverlappedIO\ReaderWriter - - - Source Files\Filesystems\OverlappedIO\ThreadSupport - - - Source Files\Tools\Threading - - - Source Files\Tools\Threading - Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/CommonDataTypes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/CommonDataTypes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/ConfigNode.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ConfigNode.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/ConfigNode.h =================================================================== diff -u --- src/libchengine/ConfigNode.h (revision 0) +++ src/libchengine/ConfigNode.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,65 @@ +// ============================================================================ +// Copyright (C) 2001-2014 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TCONFIGNODE_H__ +#define __TCONFIGNODE_H__ + +#include "../libstring/TString.h" +#include +#include "../libserializer/SerializerDataTypes.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace chengine +{ + namespace details + { + class ConfigNode + { + public: + ConfigNode(serializer::object_id_t oidObjectID, const string::TString& strNodeName, int iOrder, const string::TString& strValue); + ConfigNode(const ConfigNode& rSrc); + + ConfigNode& operator=(const ConfigNode& rSrc); + + string::TString GetNodeName() const; + int GetOrder() const; + + public: + enum EModifications + { + eMod_None = 0, + eMod_Added = 1, + eMod_NodeName, + eMod_Value, + eMod_Order, + + eMod_Last + }; + + typedef std::bitset Bitset; + mutable Bitset m_setModifications; + + serializer::object_id_t m_oidObjectID; + serializer::TSharedModificationTracker m_iOrder; + serializer::TSharedModificationTracker m_strNodeName; + serializer::TSharedModificationTracker m_strValue; + }; + } +} + +#endif Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/ConfigNodeContainer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ConfigNodeContainer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/ConfigNodeContainer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ConfigNodeContainer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/EFeedbackResult.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/EFeedbackResult.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/EFileError.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/EFileError.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/EOperationTypes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/EOperationTypes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/ESubTaskTypes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ESubTaskTypes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/ETaskCurrentState.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ETaskCurrentState.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/EngineConstants.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/EngineConstants.h'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/GTestMacros.h =================================================================== diff -u --- src/libchengine/GTestMacros.h (revision 0) +++ src/libchengine/GTestMacros.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,16 @@ +#ifndef __GTESTMACROS_H__ +#define __GTESTMACROS_H__ + +#define EXPECT_TIMEOUT(handle)\ + {\ + DWORD dwResult = WaitForSingleObject(handle, 0); \ + EXPECT_EQ(WAIT_TIMEOUT, dwResult); \ + } + +#define EXPECT_SIGNALED(handle)\ + {\ + DWORD dwResult = WaitForSingleObject(handle, 0); \ + EXPECT_EQ(WAIT_OBJECT_0 + 0, dwResult); \ + } + +#endif Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFeedbackHandler.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFeedbackHandler.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/IFeedbackHandler.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFeedbackHandler.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFeedbackHandlerFactory.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFeedbackHandlerFactory.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/IFeedbackHandlerFactory.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFeedbackHandlerFactory.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFilesystem.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFilesystem.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/IFilesystem.h =================================================================== diff -u --- src/libchengine/IFilesystem.h (revision 0) +++ src/libchengine/IFilesystem.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,71 @@ +// ============================================================================ +// Copyright (C) 2001-2015 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __IFILESYSTEM_H__ +#define __IFILESYSTEM_H__ + +#include "TFileInfoFwd.h" +#include "TBasePathDataFwd.h" +#include "IFilesystemFind.h" +#include "IFilesystemFile.h" + +namespace chcore { + class TSmartPath; +} + +namespace chengine +{ + class LIBCHENGINE_API IFilesystem + { + public: + enum EPathsRelation + { + eRelation_Network, // at least one of the paths is network one + eRelation_CDRom, // at least one of the paths relates to cd/dvd drive + eRelation_TwoPhysicalDisks, // paths lies on two separate physical disks + eRelation_SinglePhysicalDisk, // paths lies on the same physical disk + eRelation_Other // other type of relation + }; + + public: + virtual ~IFilesystem(); + + virtual bool PathExist(const chcore::TSmartPath& strPath) = 0; + + virtual void SetFileDirBasicInfo(const chcore::TSmartPath& pathFileDir, DWORD dwAttributes, const chcore::TFileTime& ftCreationTime, const chcore::TFileTime& ftLastAccessTime, const chcore::TFileTime& ftLastWriteTime) = 0; + virtual void SetAttributes(const chcore::TSmartPath& pathFileDir, DWORD dwAttributes) = 0; + + virtual void CreateDirectory(const chcore::TSmartPath& pathDirectory, bool bCreateFullPath) = 0; + virtual void RemoveDirectory(const chcore::TSmartPath& pathFile) = 0; + virtual void DeleteFile(const chcore::TSmartPath& pathFile) = 0; + + virtual void GetFileInfo(const chcore::TSmartPath& pathFile, TFileInfoPtr& rFileInfo, const TBasePathDataPtr& spBasePathData = TBasePathDataPtr()) = 0; + virtual void FastMove(const chcore::TSmartPath& pathSource, const chcore::TSmartPath& pathDestination) = 0; + + virtual IFilesystemFindPtr CreateFinderObject(const chcore::TSmartPath& pathDir, const chcore::TSmartPath& pathMask) = 0; + virtual IFilesystemFilePtr CreateFileObject(IFilesystemFile::EOpenMode eMode, const chcore::TSmartPath& pathFile, bool bNoBuffering, bool bProtectReadOnlyFiles) = 0; + + virtual EPathsRelation GetPathsRelation(const chcore::TSmartPath& pathFirst, const chcore::TSmartPath& pathSecond) = 0; + + virtual void GetDynamicFreeSpace(const chcore::TSmartPath& path, unsigned long long& rullFree, unsigned long long& rullTotal) = 0; + }; + + typedef std::shared_ptr IFilesystemPtr; +} + +#endif Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFilesystemFile.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFilesystemFile.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/IFilesystemFile.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFilesystemFile.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFilesystemFind.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFilesystemFind.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IFilesystemFind.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IFilesystemFind.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IRunningTimeControl.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IRunningTimeControl.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/IRunningTimeControl.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IRunningTimeControl.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/OverlappedCallbacks.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/OverlappedCallbacks.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d23ed007b8142c6faf6d8cad4a421ac243ef0146 is not in file src/libchengine/OverlappedCallbacks.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/OverlappedCallbacks.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TBasePathData.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TBasePathData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TBasePathData.h =================================================================== diff -u --- src/libchengine/TBasePathData.h (revision 0) +++ src/libchengine/TBasePathData.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,149 @@ +// ============================================================================ +// Copyright (C) 2001-2010 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +/// @file TBasePathData.h +/// @date 2010/10/13 +/// @brief Contains declarations of classes related to keeping additional path data. +// ============================================================================ +#ifndef __TBASEPATHDATA_H__ +#define __TBASEPATHDATA_H__ + +#include "../libchcore/TPath.h" +#include +#include "../libserializer/TRemovedObjects.h" +#include "../libserializer/ISerializerRowData.h" +#include "../libserializer/ISerializerRowReader.h" +#include "CommonDataTypes.h" +#include "libchengine.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace serializer +{ + class IColumnsDefinition; +} + +namespace chengine +{ + ///////////////////////////////////////////////////////////////////////////// + // TBasePathData + class LIBCHENGINE_API TBasePathData + { + private: + enum EModifications + { + eMod_Added, + eMod_SrcPath, + eMod_SkipProcessing, + eMod_DstPath, + + eMod_Last + }; + + public: + TBasePathData(); + TBasePathData(serializer::object_id_t oidObjectID, const chcore::TSmartPath& spSrcPath); + TBasePathData(const TBasePathData& rEntry); + + serializer::object_id_t GetObjectID() const; + void SetObjectID(serializer::object_id_t oidObjectID); + + chcore::TSmartPath GetSrcPath() const; + void SetSrcPath(const chcore::TSmartPath& pathSrc); + + bool GetSkipFurtherProcessing() const; + void SetSkipFurtherProcessing(bool bSkipFurtherProcessing); + + void SetDestinationPath(const chcore::TSmartPath& strPath); + chcore::TSmartPath GetDestinationPath() const; + bool IsDestinationPathSet() const; + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + static void InitColumns(serializer::IColumnsDefinition& rColumnDefs); + void Load(const serializer::ISerializerRowReaderPtr& spRowReader); + + private: +#pragma warning(push) +#pragma warning(disable: 4251) + // modification management + typedef std::bitset BitSet; + mutable BitSet m_setModifications; + + // attributes + serializer::object_id_t m_oidObjectID; + serializer::TSharedModificationTracker m_pathSrc; + serializer::TSharedModificationTracker m_bSkipFurtherProcessing; // specifies if the path should be (or not) processed further + serializer::TSharedModificationTracker m_pathDst; +#pragma warning(pop) + }; + + typedef std::shared_ptr TBasePathDataPtr; + + ////////////////////////////////////////////////////////////////////////// + // TBasePathDataContainer + + class LIBCHENGINE_API TBasePathDataContainer + { + public: + // constructors/destructor + TBasePathDataContainer(); + TBasePathDataContainer(const TBasePathDataContainer& rSrc) = delete; + ~TBasePathDataContainer(); + + TBasePathDataContainer& operator=(const TBasePathDataContainer& rSrc) = delete; + + TBasePathDataContainer& operator=(const chcore::TPathContainer& tPaths); + + // standard access to data + void Add(const TBasePathDataPtr& spEntry); + void RemoveAt(file_count_t fcIndex); + TBasePathDataPtr GetAt(file_count_t fcIndex) const; + TBasePathDataPtr FindByID(size_t fcObjectID) const; + + void Clear(); + + bool IsEmpty() const; + file_count_t GetCount() const; + + // processing flags + bool AllMarkedAsSkipFurtherProcessing() const; + void ResetProcessingFlags(); + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + void Load(const serializer::ISerializerContainerPtr& spContainer); + + void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; + + private: + void ClearNL(); + + protected: +#pragma warning(push) +#pragma warning(disable: 4251) + typedef std::vector VecEntries; + VecEntries m_vEntries; + mutable serializer::TRemovedObjects m_setRemovedObjects; + + mutable boost::shared_mutex m_lock; +#pragma warning(pop) + serializer::object_id_t m_oidLastObjectID; + }; + + typedef std::shared_ptr TBasePathDataContainerPtr; +} + +#endif // __TBASEPATHDATA_H__ Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TBasePathDataFwd.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TBasePathDataFwd.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TBufferList.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TBufferList.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TBufferSizes.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TBufferSizes.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TBufferSizes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TBufferSizes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TConfig.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfig.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 847d6d10ae5b9a694b9b54d3b66051239d5cbea9 is not in file src/libchengine/TConfig.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfig.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TConfigArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfigArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TConfigArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfigArray.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TConfigNotifier.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfigNotifier.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TConfigNotifier.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfigNotifier.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TConfigSerializers.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TConfigSerializers.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 12b36349f6214befeace08efa9acc7e03be0d847 is not in file src/libchengine/TCoreEngine.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TCoreEngine.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 12b36349f6214befeace08efa9acc7e03be0d847 is not in file src/libchengine/TCoreEngine.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TCoreEngine.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TDateTime.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TDateTime.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TDateTime.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TDateTime.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TDestinationPathProvider.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TDestinationPathProvider.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TDestinationPathProvider.h =================================================================== diff -u --- src/libchengine/TDestinationPathProvider.h (revision 0) +++ src/libchengine/TDestinationPathProvider.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,51 @@ +// ============================================================================ +// Copyright (C) 2001-2009 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TDESTINATIONPATHPROVIDER_H__ +#define __TDESTINATIONPATHPROVIDER_H__ + +#include "../libchcore/TPath.h" +#include "TFileInfo.h" +#include "IFilesystem.h" + +namespace chengine +{ + class TDestinationPathProvider + { + public: + TDestinationPathProvider(const IFilesystemPtr& spFilesystem, const chcore::TSmartPath& pathDestinationBase, bool bIgnoreFolders, bool bForceDirectories, + const string::TString& strFirstAltName, const string::TString& strNextAltName); + + chcore::TSmartPath CalculateDestinationPath(const TFileInfoPtr& spFileInfo); + + private: + chcore::TSmartPath CalculateForceDirectories(const TFileInfoPtr& spFileInfo); + chcore::TSmartPath CalculateIgnoreDirectories(const TFileInfoPtr& spFileInfo); + chcore::TSmartPath FindFreeSubstituteName(chcore::TSmartPath pathSrcPath) const; + + private: + IFilesystemPtr m_spFilesystem; + chcore::TSmartPath m_pathDestinationBase; + bool m_bIgnoreFolders; + bool m_bForceDirectories; + string::TString m_strFirstAltName; + string::TString m_strNextAltName; + }; +} + +#endif Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TEvent.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TEvent.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b051cbac8dac8c448507aa7c64753af9cf793af5 is not in file src/libchengine/TEvent.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TEvent.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TEventCounter.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TEventCounter.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 7892d3d5ca43da7dca4d9e8e0c321c21c3e13ea0 is not in file src/libchengine/TEventGuard.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TEventGuard.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TEventGuard.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TEventGuard.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TFeedbackHandlerBase.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackHandlerBase.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFeedbackHandlerBase.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackHandlerBase.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TFeedbackHandlerWrapper.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackHandlerWrapper.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libchengine/TFeedbackHandlerWrapper.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackHandlerWrapper.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TFeedbackResult.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackResult.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TFeedbackResult.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFeedbackResult.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TFileException.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileException.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TFileException.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileException.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TFileFilter.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileFilter.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TFileFilter.h =================================================================== diff -u --- src/libchengine/TFileFilter.h (revision 0) +++ src/libchengine/TFileFilter.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,260 @@ +/*************************************************************************** + * Copyright (C) 2001-2008 by Jozef Starosczyk * + * ixen@copyhandler.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Library General Public License * + * (version 2) as published by the Free Software Foundation; * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef __TFILEFILTER_H__ +#define __TFILEFILTER_H__ + +#include +#include "TDateTime.h" +#include +#include "../libstring/TStringPatternArray.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace chengine +{ + class TConfig; + class TFileInfo; + typedef std::shared_ptr TFileInfoPtr; + + class LIBCHENGINE_API TFileFilter + { + public: + enum ESizeCompareType + { + eSizeCmp_Less = 0, + eSizeCmp_LessOrEqual = 1, + eSizeCmp_Equal = 2, + eSizeCmp_GreaterOrEqual = 3, + eSizeCmp_Greater = 4 + }; + + enum EDateCompareType + { + eDateCmp_Less = 0, + eDateCmp_LessOrEqual = 1, + eDateCmp_Equal = 2, + eDateCmp_GreaterOrEqual = 3, + eDateCmp_Greater = 4 + }; + + enum EDateType + { + eDateType_Created = 0, + eDateType_Modified = 1, + eDateType_LastAccessed = 2 + }; + + public: + TFileFilter(); + TFileFilter(const TFileFilter& rFilter); + TFileFilter& operator=(const TFileFilter& rFilter); + + void SetData(const TFileFilter& rSrc); + + // matching + bool Match(const TFileInfoPtr& spInfo) const; + + // serialization + void StoreInConfig(TConfig& rConfig) const; + void ReadFromConfig(const TConfig& rConfig); + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + void Load(const serializer::ISerializerRowReaderPtr& spRowReader); + static void InitColumns(serializer::IColumnsDefinition& rColumns); + + // other + serializer::object_id_t GetObjectID() const; + void SetObjectID(serializer::object_id_t oidObjectID); + void ResetModifications(); + + // atrributes access + bool GetUseMask() const; + void SetUseMask(bool bUseMask); + + string::TString GetCombinedMask() const; + void SetCombinedMask(const string::TString& pMask); + + bool GetUseExcludeMask() const; + void SetUseExcludeMask(bool bUseExcludeMask); + + string::TString GetCombinedExcludeMask() const; + void SetCombinedExcludeMask(const string::TString& pMask); + + bool GetUseSize1() const; + void SetUseSize1(bool bUseSize1); + + ESizeCompareType GetSizeType1() const; + void SetSizeType1(ESizeCompareType eSizeType1); + + unsigned long long GetSize1() const; + void SetSize1(unsigned long long ullSize1); + + bool GetUseSize2() const; + void SetUseSize2(bool bUseSize2); + + ESizeCompareType GetSizeType2() const; + void SetSizeType2(ESizeCompareType eSizeType2); + + unsigned long long GetSize2() const; + void SetSize2(unsigned long long ullSize2); + + // dates + TFileFilter::EDateType GetDateType() const; + void SetDateType(TFileFilter::EDateType eDateType); + + // date 1 + bool GetUseDateTime1() const; + void SetUseDateTime1(bool bUseDateTime1); + + TFileFilter::EDateCompareType GetDateCmpType1() const; + void SetDateCmpType1(TFileFilter::EDateCompareType eCmpType1); + + bool GetUseDate1() const; + void SetUseDate1(bool tDate1); + + bool GetUseTime1() const; + void SetUseTime1(bool tTime1); + + const TDateTime& GetDateTime1() const; + void SetDateTime1(const TDateTime& tDateTime1); + + // date 2 + bool GetUseDateTime2() const; + void SetUseDateTime2(bool bUseDateTime2); + + TFileFilter::EDateCompareType GetDateCmpType2() const; + void SetDateCmpType2(TFileFilter::EDateCompareType eCmpType2); + + bool GetUseDate2() const; + void SetUseDate2(bool tDate2); + + bool GetUseTime2() const; + void SetUseTime2(bool tTime2); + + const TDateTime& GetDateTime2() const; + void SetDateTime2(const TDateTime& tDateTime2); + + // attributes + bool GetUseAttributes() const; + void SetUseAttributes(bool bUseAttributes); + + int GetArchive() const; + void SetArchive(int iArchive); + + int GetReadOnly() const; + void SetReadOnly(int iReadOnly); + + int GetHidden() const; + void SetHidden(int iHidden); + + int GetSystem() const { return m_iSystem; } + void SetSystem(int iSystem) { m_iSystem = iSystem; } + + int GetDirectory() const { return m_iDirectory; } + void SetDirectory(int iDirectory) { m_iDirectory = iDirectory; } + + private: + enum EModifications + { + eMod_Added, + eMod_UseMask, + eMod_Mask, + eMod_UseExcludeMask, + eMod_ExcludeMask, + eMod_UseSize1, + eMod_SizeCmpType1, + eMod_Size1, + eMod_UseSize2, + eMod_SizeCmpType2, + eMod_Size2, + eMod_DateType, + eMod_UseDateTime1, + eMod_DateCmpType1, + eMod_UseDate1, + eMod_UseTime1, + eMod_DateTime1, + eMod_UseDateTime2, + eMod_DateCmpType2, + eMod_UseDate2, + eMod_UseTime2, + eMod_DateTime2, + eMod_UseAttributes, + eMod_AttrArchive, + eMod_AttrReadOnly, + eMod_AttrHidden, + eMod_AttrSystem, + eMod_AttrDirectory, + + eMod_Last + }; + + // object identification + serializer::object_id_t m_oidObjectID; + + // modification management +#pragma warning(push) +#pragma warning(disable: 4251) + typedef std::bitset Bitset; + mutable Bitset m_setModifications; + + // files mask + serializer::TSharedModificationTracker m_bUseMask; + serializer::TSharedModificationTracker m_astrMask; + + // files mask- + serializer::TSharedModificationTracker m_bUseExcludeMask; + serializer::TSharedModificationTracker m_astrExcludeMask; + + // size filtering + serializer::TSharedModificationTracker m_bUseSize1; + serializer::TSharedModificationTracker m_eSizeCmpType1; + serializer::TSharedModificationTracker m_ullSize1; + + serializer::TSharedModificationTracker m_bUseSize2; + serializer::TSharedModificationTracker m_eSizeCmpType2; + serializer::TSharedModificationTracker m_ullSize2; + + // date filtering + serializer::TSharedModificationTracker m_eDateType; // created/last modified/last accessed + + serializer::TSharedModificationTracker m_bUseDateTime1; + + serializer::TSharedModificationTracker m_eDateCmpType1; // before/after + serializer::TSharedModificationTracker m_bUseDate1; + serializer::TSharedModificationTracker m_bUseTime1; + serializer::TSharedModificationTracker m_tDateTime1; + + serializer::TSharedModificationTracker m_bUseDateTime2; + + serializer::TSharedModificationTracker m_eDateCmpType2; + serializer::TSharedModificationTracker m_bUseDate2; + serializer::TSharedModificationTracker m_bUseTime2; + serializer::TSharedModificationTracker m_tDateTime2; + + // attribute filtering + serializer::TSharedModificationTracker m_bUseAttributes; + serializer::TSharedModificationTracker m_iArchive; + serializer::TSharedModificationTracker m_iReadOnly; + serializer::TSharedModificationTracker m_iHidden; + serializer::TSharedModificationTracker m_iSystem; + serializer::TSharedModificationTracker m_iDirectory; +#pragma warning(pop) + }; +} + +#endif Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFileFiltersArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileFiltersArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFileFiltersArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileFiltersArray.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFileInfo.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileInfo.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TFileInfo.h =================================================================== diff -u --- src/libchengine/TFileInfo.h (revision 0) +++ src/libchengine/TFileInfo.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,143 @@ +/*************************************************************************** +* Copyright (C) 2001-2008 by Jozef Starosczyk * +* ixen@copyhandler.com * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU Library General Public License * +* (version 2) as published by the Free Software Foundation; * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU Library General Public * +* License along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ +// File was originally based on FileInfo.h by Antonio Tejada Lacaci. +// Almost everything has changed since then. + +#ifndef __TFILEINFO_H__ +#define __TFILEINFO_H__ + +#include "../libchcore/TPath.h" +#include "TBasePathData.h" +#include +#include "../libchcore/TFileTime.h" + +namespace chengine +{ + class LIBCHENGINE_API TFileInfo + { + public: + enum EFlags + { + // flag stating that file has been processed (used to determine if file can be deleted at the end of copying) + eFlag_Processed = 1, + }; + + public: + TFileInfo(); + TFileInfo(const TBasePathDataPtr& spBasePathData, const chcore::TSmartPath& rpathFile, + DWORD dwAttributes, ULONGLONG uhFileSize, const chcore::TFileTime& ftCreation, const chcore::TFileTime& ftLastAccess, const chcore::TFileTime& ftLastWrite, + unsigned int uiFlags); + ~TFileInfo(); + + // operators + bool operator==(const TFileInfo& rInfo) const; + + // with base path + void Init(const TBasePathDataPtr& spBasePathData, const chcore::TSmartPath& rpathFile, + DWORD dwAttributes, ULONGLONG uhFileSize, const chcore::TFileTime& ftCreation, const chcore::TFileTime& ftLastAccess, const chcore::TFileTime& ftLastWrite, + unsigned int uiFlags); + + // without base path + void Init(const chcore::TSmartPath& rpathFile, DWORD dwAttributes, ULONGLONG uhFileSize, const chcore::TFileTime& ftCreation, + const chcore::TFileTime& ftLastAccess, const chcore::TFileTime& ftLastWrite, unsigned int uiFlags); + + // unique object id + serializer::object_id_t GetObjectID() const; + void SetObjectID(serializer::object_id_t oidObjectID); + + // parent object + TBasePathDataPtr GetBasePathData() const; + void SetParentObject(const TBasePathDataPtr& spBasePathData); + serializer::object_id_t GetSrcObjectID() const; + + // file path + const chcore::TSmartPath& GetFilePath() const; // returns path with m_pathFile (probably not full) + chcore::TSmartPath GetFullFilePath() const; // returns full path + void SetFilePath(const chcore::TSmartPath& tPath); + + // file size + ULONGLONG GetLength64() const; + void SetLength64(ULONGLONG uhSize); + + // file times + void SetFileTimes(const chcore::TFileTime& rCreation, const chcore::TFileTime& rLastAccess, const chcore::TFileTime& rLastWrite); + const chcore::TFileTime& GetCreationTime() const; + const chcore::TFileTime& GetLastAccessTime() const; + const chcore::TFileTime& GetLastWriteTime() const; + + // attributes + DWORD GetAttributes() const; + void SetAttributes(DWORD dwAttributes); + bool IsDirectory() const; + bool IsArchived() const; + bool IsReadOnly() const; + bool IsCompressed() const; + bool IsSystem() const; + bool IsHidden() const; + bool IsTemporary() const; + bool IsNormal() const; + + void MarkAsProcessed(bool bProcessed); + bool IsProcessed() const; + bool IsBasePathProcessed() const; + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + static void InitColumns(serializer::IColumnsDefinition& rColumns); + void Load(const serializer::ISerializerRowReaderPtr& spRowReader, const TBasePathDataContainerPtr& spSrcContainer); + + private: + enum EModifications + { + eMod_None = 0, + eMod_Added, + eMod_Path, + eMod_BasePath, + eMod_Attributes, + eMod_FileSize, + eMod_TimeCreated, + eMod_TimeLastAccess, + eMod_TimeLastWrite, + eMod_Flags, + + // do not use - must be the last value in this enum + eMod_Last + }; + +#pragma warning(push) +#pragma warning(disable: 4251) + typedef std::bitset Bitset; + mutable Bitset m_setModifications; + + serializer::object_id_t m_oidObjectID; + + serializer::TSharedModificationTracker m_pathFile; + serializer::TSharedModificationTracker m_spBasePathData; + serializer::TSharedModificationTracker m_dwAttributes; // attributes + serializer::TSharedModificationTracker m_uhFileSize; + serializer::TSharedModificationTracker m_ftCreation; + serializer::TSharedModificationTracker m_ftLastAccess; + serializer::TSharedModificationTracker m_ftLastWrite; + serializer::TSharedModificationTracker m_uiFlags; +#pragma warning(pop) + }; + + typedef std::shared_ptr TFileInfoPtr; +} + +#endif Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TFileInfoArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileInfoArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TFileInfoArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileInfoArray.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFileInfoFwd.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFileInfoFwd.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFilesystemFeedbackWrapper.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFilesystemFeedbackWrapper.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/TFilesystemFeedbackWrapper.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFilesystemFeedbackWrapper.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TFilesystemFileFeedbackWrapper.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFilesystemFileFeedbackWrapper.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/TFilesystemFileFeedbackWrapper.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFilesystemFileFeedbackWrapper.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TLocalFilesystem.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TLocalFilesystem.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TLocalFilesystem.h =================================================================== diff -u --- src/libchengine/TLocalFilesystem.h (revision 0) +++ src/libchengine/TLocalFilesystem.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,91 @@ +// ============================================================================ +// Copyright (C) 2001-2010 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +/// @file TLocalFilesystem.h +/// @date 2011/03/24 +/// @brief Contains class responsible for accessing local filesystem. +// ============================================================================ +#ifndef __TLOCALFILESYSTEM_H__ +#define __TLOCALFILESYSTEM_H__ + +#include "../libchcore/TPath.h" +#include "TBasePathData.h" +#include "TFileInfoFwd.h" +#include "IFilesystem.h" +#include "../liblogger/TLogger.h" + +namespace chcore +{ + class TFileTime; +} + +namespace chengine +{ + class TLocalFilesystemFind; + class TLocalFilesystemFile; + class TSimpleDataBuffer; + class TOverlappedDataBuffer; + + class LIBCHENGINE_API TLocalFilesystem : public IFilesystem + { + public: + explicit TLocalFilesystem(const logger::TLogFileDataPtr& spLogFileData); + TLocalFilesystem(const TLocalFilesystem&) = delete; + + virtual ~TLocalFilesystem(); + + TLocalFilesystem& operator=(const TLocalFilesystem&) = delete; + + bool PathExist(const chcore::TSmartPath& strPath) override; // check for file or folder existence + + void SetFileDirBasicInfo(const chcore::TSmartPath& pathFileDir, DWORD dwAttributes, const chcore::TFileTime& ftCreationTime, const chcore::TFileTime& ftLastAccessTime, const chcore::TFileTime& ftLastWriteTime) override; + void SetAttributes(const chcore::TSmartPath& pathFileDir, DWORD dwAttributes) override; + + void CreateDirectory(const chcore::TSmartPath& pathDirectory, bool bCreateFullPath) override; + void RemoveDirectory(const chcore::TSmartPath& pathFile) override; + void DeleteFile(const chcore::TSmartPath& pathFile) override; + + void GetFileInfo(const chcore::TSmartPath& pathFile, TFileInfoPtr& rFileInfo, const TBasePathDataPtr& spBasePathData = TBasePathDataPtr()) override; + void FastMove(const chcore::TSmartPath& pathSource, const chcore::TSmartPath& pathDestination) override; + + IFilesystemFindPtr CreateFinderObject(const chcore::TSmartPath& pathDir, const chcore::TSmartPath& pathMask) override; + IFilesystemFilePtr CreateFileObject(IFilesystemFile::EOpenMode eMode, const chcore::TSmartPath& pathFile, bool bNoBuffering, bool bProtectReadOnlyFiles) override; + + EPathsRelation GetPathsRelation(const chcore::TSmartPath& pathFirst, const chcore::TSmartPath& pathSecond) override; + + void GetDynamicFreeSpace(const chcore::TSmartPath& path, unsigned long long& rullFree, unsigned long long& rullTotal) override; + + private: + static chcore::TSmartPath PrependPathExtensionIfNeeded(const chcore::TSmartPath& pathInput); + static UINT GetDriveData(const chcore::TSmartPath& spPath); + DWORD GetPhysicalDiskNumber(wchar_t wchDrive); + + private: +#pragma warning(push) +#pragma warning(disable: 4251) + std::map m_mapDriveLetterToPhysicalDisk; // caches drive letter -> physical disk number + boost::shared_mutex m_lockDriveLetterToPhysicalDisk; + logger::TLoggerPtr m_spLog; +#pragma warning(pop) + + friend class TLocalFilesystemFind; + friend class TLocalFilesystemFile; + }; +} + +#endif Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/TLocalFilesystemFile.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TLocalFilesystemFile.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 is not in file src/libchengine/TLocalFilesystemFile.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TLocalFilesystemFile.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TLocalFilesystemFind.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TLocalFilesystemFind.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TLocalFilesystemFind.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TLocalFilesystemFind.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TObsoleteFiles.cpp Index: src/libchengine/TObsoleteFiles.h =================================================================== diff -u --- src/libchengine/TObsoleteFiles.h (revision 0) +++ src/libchengine/TObsoleteFiles.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,67 @@ +// ============================================================================ +// Copyright (C) 2001-2014 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TOBSOLETEFILES_H__ +#define __TOBSOLETEFILES_H__ + +#include +#include "../libchcore/TPath.h" +#include "libchengine.h" +#include "../libserializer/ISerializerContainer.h" +#include "../libserializer/TRemovedObjects.h" + +namespace chengine +{ + struct ObsoleteFileInfo + { + ObsoleteFileInfo(); + ObsoleteFileInfo(const chcore::TSmartPath& path, bool bAdded); + + chcore::TSmartPath m_path; + mutable bool m_bAdded; + }; + + class LIBCHENGINE_API TObsoleteFiles + { + public: + TObsoleteFiles(); + TObsoleteFiles(const TObsoleteFiles&) = delete; + virtual ~TObsoleteFiles(); + + TObsoleteFiles& operator=(const TObsoleteFiles&) = delete; + + void DeleteObsoleteFile(const chcore::TSmartPath& pathToDelete); + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + void Load(const serializer::ISerializerContainerPtr& spContainer); + + void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; + + private: +#pragma warning(push) +#pragma warning(disable: 4251) + typedef std::map MapPaths; + MapPaths m_mapPaths; +#pragma warning(pop) + + mutable serializer::TRemovedObjects m_setRemovedObjects; + serializer::object_id_t m_oidLast; + }; +} + +#endif Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TOrderedBufferQueue.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOrderedBufferQueue.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TOrderedBufferQueue.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOrderedBufferQueue.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TOverlappedDataBuffer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedDataBuffer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TOverlappedDataBuffer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedDataBuffer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b941384e121190b6107f1c99b3233667e3daf4ce is not in file src/libchengine/TOverlappedMemoryPool.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedMemoryPool.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 541304f4e098b4c7617b718287ab40646d5deb92 is not in file src/libchengine/TOverlappedMemoryPool.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedMemoryPool.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag f1d25f23712f5de7459f690ab51b2640d0f81b91 is not in file src/libchengine/TOverlappedProcessorRange.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedProcessorRange.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5127141ac49a45db27f748dfb659d31f2e4983c4 is not in file src/libchengine/TOverlappedProcessorRange.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedProcessorRange.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedReader.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReader.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedReader.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReader.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TOverlappedReaderFB.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReaderFB.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedReaderFB.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReaderFB.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TOverlappedReaderWriterFB.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReaderWriterFB.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TOverlappedReaderWriterFB.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedReaderWriterFB.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 7892d3d5ca43da7dca4d9e8e0c321c21c3e13ea0 is not in file src/libchengine/TOverlappedThreadPool.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedThreadPool.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5127141ac49a45db27f748dfb659d31f2e4983c4 is not in file src/libchengine/TOverlappedThreadPool.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedThreadPool.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedWriter.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedWriter.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedWriter.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedWriter.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TOverlappedWriterFB.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedWriterFB.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TOverlappedWriterFB.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TOverlappedWriterFB.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TPlainStringPool.cpp Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TPlainStringPool.h Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TReadBufferQueueWrapper.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TReadBufferQueueWrapper.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TReadBufferQueueWrapper.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TReadBufferQueueWrapper.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSQLiteDatabase.cpp Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSQLiteDatabase.h Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSQLiteException.cpp Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSQLiteException.h Fisheye: tag f12e631659a91c301d9c860dd411b3cb9fcaf6a9 is not in file src/libchengine/TSQLiteStatement.cpp Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSQLiteStatement.h Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TSQLiteTransaction.cpp Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSQLiteTransaction.h Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TScopedRunningTimeTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TScopedRunningTimeTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TScopedRunningTimeTracker.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TScopedRunningTimeTracker.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TScopedRunningTimeTrackerPause.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TScopedRunningTimeTrackerPause.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TScopedRunningTimeTrackerPause.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TScopedRunningTimeTrackerPause.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TSharedCount.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSharedCount.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d99302fce795dbb5139659016a5da7948f141fb4 is not in file src/libchengine/TSharedCountMT.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSharedCountMT.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSimpleOrderedBufferQueue.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSimpleOrderedBufferQueue.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4 is not in file src/libchengine/TSizeFormatter.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSizeFormatter.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSizeFormatter.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSizeFormatter.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSpeedTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSpeedTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSpeedTracker.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSpeedTracker.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TSubTaskArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskArray.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskArrayStatsSnapshot.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskArrayStatsSnapshot.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskArrayStatsSnapshot.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskArrayStatsSnapshot.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskBase.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskBase.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskBase.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskBase.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskContext.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskContext.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskContext.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskContext.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TSubTaskCopyMove.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskCopyMove.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libchengine/TSubTaskCopyMove.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskCopyMove.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskDelete.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskDelete.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libchengine/TSubTaskDelete.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskDelete.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskFastMove.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskFastMove.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libchengine/TSubTaskFastMove.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskFastMove.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskScanDirectory.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskScanDirectory.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libchengine/TSubTaskScanDirectory.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskScanDirectory.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TSubTaskStatsInfo.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskStatsInfo.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TSubTaskStatsInfo.h =================================================================== diff -u --- src/libchengine/TSubTaskStatsInfo.h (revision 0) +++ src/libchengine/TSubTaskStatsInfo.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,194 @@ +// ============================================================================ +// Copyright (C) 2001-2012 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +/// @file TSubTaskStatsInfo.h +/// @date 2012/02/22 +/// @brief Contains declaration of class responsible for tracking stats for subtasks. +// ============================================================================ +#ifndef __TSUBTASKSTATSINFO_H__ +#define __TSUBTASKSTATSINFO_H__ + +#include "../libstring/TString.h" +#include "../libchcore/TSimpleTimer.h" +#include "TSpeedTracker.h" +#include "ESubTaskTypes.h" +#include "TSubTaskStatsSnapshot.h" +#include +#include "CommonDataTypes.h" +#include "IRunningTimeControl.h" +#include "../libserializer/ISerializer.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace serializer { + class IColumnsDefinition; + class ISerializerRowData; +} + +namespace boost +{ + template class upgrade_lock; +} + +namespace chengine +{ + class TSubTaskStatsInfo; + class TSubTaskStatsSnapshot; + + class TSubTaskStatsInfo : public IRunningTimeControl + { + private: + static const unsigned long long DefaultSpeedTrackTime = 1000; // in miliseconds + static const unsigned long long DefaultSpeedSampleTime = 100; // in miliseconds + + public: + explicit TSubTaskStatsInfo(ESubOperationType eSubTaskType); + TSubTaskStatsInfo(const TSubTaskStatsInfo&) = delete; + + TSubTaskStatsInfo& operator=(const TSubTaskStatsInfo&) = delete; + + void Init(int iCurrentBufferIndex, file_count_t fcTotalCount, file_count_t fcProcessedCount, unsigned long long ullTotalSize, unsigned long long ullProcessedSize, const string::TString& strCurrentPath); + void Clear(); + bool WasAdded() const; + + bool IsInitialized() const; + + void GetSnapshot(TSubTaskStatsSnapshotPtr& spStatsSnapshot) const; + + void IncreaseProcessedCount(file_count_t fcIncreaseBy); + void SetProcessedCount(file_count_t fcIndex); + + void SetTotalCount(file_count_t fcCount); + file_count_t GetTotalCount() const; + + // size stats + void IncreaseProcessedSize(unsigned long long ullIncreaseBy); + void DecreaseProcessedSize(unsigned long long ullDecreaseBy); + void SetProcessedSize(unsigned long long ullProcessedSize); + + void IncreaseTotalSize(unsigned long long ullIncreaseBy); + void DecreaseTotalSize(unsigned long long ullDecreaseBy); + void SetTotalSize(unsigned long long ullTotalSize); + + // current item + void SetCurrentItemSizes(unsigned long long ullProcessedSize, unsigned long long ullTotalSize); + void ResetCurrentItemProcessedSize(); + unsigned long long GetCurrentItemProcessedSize() const; + unsigned long long GetCurrentItemTotalSize() const; + + // current item processed and overall processed + bool WillAdjustProcessedSizeExceedTotalSize(file_size_t fsIncludedProcessedSize, file_size_t fsNewProcessedSize); + void AdjustProcessedSize(file_size_t fsIncludedProcessedSize, file_size_t fsNewProcessedSize); + void AdjustTotalSize(file_size_t fsIncludedSize, file_size_t fsNewSize); + + bool CanCurrentItemSilentResume() const; + void SetCurrentItemSilentResume(bool bEnableSilentResume); + + // current index + void SetCurrentIndex(file_count_t fcIndex); + file_count_t GetCurrentIndex() const; + + // buffer index + void SetCurrentBufferIndex(int iCurrentIndex); + + // current path + void SetCurrentPath(const string::TString& strPath); + + ESubOperationType GetSubOperationType() const { return m_eSubOperationType; } + + // serialization + void Store(serializer::ISerializerRowData& rRowData) const; + static void InitColumns(serializer::IColumnsDefinition& rColumnDefs); + void Load(const serializer::ISerializerRowReaderPtr& spRowReader); + + private: + // is running? + void MarkAsRunning() override; + void MarkAsNotRunning() override; + + // time tracking + void EnableTimeTracking() override; + void DisableTimeTracking() override; + + void UpdateTime(boost::upgrade_lock& lock) const; + + void VerifyProcessedVsTotal(); + + private: + enum EModifications + { + eMod_Added = 0, + eMod_IsRunning, + eMod_TotalSize, + eMod_ProcessedSize, + eMod_SizeSpeed, + eMod_TotalCount, + eMod_ProcessedCount, + eMod_CountSpeed, + eMod_CurrentItemProcessedSize, + eMod_CurrentItemTotalSize, + eMod_Timer, + eMod_CurrentBufferIndex, + eMod_CurrentPath, + eMod_IsInitialized, + eMod_CurrentItemIndex, + eMod_CurrentItemCanResumeSilently, + + // last item + eMod_Last + }; + + typedef std::bitset Bitset; + mutable Bitset m_setModifications; + + serializer::TSharedModificationTracker m_bSubTaskIsRunning; + + serializer::TSharedModificationTracker m_ullTotalSize; + serializer::TSharedModificationTracker m_ullProcessedSize; + mutable serializer::TSharedModificationTracker m_tSizeSpeed; + + serializer::TSharedModificationTracker m_fcTotalCount; + serializer::TSharedModificationTracker m_fcProcessedCount; + mutable serializer::TSharedModificationTracker m_tCountSpeed; + + serializer::TSharedModificationTracker m_fcCurrentIndex; //?? + + serializer::TSharedModificationTracker m_ullCurrentItemProcessedSize; //?? + serializer::TSharedModificationTracker m_ullCurrentItemTotalSize; //?? + serializer::TSharedModificationTracker m_bCurrentItemSilentResume; //?? + + mutable serializer::TSharedModificationTracker m_tTimer; + + serializer::TSharedModificationTracker m_iCurrentBufferIndex; //?? + serializer::TSharedModificationTracker m_strCurrentPath; //?? + + serializer::TSharedModificationTracker m_bIsInitialized; + + const ESubOperationType m_eSubOperationType; + +#pragma warning(push) +#pragma warning(disable: 4251) + mutable boost::shared_mutex m_lock; +#pragma warning(pop) + + friend class TSubTaskProcessingGuard; + }; + + using TSubTaskStatsInfoPtr = std::shared_ptr; +} + +#endif Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskStatsSnapshot.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskStatsSnapshot.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TSubTaskStatsSnapshot.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSubTaskStatsSnapshot.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTask.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTask.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTask.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTask.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTaskBaseData.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskBaseData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TTaskBaseData.h =================================================================== diff -u --- src/libchengine/TTaskBaseData.h (revision 0) +++ src/libchengine/TTaskBaseData.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,75 @@ +// ============================================================================ +// Copyright (C) 2001-2014 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TTASKBASEDATA_H__ +#define __TTASKBASEDATA_H__ + +#include +#include "ETaskCurrentState.h" +#include "../libstring/TString.h" +#include "../libchcore/TPath.h" +#include "libchengine.h" +#include "../libserializer/ISerializerContainer.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace chengine +{ + class LIBCHENGINE_API TTaskBaseData + { + public: + TTaskBaseData(); + ~TTaskBaseData(); + + string::TString GetTaskName() const; + void SetTaskName(const string::TString& strTaskName); + + ETaskCurrentState GetCurrentState() const; + void SetCurrentState(ETaskCurrentState eCurrentState); + + chcore::TSmartPath GetDestinationPath() const; + void SetDestinationPath(const chcore::TSmartPath& pathDst); + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + void Load(const serializer::ISerializerContainerPtr& spContainer); + + void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; + + private: + enum EModifications + { + eMod_Added, + eMod_TaskName, + eMod_CurrentState, + eMod_DstPath, + + eMod_Last + }; + +#pragma warning(push) +#pragma warning(disable: 4251) + typedef std::bitset ModBitSet; + mutable ModBitSet m_setChanges; + + serializer::TSharedModificationTracker m_strTaskName; + serializer::TSharedModificationTracker m_eCurrentState; // current state of processing this task represents + serializer::TSharedModificationTracker m_pathDestinationPath; +#pragma warning(pop) + }; +} + +#endif Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TTaskConfigBufferSizes.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigBufferSizes.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskConfigBufferSizes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigBufferSizes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/TTaskConfigTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskConfigTracker.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigTracker.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskConfigVerifier.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigVerifier.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskConfigVerifier.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfigVerifier.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/TTaskConfiguration.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskConfiguration.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskDefinition.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskDefinition.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskDefinition.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskDefinition.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTaskInfo.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskInfo.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/TTaskInfo.h =================================================================== diff -u --- src/libchengine/TTaskInfo.h (revision 0) +++ src/libchengine/TTaskInfo.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,130 @@ +// ============================================================================ +// Copyright (C) 2001-2013 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TTASKINFO_H__ +#define __TTASKINFO_H__ + +#include "TaskID.h" +#include +#include "libchengine.h" +#include "../libserializer/TRemovedObjects.h" +#include "../libserializer/ISerializerContainer.h" +#include "../libserializer/TSharedModificationTracker.h" + +namespace chengine +{ + class TTask; + typedef std::shared_ptr TTaskPtr; + + class LIBCHENGINE_API TTaskInfoEntry + { + public: + enum EModifications + { + eMod_None = 0, + eMod_Added, + eMod_TaskPath, + eMod_Order, + eMod_LogPath, + + eMod_Last + }; + + public: + TTaskInfoEntry(); + TTaskInfoEntry(serializer::object_id_t oidTaskID, const chcore::TSmartPath& pathTask, const chcore::TSmartPath& pathLog, int iOrder, const TTaskPtr& spTask); + TTaskInfoEntry(const TTaskInfoEntry& rSrc); + + TTaskInfoEntry& operator=(const TTaskInfoEntry& rSrc); + + serializer::object_id_t GetObjectID() const; + + chcore::TSmartPath GetTaskSerializeLocation() const; + void SetTaskSerializeLocation(const chcore::TSmartPath& pathTask); + + chcore::TSmartPath GetTaskLogPath() const; + void SetTaskLogPath(const chcore::TSmartPath& pathLog); + + TTaskPtr GetTask() const; + void SetTask(const TTaskPtr& spTask); + + int GetOrder() const; + void SetOrder(int iOrder); + + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + static void InitColumns(serializer::IColumnsDefinition& rColumnDefs); + void Load(const serializer::ISerializerRowReaderPtr& spRowReader); + + void ResetModifications(); + + private: +#pragma warning(push) +#pragma warning(disable:4251) + serializer::object_id_t m_oidObjectID; + typedef std::bitset Bitset; + mutable std::bitset m_setModifications; + serializer::TSharedModificationTracker m_pathSerializeLocation; + serializer::TSharedModificationTracker m_pathLogPath; + serializer::TSharedModificationTracker m_iOrder; + + TTaskPtr m_spTask; +#pragma warning(pop) + }; + + class LIBCHENGINE_API TTaskInfoContainer + { + public: + TTaskInfoContainer(); + TTaskInfoContainer(const TTaskInfoContainer&) = delete; + + TTaskInfoContainer& operator=(const TTaskInfoContainer&) = delete; + + void Add(const chcore::TSmartPath& strPath, const chcore::TSmartPath& pathLog, int iOrder, const TTaskPtr& spTask); + void RemoveAt(size_t stIndex); + + TTaskInfoEntry& GetAt(size_t stIndex); + const TTaskInfoEntry& GetAt(size_t stIndex) const; + + TTaskInfoEntry& GetAtOid(serializer::object_id_t oidObjectID); + + bool GetByTaskID(taskid_t tTaskID, TTaskInfoEntry& rInfo) const; + + size_t GetCount() const; + bool IsEmpty() const; + + void Clear(); + + // modifications management + void Store(const serializer::ISerializerContainerPtr& spContainer) const; + void Load(const serializer::ISerializerContainerPtr& spContainer); + + void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; + + void ClearModifications(); + + private: +#pragma warning(push) +#pragma warning(disable:4251) + std::vector m_vTaskInfos; + mutable serializer::TRemovedObjects m_setRemovedTasks; +#pragma warning(pop) + serializer::object_id_t m_oidLastObjectID; + }; +} + +#endif Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskLocalStats.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskLocalStats.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/TTaskLocalStats.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskLocalStats.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTaskManager.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskManager.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/TTaskManager.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskManager.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskManagerStatsSnapshot.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskManagerStatsSnapshot.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskManagerStatsSnapshot.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskManagerStatsSnapshot.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskOperationPlan.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskOperationPlan.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TTaskOperationPlan.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskOperationPlan.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskStatsSnapshot.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskStatsSnapshot.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/TTaskStatsSnapshot.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TTaskStatsSnapshot.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/TThreadedQueueRunner.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TThreadedQueueRunner.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TWriteBufferQueueWrapper.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TWriteBufferQueueWrapper.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/TWriteBufferQueueWrapper.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TWriteBufferQueueWrapper.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/TaskID.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TaskID.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag bef894e38e5c1486824787cf8c47a87a0828b228 is not in file src/libchengine/Tests/TBufferListTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TBufferListTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 518d1a3484cde91ff17c071211df5e40cb3487e3 is not in file src/libchengine/Tests/TOrderedBufferQueueTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TOrderedBufferQueueTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libchengine/Tests/TOverlappedDataBufferTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TOverlappedDataBufferTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag dcbfdc95eedacd24d8b1d78fa507029ce12a5a63 is not in file src/libchengine/Tests/TOverlappedMemoryPoolTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TOverlappedMemoryPoolTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/Tests/TOverlappedReaderTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TOverlappedReaderTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/Tests/TOverlappedWriterTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TOverlappedWriterTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/Tests/TReadBufferQueueWrapperTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TReadBufferQueueWrapperTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 518d1a3484cde91ff17c071211df5e40cb3487e3 is not in file src/libchengine/Tests/TSimpleOrderedBufferQueueTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TSimpleOrderedBufferQueueTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag cb1a7688ad1ac1081a219c170754776e986ccc8c is not in file src/libchengine/Tests/TWriteBufferQueueWrapperTests.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TWriteBufferQueueWrapperTests.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 5aac942a83e4a308ff401cca43be501b1bbdfb6a is not in file src/libchengine/Tests/TestsTBufferSizes.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTBufferSizes.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libchengine/Tests/TestsTConfig.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTConfig.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag baad6054459abaaf69cbfd1ebad8783085160d99 is not in file src/libchengine/Tests/TestsTDestinationPathProvider.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTDestinationPathProvider.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTFileFilter.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTFileFilter.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTModificationTracker.cpp Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTSQLiteDatabase.cpp Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTSQLiteStatement.cpp Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTSharedModificationTracker.cpp Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libchengine/Tests/TestsTSpeedTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTSpeedTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 545098ae76e9ce23598d37d2bee4020d6cb59f3c is not in file src/libchengine/Tests/TestsTTaskConfigVerifier.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTTaskConfigVerifier.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b0a003dc39e6d21e34779cf1cf5d8a07318c1f5f is not in file src/libchengine/WaitableQueue.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/WaitableQueue.h'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libchengine/dllmain.cpp =================================================================== diff -u --- src/libchengine/dllmain.cpp (revision 0) +++ src/libchengine/dllmain.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,16 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#include "stdafx.h" + +BOOL APIENTRY DllMain(HMODULE /*hModule*/, DWORD ulReasonForCall, LPVOID /*lpReserved*/) +{ + switch (ulReasonForCall) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + Index: src/libchengine/libchengine.h =================================================================== diff -u --- src/libchengine/libchengine.h (revision 0) +++ src/libchengine/libchengine.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,21 @@ +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the LIBCHENGINE_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 +// LIBCHENGINE_API functions as being imported from a DLL, whereas this DLL sees symbols +// defined with this macro as being exported. +#if defined(_WIN32) || defined(_WIN64) + #ifdef LIBCHENGINE_EXPORTS + #define LIBCHENGINE_API __declspec(dllexport) + #else + #define LIBCHENGINE_API __declspec(dllimport) + #endif +#else + /** \brief Import/export macros + * + * These macros are being used throughout the whole code. They are meant to + * export symbols (if the LIBCHENGINE_EXPORTS is defined) from this library + * (also for importing (when LIBCHENGINE_EXPORTS macro is undefined) in other apps). + */ + #define LIBCHENGINE_API +#endif Index: src/libchengine/libchengine.rc =================================================================== diff -u Binary files differ Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/libchengine.vcxproj Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libchengine/libchengine.vcxproj.filters Index: src/libchengine/res/libchengine.rc2 =================================================================== diff -u --- src/libchengine/res/libchengine.rc2 (revision 0) +++ src/libchengine/res/libchengine.rc2 (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,52 @@ +// +// ch.rc2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED + #error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + +#include "../common/version.h" + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + PRODUCTVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x29L +#else + FILEFLAGS 0x28L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "Core Copy Handler functionalities" + VALUE "CompanyName", " " + VALUE "FileDescription", "Copy Handler Core" + VALUE "FileVersion", PRODUCT_VERSION + VALUE "LegalCopyright", COPYRIGHT_INFO + VALUE "LegalTrademarks", " " + VALUE "OriginalFilename", "libchengine.dll" + VALUE "ProductName", "Copy Handler" + VALUE "ProductVersion", PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +///////////////////////////////////////////////////////////////////////////// Index: src/libchengine/resource.h =================================================================== diff -u Binary files differ Index: src/libchengine/stdafx.cpp =================================================================== diff -u --- src/libchengine/stdafx.cpp (revision 0) +++ src/libchengine/stdafx.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// libchengine.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file Index: src/libchengine/stdafx.h =================================================================== diff -u --- src/libchengine/stdafx.h (revision 0) +++ src/libchengine/stdafx.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,26 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "../common/targetver.h" + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include + +#include + +#pragma warning(push) +#pragma warning(disable: 4985) + +#include + +#pragma warning(pop) + +#include +#include +#include +#include Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/IColumnsDefinition.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IColumnsDefinition.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/IColumnsDefinition.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/IColumnsDefinition.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISQLiteSerializerSchema.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISQLiteSerializerSchema.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/ISQLiteSerializerSchema.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISQLiteSerializerSchema.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISerializer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/ISerializer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISerializerContainer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerContainer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/ISerializerContainer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerContainer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISerializerFactory.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerFactory.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/ISerializerFactory.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerFactory.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISerializerRowData.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerRowData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/ISerializerRowData.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerRowData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/ISerializerRowReader.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/ISerializerRowReader.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libserializer/ISerializerRowReader.h =================================================================== diff -u --- src/libserializer/ISerializerRowReader.h (revision 0) +++ src/libserializer/ISerializerRowReader.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,52 @@ +// ============================================================================ +// Copyright (C) 2001-2014 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __ISERIALIZERROWREADER_H__ +#define __ISERIALIZERROWREADER_H__ + +#include "../libstring/TString.h" +#include "../libchcore/TPath.h" +#include "libserializer.h" + +namespace serializer +{ + class LIBSERIALIZER_API ISerializerRowReader + { + public: + virtual ~ISerializerRowReader(); + + virtual bool Next() = 0; + + virtual void GetValue(const string::TString& strColName, bool& bValue) = 0; + virtual void GetValue(const string::TString& strColName, short& iValue) = 0; + virtual void GetValue(const string::TString& strColName, unsigned short& uiValue) = 0; + virtual void GetValue(const string::TString& strColName, int& iValue) = 0; + virtual void GetValue(const string::TString& strColName, unsigned int& uiValue) = 0; + virtual void GetValue(const string::TString& strColName, long& lValue) = 0; + virtual void GetValue(const string::TString& strColName, unsigned long& ulValue) = 0; + virtual void GetValue(const string::TString& strColName, long long& llValue) = 0; + virtual void GetValue(const string::TString& strColName, unsigned long long& llValue) = 0; + virtual void GetValue(const string::TString& strColName, double& dValue) = 0; + virtual void GetValue(const string::TString& strColName, string::TString& strValue) = 0; + virtual void GetValue(const string::TString& strColName, chcore::TSmartPath& pathValue) = 0; + }; + + typedef std::shared_ptr ISerializerRowReaderPtr; +} + +#endif Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/SerializerDataTypes.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/SerializerDataTypes.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TFakeFileSerializer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFakeFileSerializer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag c085b65f1de24f25feab2bac2d5882abf04aabcf is not in file src/libserializer/TFakeFileSerializer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TFakeFileSerializer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/TModificationTracker.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TModificationTracker.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TObsoleteFiles.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TObsoleteFiles.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TObsoleteFiles.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TObsoleteFiles.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TPlainStringPool.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TPlainStringPool.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TPlainStringPool.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TPlainStringPool.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TRemovedObjects.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TRemovedObjects.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TRemovedObjects.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TRemovedObjects.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TSQLiteColumnDefinition.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteColumnDefinition.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 is not in file src/libserializer/TSQLiteColumnDefinition.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteColumnDefinition.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/TSQLiteDatabase.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteDatabase.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSQLiteDatabase.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteDatabase.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSQLiteException.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteException.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSQLiteException.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteException.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerContainer.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerContainer.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerContainer.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerContainer.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerFactory.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerFactory.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerFactory.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerFactory.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerRowData.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerRowData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerRowData.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerRowData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteSerializerRowReader.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteSerializerRowReader.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libserializer/TSQLiteSerializerRowReader.h =================================================================== diff -u --- src/libserializer/TSQLiteSerializerRowReader.h (revision 0) +++ src/libserializer/TSQLiteSerializerRowReader.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,70 @@ +// ============================================================================ +// Copyright (C) 2001-2014 by Jozef Starosczyk +// ixen@copyhandler.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU Library General Public License +// (version 2) as published by the Free Software Foundation; +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., +// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// ============================================================================ +#ifndef __TSQLITESERIALIZERROWREADER_H__ +#define __TSQLITESERIALIZERROWREADER_H__ + +#include "ISerializerRowReader.h" +#include "TSQLiteStatement.h" +#include "TSQLiteColumnDefinition.h" +#include "../liblogger/TLogger.h" + +namespace serializer +{ + class LIBSERIALIZER_API TSQLiteSerializerRowReader : public ISerializerRowReader + { + public: + TSQLiteSerializerRowReader(const sqlite::TSQLiteDatabasePtr& spDatabase, TSQLiteColumnsDefinition& rColumns, const string::TString& strContainerName, const logger::TLogFileDataPtr& spLogFileData); + TSQLiteSerializerRowReader(const TSQLiteSerializerRowReader&) = delete; + virtual ~TSQLiteSerializerRowReader(); + + TSQLiteSerializerRowReader& operator=(const TSQLiteSerializerRowReader&) = delete; + + bool Next() override; + + void GetValue(const string::TString& strColName, bool& bValue) override; + void GetValue(const string::TString& strColName, short& iValue) override; + void GetValue(const string::TString& strColName, unsigned short& uiValue) override; + void GetValue(const string::TString& strColName, int& iValue) override; + void GetValue(const string::TString& strColName, unsigned int& uiValue) override; + void GetValue(const string::TString& strColName, long& lValue) override; + void GetValue(const string::TString& strColName, unsigned long& ulValue) override; + void GetValue(const string::TString& strColName, long long& llValue) override; + void GetValue(const string::TString& strColName, unsigned long long& ullValue) override; + void GetValue(const string::TString& strColName, double& dValue) override; + void GetValue(const string::TString& strColName, string::TString& strValue) override; + void GetValue(const string::TString& strColName, chcore::TSmartPath& pathValue) override; + + private: + int GetColumnIndex(const string::TString& strColName) const; + + private: +#pragma warning(push) +#pragma warning(disable: 4251) + bool m_bInitialized; + sqlite::TSQLiteStatementPtr m_spStatement; + TSQLiteColumnsDefinition& m_rColumns; + string::TString m_strContainerName; + logger::TLoggerPtr m_spLog; +#pragma warning(pop) + }; + + typedef std::shared_ptr TSQLiteSerializerRowReaderPtr; +} + +#endif Fisheye: tag f12e631659a91c301d9c860dd411b3cb9fcaf6a9 is not in file src/libserializer/TSQLiteStatement.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteStatement.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSQLiteStatement.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteStatement.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteTaskManagerSchema.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTaskManagerSchema.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 12ee49f6bf1f8921500ee2078e0a8c2d7b6d2a45 is not in file src/libserializer/TSQLiteTaskManagerSchema.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTaskManagerSchema.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteTaskSchema.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTaskSchema.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag e98c03b108baad889dfd7c7fbb1a49f5ea5a55d8 is not in file src/libserializer/TSQLiteTaskSchema.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTaskSchema.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TSQLiteTransaction.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTransaction.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSQLiteTransaction.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSQLiteTransaction.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSerializerException.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSerializerException.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSerializerException.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSerializerException.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libserializer/TSerializerVersion.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSerializerVersion.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libserializer/TSerializerVersion.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSerializerVersion.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/TSharedModificationTracker.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TSharedModificationTracker.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/Tests/TestsTModificationTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTModificationTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/Tests/TestsTSQLiteDatabase.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTSQLiteDatabase.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/Tests/TestsTSQLiteStatement.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTSQLiteStatement.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/Tests/TestsTSQLiteTransaction.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTSQLiteTransaction.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libserializer/Tests/TestsTSharedModificationTracker.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTSharedModificationTracker.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libserializer/dllmain.cpp =================================================================== diff -u --- src/libserializer/dllmain.cpp (revision 0) +++ src/libserializer/dllmain.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,16 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#include "stdafx.h" + +BOOL APIENTRY DllMain(HMODULE /*hModule*/, DWORD ulReasonForCall, LPVOID /*lpReserved*/) +{ + switch (ulReasonForCall) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + Index: src/libserializer/libserializer.h =================================================================== diff -u --- src/libserializer/libserializer.h (revision 0) +++ src/libserializer/libserializer.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,21 @@ +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the LIBSERIALIZER_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 +// LIBSERIALIZER_API functions as being imported from a DLL, whereas this DLL sees symbols +// defined with this macro as being exported. +#if defined(_WIN32) || defined(_WIN64) + #ifdef LIBSERIALIZER_EXPORTS + #define LIBSERIALIZER_API __declspec(dllexport) + #else + #define LIBSERIALIZER_API __declspec(dllimport) + #endif +#else + /** \brief Import/export macros + * + * These macros are being used throughout the whole code. They are meant to + * export symbols (if the LIBSERIALIZER_EXPORTS is defined) from this library + * (also for importing (when LIBSERIALIZER_EXPORTS macro is undefined) in other apps). + */ + #define LIBSERIALIZER_API +#endif Index: src/libserializer/libserializer.rc =================================================================== diff -u Binary files differ Index: src/libserializer/libserializer.vcxproj =================================================================== diff -u --- src/libserializer/libserializer.vcxproj (revision 0) +++ src/libserializer/libserializer.vcxproj (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,634 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + Testing Debug + Win32 + + + Testing Debug + x64 + + + Testing Release + Win32 + + + Testing Release + x64 + + + + libserializer + {9490EC08-9CAB-4F99-99D8-0297E5BF6EA7} + libserializer + Win32Proj + + + + DynamicLibrary + v120_xp + Unicode + true + + + DynamicLibrary + v120_xp + Unicode + true + + + DynamicLibrary + v120_xp + Unicode + + + DynamicLibrary + v120_xp + Unicode + + + DynamicLibrary + Unicode + true + v120_xp + + + DynamicLibrary + Unicode + true + v120_xp + + + DynamicLibrary + Unicode + v120_xp + + + DynamicLibrary + Unicode + v120_xp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>11.0.51106.1 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)32ud + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)32ud + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64ud + NativeRecommendedRules.ruleset + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64ud + NativeRecommendedRules.ruleset + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)32u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)32u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64u + + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + ../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + MachineX86 + gmock32d.lib;%(AdditionalDependencies) + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + false + ProgramDatabase + 4512;4714 + false + true + ../../ext + true + + + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + false + ProgramDatabase + 4512;4714 + false + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + true + + + true + Windows + MachineX64 + gmock64d.lib;%(AdditionalDependencies) + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + true + true + MachineX86 + "$(OutDir)" + true + + + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + true + true + MachineX86 + gmock32.lib;%(AdditionalDependencies) + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ../../ext + 4512;4714 + true + + + true + Windows + true + true + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSERIALIZER_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + 4512;4714 + true + + + true + Windows + true + true + MachineX64 + gmock64.lib;%(AdditionalDependencies) + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + {d41831f5-b2a5-4c92-9f15-1d9ab04722cc} + + + {cbbf380b-7b16-4a1e-8194-758dad7d8011} + + + {df9957d4-3d95-4ac3-ad3f-dcbea058f79d} + + + {5bd38175-9f48-417d-8e5b-7093b1873ce5} + + + + + + + + + \ No newline at end of file Index: src/libserializer/libserializer.vcxproj.filters =================================================================== diff -u --- src/libserializer/libserializer.vcxproj.filters (revision 0) +++ src/libserializer/libserializer.vcxproj.filters (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,242 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {e160d2cd-2a88-40ef-97b4-6b7d3b7ed6b1} + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {1fddd996-c723-4b09-9c98-868df98fe204} + + + {2a642b1a-83b2-4643-ac85-d040e8904d4d} + + + {3ce71f46-ef32-4c71-9ac0-bcb36d6b6e99} + + + {0b6550bf-a20b-4f12-9469-bd3e3bfa40fa} + + + {e6da867d-b0bd-42d5-a0c8-43542984582f} + + + {b7eef53f-fb70-4f50-aa6d-0a699bb20f25} + + + {9d121063-367c-4424-8009-12b3635e0fed} + + + {5e2ee854-6783-4e6e-b8a9-65ee8b6dec5c} + + + + + Source Files\Library files + + + Source Files\Library files + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Serialization\Fake + + + Source Files\Tools + + + Tests + + + + Source Files\Tools + + + Source Files\Tools\ModificationTrackers + + + Source Files\Tools\ModificationTrackers + + + + + Source Files\Library files + + + Source Files\Library files + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite\SQLite Schemas + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization\SQLite + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Serialization + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Source Files\Tools\SQLite + + + Tests + + + Tests + + + Tests + + + Tests + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Serialization\Fake + + + Tests + + + Tests + + + Source Files\Tools + + + + + Resource Files + + + \ No newline at end of file Index: src/libserializer/res/libserializer.rc2 =================================================================== diff -u --- src/libserializer/res/libserializer.rc2 (revision 0) +++ src/libserializer/res/libserializer.rc2 (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,52 @@ +// +// ch.rc2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED + #error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + +#include "../common/version.h" + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + PRODUCTVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x29L +#else + FILEFLAGS 0x28L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "Core Copy Handler functionalities" + VALUE "CompanyName", " " + VALUE "FileDescription", "Copy Handler Core" + VALUE "FileVersion", PRODUCT_VERSION + VALUE "LegalCopyright", COPYRIGHT_INFO + VALUE "LegalTrademarks", " " + VALUE "OriginalFilename", "libserializer.dll" + VALUE "ProductName", "Copy Handler" + VALUE "ProductVersion", PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +///////////////////////////////////////////////////////////////////////////// Index: src/libserializer/resource.h =================================================================== diff -u Binary files differ Index: src/libserializer/stdafx.cpp =================================================================== diff -u --- src/libserializer/stdafx.cpp (revision 0) +++ src/libserializer/stdafx.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// libserializer.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file Index: src/libserializer/stdafx.h =================================================================== diff -u --- src/libserializer/stdafx.h (revision 0) +++ src/libserializer/stdafx.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,26 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "../common/targetver.h" + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include + +#include + +#pragma warning(push) +#pragma warning(disable: 4985) + +#include + +#pragma warning(pop) + +#include +#include +#include +#include Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TString.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TString.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag 541304f4e098b4c7617b718287ab40646d5deb92 is not in file src/libstring/TString.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TString.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringArray.h'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libstring/TStringException.cpp =================================================================== diff -u --- src/libstring/TStringException.cpp (revision 0) +++ src/libstring/TStringException.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,10 @@ +#include "stdafx.h" +#include "TStringException.h" + +namespace string +{ + TStringException::TStringException(const char* pszMsg) : + std::exception(pszMsg) + { + } +} Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringException.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringException.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f is not in file src/libstring/TStringPattern.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringPattern.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringPattern.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringPattern.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringPatternArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringPatternArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringPatternArray.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringPatternArray.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringSet.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringSet.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag b26ced3298e3e7e51d91f3ac70b56746786da83b is not in file src/libstring/TStringSet.h Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/TStringSet.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libstring/Tests/TestsTString.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTString.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libstring/Tests/TestsTStringPattern.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTStringPattern.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: tag a4635addad389b9e117679437a3e1b64a739ea96 is not in file src/libstring/Tests/TestsTStringPatternArray.cpp Fisheye: Tag 0d5b67ee96b435d63f7bf075dc8e28603793b187 refers to a dead (removed) revision in file `src/libchcore/Tests/TestsTStringPatternArray.cpp'. Fisheye: No comparison available. Pass `N' to diff? Index: src/libstring/dllmain.cpp =================================================================== diff -u --- src/libstring/dllmain.cpp (revision 0) +++ src/libstring/dllmain.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,16 @@ +// dllmain.cpp : Defines the entry point for the DLL application. +#include "stdafx.h" + +BOOL APIENTRY DllMain(HMODULE /*hModule*/, DWORD ulReasonForCall, LPVOID /*lpReserved*/) +{ + switch (ulReasonForCall) + { + case DLL_PROCESS_ATTACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + Index: src/libstring/libstring.h =================================================================== diff -u --- src/libstring/libstring.h (revision 0) +++ src/libstring/libstring.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,21 @@ +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the LIBSTRING_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 +// LIBSTRING_API functions as being imported from a DLL, whereas this DLL sees symbols +// defined with this macro as being exported. +#if defined(_WIN32) || defined(_WIN64) + #ifdef LIBSTRING_EXPORTS + #define LIBSTRING_API __declspec(dllexport) + #else + #define LIBSTRING_API __declspec(dllimport) + #endif +#else + /** \brief Import/export macros + * + * These macros are being used throughout the whole code. They are meant to + * export symbols (if the LIBSTRING_EXPORTS is defined) from this library + * (also for importing (when LIBSTRING_EXPORTS macro is undefined) in other apps). + */ + #define LIBSTRING_API +#endif Index: src/libstring/libstring.rc =================================================================== diff -u Binary files differ Index: src/libstring/libstring.vcxproj =================================================================== diff -u --- src/libstring/libstring.vcxproj (revision 0) +++ src/libstring/libstring.vcxproj (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,566 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + Testing Debug + Win32 + + + Testing Debug + x64 + + + Testing Release + Win32 + + + Testing Release + x64 + + + + libstring + {5BD38175-9F48-417D-8E5B-7093B1873CE5} + libstring + Win32Proj + + + + DynamicLibrary + v120_xp + Unicode + true + + + DynamicLibrary + v120_xp + Unicode + true + + + DynamicLibrary + v120_xp + Unicode + + + DynamicLibrary + v120_xp + Unicode + + + DynamicLibrary + Unicode + true + v120_xp + + + DynamicLibrary + Unicode + true + v120_xp + + + DynamicLibrary + Unicode + v120_xp + + + DynamicLibrary + Unicode + v120_xp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>11.0.51106.1 + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)32ud + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)32ud + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64ud + NativeRecommendedRules.ruleset + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + true + $(ProjectName)64ud + NativeRecommendedRules.ruleset + false + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)32u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)32u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64u + + + $(SolutionDir)bin\$(Configuration)\ + $(SolutionDir)intermediate\$(PlatformToolset)\$(Platform)\$(ProjectName)_$(Configuration)\ + false + $(ProjectName)64u + + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + ../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + MachineX86 + "$(OutDir)" + true + + + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + MachineX86 + gmock32d.lib;%(AdditionalDependencies) + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + false + ProgramDatabase + 4512;4714 + false + true + ../../ext + true + + + true + Windows + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + Disabled + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + Use + Level4 + false + ProgramDatabase + 4512;4714 + false + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + true + + + true + Windows + MachineX64 + gmock64d.lib;%(AdditionalDependencies) + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + true + true + MachineX86 + "$(OutDir)" + true + + + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + NoExtensions + 4512;4714 + true + + + true + Windows + true + true + MachineX86 + gmock32.lib;%(AdditionalDependencies) + "$(OutDir)" + true + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + X64 + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ../../ext + 4512;4714 + true + + + true + Windows + true + true + MachineX64 + "$(OutDir)" + false + + + + + X64 + + + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSTRING_EXPORTS;_BIND_TO_CURRENT_VCLIBS_VERSION=1;NOMINMAX;TESTING;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level4 + true + ProgramDatabase + true + ..\..\ext\googletest\googletest\include;..\..\ext\googletest\googlemock\include;../../ext + 4512;4714 + true + + + true + Windows + true + true + MachineX64 + gmock64.lib;%(AdditionalDependencies) + "$(OutDir)" + false + + + cd "$(TargetDir)" + +if "$(PlatformName)" EQU "x64" goto x64 + +:x32 +"$(SolutionDir)tools\test_runner32.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:x64 +"$(SolutionDir)tools\test_runner64.exe" "$(TargetPath)" --gtest_shuffle --gtest_output="xml:$(TargetPath).UnitTests.xml" +goto end + +:end + + + + + + + + + + + + + + + + + true + true + true + true + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + NotUsing + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + false + false + + + + + false + false + + + + + false + false + + + + + false + false + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + + + \ No newline at end of file Index: src/libstring/libstring.vcxproj.filters =================================================================== diff -u --- src/libstring/libstring.vcxproj.filters (revision 0) +++ src/libstring/libstring.vcxproj.filters (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,92 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {e160d2cd-2a88-40ef-97b4-6b7d3b7ed6b1} + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {1fddd996-c723-4b09-9c98-868df98fe204} + + + {b7eef53f-fb70-4f50-aa6d-0a699bb20f25} + + + + + Source Files\Library files + + + Source Files\Library files + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + + + + Source Files\Library files + + + Source Files\Library files + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + Source Files\Tools + + + Tests + + + Tests + + + Source Files\Tools + + + Source Files\Tools + + + Tests + + + Tests + + + + + Resource Files + + + \ No newline at end of file Index: src/libstring/res/libstring.rc2 =================================================================== diff -u --- src/libstring/res/libstring.rc2 (revision 0) +++ src/libstring/res/libstring.rc2 (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,52 @@ +// +// ch.rc2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED + #error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + +#include "../common/version.h" + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + PRODUCTVERSION PRODUCT_VERSION1, PRODUCT_VERSION2, PRODUCT_VERSION3, PRODUCT_VERSION4 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x29L +#else + FILEFLAGS 0x28L +#endif + FILEOS 0x4L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "Core Copy Handler functionalities" + VALUE "CompanyName", " " + VALUE "FileDescription", "Copy Handler Core" + VALUE "FileVersion", PRODUCT_VERSION + VALUE "LegalCopyright", COPYRIGHT_INFO + VALUE "LegalTrademarks", " " + VALUE "OriginalFilename", "libstring.dll" + VALUE "ProductName", "Copy Handler" + VALUE "ProductVersion", PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +///////////////////////////////////////////////////////////////////////////// Index: src/libstring/resource.h =================================================================== diff -u Binary files differ Index: src/libstring/stdafx.cpp =================================================================== diff -u --- src/libstring/stdafx.cpp (revision 0) +++ src/libstring/stdafx.cpp (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// libstring.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + +// TODO: reference any additional headers you need in STDAFX.H +// and not in this file Index: src/libstring/stdafx.h =================================================================== diff -u --- src/libstring/stdafx.h (revision 0) +++ src/libstring/stdafx.h (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -0,0 +1,26 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +#include "../common/targetver.h" + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files: +#include + +#include + +#pragma warning(push) +#pragma warning(disable: 4985) + +#include + +#pragma warning(pop) + +#include +#include +#include +#include