new trunk (base for 1.5)

windows build only
This commit is contained in:
Aleksandar Fabijanic 2012-04-23 01:14:34 +00:00
parent f9b60296f7
commit d75e68c027
3760 changed files with 1058456 additions and 0 deletions

View File

@ -0,0 +1,17 @@
vc.project.guid = 9866EE28-0612-4746-BD35-3B15B0AF7267
vc.project.name = ApacheConnector
vc.project.target = mod_poco
vc.project.type = library
vc.project.pocobase = ..
vc.project.outdir = ${vc.project.pocobase}
vc.project.platforms = Win32, x64
vc.project.configurations = debug_shared, release_shared
vc.project.prototype = ApacheConnector_vs90.vcproj
vc.project.compiler.include = ..\\Foundation\\include;..\\Net\\include;..\\Util\\include
vc.project.compiler.defines =
vc.project.compiler.defines.shared = ApacheHandlers_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib
vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib
vc.solution.create = true

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs71.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
debug_shared = debug_shared
release_shared = release_shared
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.ActiveCfg = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared.Build.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.ActiveCfg = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="ApacheConnector"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{9866EE28-0612-4746-BD35-3B15B0AF7267}"
RootNamespace="ApacheConnector"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_pocod.dll"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="..\bin\mod_pocod.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\mod_pocod.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_poco.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="FALSE"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\mod_poco.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files">
<File
RelativePath=".\include\ApacheApplication.h"/>
<File
RelativePath=".\include\ApacheChannel.h"/>
<File
RelativePath=".\include\ApacheConnector.h"/>
<File
RelativePath=".\include\ApacheRequestHandlerFactory.h"/>
<File
RelativePath=".\include\ApacheServerRequest.h"/>
<File
RelativePath=".\include\ApacheServerResponse.h"/>
<File
RelativePath=".\include\ApacheStream.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\ApacheApplication.cpp"/>
<File
RelativePath=".\src\ApacheChannel.cpp"/>
<File
RelativePath=".\src\ApacheConnector.cpp"/>
<File
RelativePath=".\src\ApacheRequestHandlerFactory.cpp"/>
<File
RelativePath=".\src\ApacheServerRequest.cpp"/>
<File
RelativePath=".\src\ApacheServerResponse.cpp"/>
<File
RelativePath=".\src\ApacheStream.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs80.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="ApacheConnector"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{9866EE28-0612-4746-BD35-3B15B0AF7267}"
RootNamespace="ApacheConnector"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_pocod.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\mod_pocod.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\mod_pocod.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_poco.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib\mod_poco.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files">
<File
RelativePath=".\include\ApacheApplication.h"/>
<File
RelativePath=".\include\ApacheChannel.h"/>
<File
RelativePath=".\include\ApacheConnector.h"/>
<File
RelativePath=".\include\ApacheRequestHandlerFactory.h"/>
<File
RelativePath=".\include\ApacheServerRequest.h"/>
<File
RelativePath=".\include\ApacheServerResponse.h"/>
<File
RelativePath=".\include\ApacheStream.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\ApacheApplication.cpp"/>
<File
RelativePath=".\src\ApacheChannel.cpp"/>
<File
RelativePath=".\src\ApacheConnector.cpp"/>
<File
RelativePath=".\src\ApacheRequestHandlerFactory.cpp"/>
<File
RelativePath=".\src\ApacheServerRequest.cpp"/>
<File
RelativePath=".\src\ApacheServerResponse.cpp"/>
<File
RelativePath=".\src\ApacheStream.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>ApacheConnector</ProjectName>
<ProjectGuid>{9866EE28-0612-4746-BD35-3B15B0AF7267}</ProjectGuid>
<RootNamespace>ApacheConnector</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">mod_pocod</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">mod_poco</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\mod_pocod.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin\mod_pocod.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib\mod_pocod.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\mod_poco.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib\mod_poco.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\ApacheApplication.h"/>
<ClInclude Include="include\ApacheChannel.h"/>
<ClInclude Include="include\ApacheConnector.h"/>
<ClInclude Include="include\ApacheRequestHandlerFactory.h"/>
<ClInclude Include="include\ApacheServerRequest.h"/>
<ClInclude Include="include\ApacheServerResponse.h"/>
<ClInclude Include="include\ApacheStream.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ApacheApplication.cpp"/>
<ClCompile Include="src\ApacheChannel.cpp"/>
<ClCompile Include="src\ApacheConnector.cpp"/>
<ClCompile Include="src\ApacheRequestHandlerFactory.cpp"/>
<ClCompile Include="src\ApacheServerRequest.cpp"/>
<ClCompile Include="src\ApacheServerResponse.cpp"/>
<ClCompile Include="src\ApacheStream.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{1b41dc76-2d5c-4abc-9fcf-40bf92616da2}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{f4221366-b450-4113-b43d-1303b840e629}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\ApacheApplication.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheChannel.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheConnector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheRequestHandlerFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheServerRequest.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheServerResponse.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheStream.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ApacheApplication.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheChannel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheConnector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheRequestHandlerFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheServerRequest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheServerResponse.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Build.0 = release_shared|Win32
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="ApacheConnector"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{9866EE28-0612-4746-BD35-3B15B0AF7267}"
RootNamespace="ApacheConnector"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_pocod.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\mod_pocod.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\mod_pocod.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin\mod_poco.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\mod_poco.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files">
<File
RelativePath=".\include\ApacheApplication.h"/>
<File
RelativePath=".\include\ApacheChannel.h"/>
<File
RelativePath=".\include\ApacheConnector.h"/>
<File
RelativePath=".\include\ApacheRequestHandlerFactory.h"/>
<File
RelativePath=".\include\ApacheServerRequest.h"/>
<File
RelativePath=".\include\ApacheServerResponse.h"/>
<File
RelativePath=".\include\ApacheStream.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\ApacheApplication.cpp"/>
<File
RelativePath=".\src\ApacheChannel.cpp"/>
<File
RelativePath=".\src\ApacheConnector.cpp"/>
<File
RelativePath=".\src\ApacheRequestHandlerFactory.cpp"/>
<File
RelativePath=".\src\ApacheServerRequest.cpp"/>
<File
RelativePath=".\src\ApacheServerResponse.cpp"/>
<File
RelativePath=".\src\ApacheStream.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs100.vcxproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>ApacheConnector</ProjectName>
<ProjectGuid>{9866EE28-0612-4746-BD35-3B15B0AF7267}</ProjectGuid>
<RootNamespace>ApacheConnector</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">mod_poco64d</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">mod_poco64</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\mod_poco64d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin64\mod_poco64d.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib64\mod_pocod.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\Net\include;..\Util\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\mod_poco64.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib64\mod_poco.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\ApacheApplication.h"/>
<ClInclude Include="include\ApacheChannel.h"/>
<ClInclude Include="include\ApacheConnector.h"/>
<ClInclude Include="include\ApacheRequestHandlerFactory.h"/>
<ClInclude Include="include\ApacheServerRequest.h"/>
<ClInclude Include="include\ApacheServerResponse.h"/>
<ClInclude Include="include\ApacheStream.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ApacheApplication.cpp"/>
<ClCompile Include="src\ApacheChannel.cpp"/>
<ClCompile Include="src\ApacheConnector.cpp"/>
<ClCompile Include="src\ApacheRequestHandlerFactory.cpp"/>
<ClCompile Include="src\ApacheServerRequest.cpp"/>
<ClCompile Include="src\ApacheServerResponse.cpp"/>
<ClCompile Include="src\ApacheStream.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{8ea424b5-ec7e-439b-a7be-1597c51e51ed}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{bcfc1d48-58d4-4a01-9e80-15f35f162748}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\ApacheApplication.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheChannel.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheConnector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheRequestHandlerFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheServerRequest.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheServerResponse.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\ApacheStream.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ApacheApplication.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheChannel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheConnector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheRequestHandlerFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheServerRequest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheServerResponse.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ApacheStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ApacheConnector", "ApacheConnector_x64_vs90.vcproj", "{9866EE28-0612-4746-BD35-3B15B0AF7267}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Build.0 = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.ActiveCfg = release_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Build.0 = release_shared|x64
{9866EE28-0612-4746-BD35-3B15B0AF7267}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="ApacheConnector"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{9866EE28-0612-4746-BD35-3B15B0AF7267}"
RootNamespace="ApacheConnector"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="x64"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin64\mod_poco64d.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin64\mod_poco64d.pdb"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
ImportLibrary="..\lib64\mod_pocod.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\Net\include;..\Util\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;ApacheHandlers_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="..\bin64\mod_poco64.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib64\mod_poco.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files">
<File
RelativePath=".\include\ApacheApplication.h"/>
<File
RelativePath=".\include\ApacheChannel.h"/>
<File
RelativePath=".\include\ApacheConnector.h"/>
<File
RelativePath=".\include\ApacheRequestHandlerFactory.h"/>
<File
RelativePath=".\include\ApacheServerRequest.h"/>
<File
RelativePath=".\include\ApacheServerResponse.h"/>
<File
RelativePath=".\include\ApacheStream.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\ApacheApplication.cpp"/>
<File
RelativePath=".\src\ApacheChannel.cpp"/>
<File
RelativePath=".\src\ApacheConnector.cpp"/>
<File
RelativePath=".\src\ApacheRequestHandlerFactory.cpp"/>
<File
RelativePath=".\src\ApacheServerRequest.cpp"/>
<File
RelativePath=".\src\ApacheServerResponse.cpp"/>
<File
RelativePath=".\src\ApacheStream.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

28
ApacheConnector/Makefile Normal file
View File

@ -0,0 +1,28 @@
#
# Makefile
#
# $Id: //poco/1.4/ApacheConnector/Makefile#2 $
#
# Makefile for ApacheConnector
#
include $(POCO_BASE)/build/rules/global
SYSFLAGS += -I/usr/include/apache2 \
-I/usr/include/apr-1.0 -I/usr/include/apr-1 -I/usr/include/apr-0
ifeq ($(OSNAME),Darwin)
SHAREDLIBLINKEXT = .so
DYLIB += -flat_namespace -undefined suppress
endif
objects = ApacheRequestHandlerFactory \
ApacheServerRequest ApacheServerResponse \
ApacheStream ApacheConnector ApacheChannel \
ApacheApplication ApacheChannel
target = mod_poco
target_version = 1
target_libs = PocoUtil PocoNet PocoXML PocoFoundation
include $(POCO_BASE)/build/rules/dylib

View File

@ -0,0 +1,4 @@
Net
Util
XML
Foundation

View File

@ -0,0 +1,148 @@
POCO ApacheConnector User Guide
POCO ApacheConnector
!!!Introduction
ApacheConnector (<[mod_poco]>) is an Apache module that allows one to write Apache server extensions using
the POCO Net HTTPServer framework. Almost any subclass of Poco::Net::HTTPRequestHandler written
for Poco::Net::HTTPServer can be used with ApacheConnector. For this to work, the request handler
subclass, together with its factory (Poco::Net::HTTPRequestHandlerFactory) must be contained
in a shared library. The ApacheConnector uses the Poco::ClassLoader to load request handler
factories from shared libraries.
!!!Adding ApacheConnector to Apache
ApacheConnector is implemented as an ordinary Apache 2 module, named <[mod_poco]>.
To add <[mod_poco]> to Apache, add the following entry to the Apache configuration
file (usually <[httpd.conf]>):
LoadModule poco_module modules/mod_pocod.so
----
!!!Configuring ApacheConnector
ApacheConnector must be able to find shared libraries containing request handler, as well
as optional configuration files. ApacheConnector provides an Poco::Util::Application class
to request handlers that can be used to access configuration data, loaded from configuration
files.
!!Request Handler Configuration
To have the ApacheConnector load a request handler class, the <[AddPocoRequestHandler]> directive
is used in the Apache configuration file:
AddPocoRequestHandler <FactoryClass> <SharedLibrary> <Path>...
----
The first argument specifies the name of the request handler factory class. The second argument
contains the path of the shared library containing the request handler.
The third (and optionally following) argument(s) specify the URI paths handled by the
request handler. For example:
AddPocoRequestHandler TimeRequestHandlerFactory p:/Poco/ApacheConnector/samples/TimeServer/bin/TimeServerd.dll /time
----
loads the TimeRequestHandlerFactory from TimeServerd.dll. Whenever a request for a URI starting with "/time"
is sent by a client, this request will be handled by the TimeRequestHandler.
!!Configuration Files
ApacheConnector can also load POCO configuration files (.ini, .properties or .xml) for later use by
request handlers. This is done using the <[AddPocoConfig]> directive:
AddPocoConfig <Path>
----
where <Path> specifies the full path to the configuration file.
In a request handler, the configuration properties loaded this way can be accessed using:
Poco::Util::Application& app = Poco::Util::Application::instance();
std::string myProp = app.config().getString("MyProperty");
----
!!!Logging in Request Handlers
ApacheConnector provides a special logging channel that logs to Apache's error log file.
This channel is set as the root channel when the ApacheConnector is loaded, so every
logger will automatically inherit this channel.
!!!A Sample Request Handler
Following is a sample for a request handler implementation. The complete sample project can be found in the
<[samples]> subdirectory of the ApacheConnector directory.
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Timestamp.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/ClassLibrary.h"
using Poco::Net::HTTPRequestHandler;
using Poco::Net::HTTPRequestHandlerFactory;
using Poco::Net::HTTPServerRequest;
using Poco::Net::HTTPServerResponse;
using Poco::Timestamp;
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
class TimeRequestHandler: public HTTPRequestHandler
/// Return a HTML document with the current date and time.
{
public:
TimeRequestHandler()
{
}
void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response)
{
Timestamp now;
std::string dt(DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT));
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
std::ostream& ostr = response.send();
ostr << "<html><head><title>TimeServer powered by POCO ApacheConnector</title>";
ostr << "<meta http-equiv=\"refresh\" content=\"1\"></head>";
ostr << "<body><p style=\"text-align: center; font-size: 48px;\">";
ostr << dt;
ostr << "</p></body></html>";
}
};
class TimeRequestHandlerFactory: public HTTPRequestHandlerFactory
{
public:
TimeRequestHandlerFactory()
{
}
HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request)
{
return new TimeRequestHandler;
}
};
POCO_BEGIN_MANIFEST(HTTPRequestHandlerFactory)
POCO_EXPORT_CLASS(TimeRequestHandlerFactory)
POCO_END_MANIFEST
----
Both the TimeRequestHandler class and the TimeRequestHandlerFactory class are the same as for
an ordinary Poco::Net::HTTPServer. The only addition in this sample is the definition
of the class loader manifest, which allows the ApacheConnector to load the TimeRequestHandlerFactory
class from the shared library.
To run this sample, the following directives must be added to the Apache configuration files:
LoadModule poco_module p:/Poco/ApacheConnector/bin/mod_poco.so
AddPocoRequestHandler TimeRequestHandlerFactory p:/Poco/ApacheConnector/samples/TimeServer/bin/TimeServer.dll /time
----
You'll have to change the paths to <[mod_poco.so]> and <[TimeServer.dll]> to match your
own environment.
To test the sample, simply direct your favorite web browser to <http://localhost/time>.

View File

@ -0,0 +1,78 @@
//
// ApacheApplication.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheApplication.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheApplication_INCLUDED
#define ApacheConnector_ApacheApplication_INCLUDED
#include "ApacheRequestHandlerFactory.h"
#include "Poco/Util/Application.h"
#include "Poco/Mutex.h"
class ApacheApplication: public Poco::Util::Application
{
public:
ApacheApplication();
/// Creates the ApacheApplication and sets the
/// ApacheChannel as the root logger channel.
~ApacheApplication();
/// Destroys the ApacheApplication.
void setup();
/// Initializes the application if called for the first
/// time; does nothing in later calls.
ApacheRequestHandlerFactory& factory();
/// Returns the ApacheRequestHandlerFactory.
static ApacheApplication& instance();
/// Returns the application instance.
private:
bool _ready;
ApacheRequestHandlerFactory _factory;
Poco::FastMutex _mutex;
};
//
// inlines
//
inline ApacheRequestHandlerFactory& ApacheApplication::factory()
{
return _factory;
}
#endif // ApacheConnector_ApacheApplication_INCLUDED

View File

@ -0,0 +1,52 @@
//
// ApacheChannel.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheChannel.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheChannel_INCLUDED
#define ApacheConnector_ApacheChannel_INCLUDED
#include "Poco/Channel.h"
class ApacheChannel: public Poco::Channel
/// This class implements a logging channel
/// that uses the Apache logging facilities.
{
public:
ApacheChannel();
~ApacheChannel();
void log(const Poco::Message& msg);
};
#endif // ApacheConnector_ApacheChannel_INCLUDED

View File

@ -0,0 +1,108 @@
//
// ApacheConnector.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheConnector.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheConnector_INCLUDED
#define ApacheConnector_ApacheConnector_INCLUDED
#include <string>
struct request_rec;
class ApacheServerRequest;
class ApacheRequestRec
/// This class wraps an Apache request_rec.
{
public:
ApacheRequestRec(request_rec* _pRec);
/// Creates the ApacheRequestRec;
bool haveRequestBody();
/// Returns true if the request contains a body.
int readRequest(char* buffer, int length);
/// Read up to length bytes from request body into buffer.
/// Returns the number of bytes read, 0 if eof or -1 if an error occured.
void writeResponse(const char* buffer, int length);
/// Writes the given characters as response to the given request_rec.
void addHeader(const std::string& key, const std::string& value);
/// Adds the given key / value pair to the outgoing headers of the
/// http response.
void setContentType(const std::string& mediaType);
/// Sets the response content type.
void redirect(const std::string& uri, int status);
/// Redirects the response to the given uri.
void sendErrorResponse(int status);
/// Sends an error response with the given HTTP status code.
int sendFile(const std::string& path, unsigned int fileSize, const std::string& mediaType);
/// Sends the file given by fileName as response.
void copyHeaders(ApacheServerRequest& request);
/// Copies the request uri and header fields from the Apache request
/// to the ApacheServerRequest.
private:
request_rec* _pRec;
};
class ApacheConnector
/// This class provides static methods wrapping the
/// Apache API.
{
public:
enum LogLevel
{
PRIO_FATAL = 1, /// A fatal error. The application will most likely terminate. This is the highest priority.
PRIO_CRITICAL, /// A critical error. The application might not be able to continue running successfully.
PRIO_ERROR, /// An error. An operation did not complete successfully, but the application as a whole is not affected.
PRIO_WARNING, /// A warning. An operation completed with an unexpected result.
PRIO_NOTICE, /// A notice, which is an information with just a higher priority.
PRIO_INFORMATION, /// An informational message, usually denoting the successful completion of an operation.
PRIO_DEBUG, /// A debugging message.
PRIO_TRACE /// A tracing message. This is the lowest priority.
};
static void log(const char* file, int line, int level, int status, const char* text);
/// Log the given message.
};
#endif // ApacheConnector_ApacheConnector_INCLUDED

View File

@ -0,0 +1,77 @@
//
// ApacheRequestHandlerFactory.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheRequestHandlerFactory.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheRequestHandlerFactory_INCLUDED
#define ApacheConnector_ApacheRequestHandlerFactory_INCLUDED
#include "ApacheServerRequest.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/ClassLoader.h"
#include "Poco/Mutex.h"
#include <map>
class ApacheRequestHandlerFactory: public Poco::Net::HTTPRequestHandlerFactory
{
public:
ApacheRequestHandlerFactory();
/// Constructs the ApacheRequestHandlerFactory
~ApacheRequestHandlerFactory();
/// Destructor of the ApacheRequestHandlerFactory
Poco::Net::HTTPRequestHandler* createRequestHandler(const Poco::Net::HTTPServerRequest& request);
/// Creates a new request handler for the given HTTP request.
bool mustHandle(const std::string& uri);
/// Returns 1 if the given uri must be handled by the
/// poco_mapper module, 0 otherwise.
void handleURIs(const std::string& uris);
/// Parses the given string for dllName, factoryName and the URIs to handle
/// by the request-handler
void addRequestHandlerFactory(const std::string& dllPath, const std::string& factoryName, const std::string& uri);
/// Adds the request handler from the given dll with the given name and
/// registers that handler with the given uri
private:
typedef std::map<std::string, Poco::Net::HTTPRequestHandlerFactory*> RequestHandlerFactories;
RequestHandlerFactories _requestHandlers;
Poco::ClassLoader<Poco::Net::HTTPRequestHandlerFactory> _loader;
Poco::FastMutex _mutex;
};
#endif // ApacheConnector_ApacheRequestHandlerFactory_INCLUDED

View File

@ -0,0 +1,120 @@
//
// ApacheServerRequest.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheServerRequest.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheServerRequest_INCLUDED
#define ApacheConnector_ApacheServerRequest_INCLUDED
#include "ApacheConnector.h"
#include "ApacheStream.h"
#include "Poco/Net/HTTPServerRequest.h"
#include <set>
class ApacheServerResponse;
class ApacheServerRequest: public Poco::Net::HTTPServerRequest
{
public:
ApacheServerRequest(
ApacheRequestRec* pApacheRequest,
const char* serverName,
int serverPort,
const char* clientName,
int clientPort);
/// Creates a new ApacheServerRequest.
~ApacheServerRequest();
/// Destroys the ApacheServerRequest.
std::istream& stream();
/// Returns the input stream for reading
/// the request body.
///
/// The stream is valid until the HTTPServerRequest
/// object is destroyed.
bool expectContinue() const;
/// Returns true if the client expects a
/// 100 Continue response.
const Poco::Net::SocketAddress& clientAddress() const;
/// Returns the client's address.
const Poco::Net::SocketAddress& serverAddress() const;
/// Returns the server's address.
const Poco::Net::HTTPServerParams& serverParams() const;
/// Returns a reference to the server parameters.
Poco::Net::HTTPServerResponse& response() const;
/// Returns a reference to the associated response
protected:
void setResponse(ApacheServerResponse* pResponse);
private:
ApacheRequestRec* _pApacheRequest;
ApacheServerResponse* _pResponse;
ApacheInputStream* _pStream;
Poco::Net::SocketAddress _serverAddress;
Poco::Net::SocketAddress _clientAddress;
friend class ApacheServerResponse;
};
//
// inlines
//
inline std::istream& ApacheServerRequest::stream()
{
poco_check_ptr (_pStream);
return *_pStream;
}
inline const Poco::Net::SocketAddress& ApacheServerRequest::clientAddress() const
{
return _clientAddress;
}
inline const Poco::Net::SocketAddress& ApacheServerRequest::serverAddress() const
{
return _serverAddress;
}
#endif // ApacheConnector_ApacheServerRequest_INCLUDED

View File

@ -0,0 +1,144 @@
//
// ApacheServerResponse.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheServerResponse.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheServerResponse_INCLUDED
#define ApacheConnector_ApacheServerResponse_INCLUDED
#include "ApacheConnector.h"
#include "ApacheStream.h"
#include "Poco/Net/Net.h"
#include "Poco/Net/HTTPServerResponse.h"
class ApacheServerRequest;
class ApacheServerResponse: public Poco::Net::HTTPServerResponse
/// This subclass of HTTPResponse is used for
/// representing server-side HTTP responses for apache.
///
/// A ApacheServerResponse is passed to the
/// handleRequest() method of HTTPRequestHandler.
///
/// handleRequest() must set a status code
/// and optional reason phrase, set headers
/// as necessary, and provide a message body.
{
public:
ApacheServerResponse(ApacheServerRequest* pRequest);
/// Creates the ApacheServerResponse.
~ApacheServerResponse();
/// Destroys the ApacheServerResponse.
void sendContinue();
/// Sends a 100 Continue response to the
/// client.
void sendErrorResponse(int status);
/// Sends an error response with the given
/// status back to the client.
std::ostream& send();
/// Sends the response header to the client and
/// returns an output stream for sending the
/// response body.
///
/// The returned stream is valid until the response
/// object is destroyed.
///
/// Must not be called after sendFile(), sendBuffer()
/// or redirect() has been called.
void sendFile(const std::string& path, const std::string& mediaType);
/// Sends the response header to the client, followed
/// by the content of the given file.
///
/// Must not be called after send(), sendBuffer()
/// or redirect() has been called.
///
/// Throws a FileNotFoundException if the file
/// cannot be found, or an OpenFileException if
/// the file cannot be opened.
void sendBuffer(const void* pBuffer, std::size_t length);
/// Sends the response header to the client, followed
/// by the contents of the given buffer.
///
/// The Content-Length header of the response is set
/// to length and chunked transfer encoding is disabled.
///
/// If both the HTTP message header and body (from the
/// given buffer) fit into one single network packet, the
/// complete response can be sent in one network packet.
///
/// Must not be called after send(), sendFile()
/// or redirect() has been called.
void redirect(const std::string& uri, Poco::Net::HTTPResponse::HTTPStatus status);
/// Sets the status code, which must be one of
/// HTTP_MOVED_PERMANENTLY (301), HTTP_FOUND (302),
/// or HTTP_SEE_OTHER (303),
/// and sets the "Location" header field
/// to the given URI, which according to
/// the HTTP specification, must be absolute.
///
/// Must not be called after send() has been called.
void requireAuthentication(const std::string& realm);
/// Sets the status code to 401 (Unauthorized)
/// and sets the "WWW-Authenticate" header field
/// according to the given realm.
bool sent() const;
/// Returns true if the response (header) has been sent.
private:
void initApacheOutputStream();
/// Initializes the ApacheOutputStram
ApacheOutputStream* _pStream;
ApacheRequestRec* _pApacheRequest;
};
//
// inlines
//
inline bool ApacheServerResponse::sent() const
{
return _pStream != 0;
}
#endif // ApacheConnector_ApacheServerResponse_INCLUDED

View File

@ -0,0 +1,125 @@
//
// ApacheStream.h
//
// $Id: //poco/1.4/ApacheConnector/include/ApacheStream.h#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef ApacheConnector_ApacheStream_INCLUDED
#define ApacheConnector_ApacheStream_INCLUDED
#include "ApacheConnector.h"
#include "Poco/BufferedStreamBuf.h"
#include <istream>
#include <ostream>
class ApacheStreamBuf: public Poco::BufferedStreamBuf
/// This is the streambuf class used for reading from and writing to a socket.
{
public:
ApacheStreamBuf(ApacheRequestRec* pApacheRequest, bool haveData = false);
/// Creates a ApacheStreamBuf with the given socket.
~ApacheStreamBuf();
/// Destroys the SocketStreamBuf.
protected:
int readFromDevice(char* buffer, std::streamsize length);
int writeToDevice(const char* buffer, std::streamsize length);
private:
enum
{
STREAM_BUFFER_SIZE = 1024
};
ApacheRequestRec* _pApacheRequest;
bool _haveData;
};
class ApacheIOS: public virtual std::ios
/// The base class for ApacheStream, ApacheInputStream and
/// ApacheOutputStream.
///
/// This class is needed to ensure the correct initialization
/// order of the stream buffer and base classes.
{
public:
ApacheIOS(ApacheRequestRec* pApacheRequest, bool haveData = false);
/// Creates the ApacheIOS with the given socket.
~ApacheIOS();
/// Destroys the ApacheIOS.
///
/// Flushes the buffer, but does not close the socket.
ApacheStreamBuf* rdbuf();
/// Returns a pointer to the internal ApacheStreamBuf.
void close();
/// Flushes the stream.
protected:
ApacheStreamBuf _buf;
};
class ApacheOutputStream: public ApacheIOS, public std::ostream
/// An output stream for writing to an Apache response.
{
public:
ApacheOutputStream(ApacheRequestRec* pApacheRequest);
/// Creates the ApacheOutputStream with the given socket.
~ApacheOutputStream();
/// Destroys the ApacheOutputStream.
///
/// Flushes the buffer.
};
class ApacheInputStream: public ApacheIOS, public std::istream
/// An input stream for reading from an Apache request.
///
/// Using formatted input from a ApacheInputStream
/// is not recommended, due to the read-ahead behavior of
/// istream with formatted reads.
{
public:
ApacheInputStream(ApacheRequestRec* pApacheRequest);
/// Creates the ApacheInputStream with the given socket.
~ApacheInputStream();
/// Destroys the ApacheInputStream.
};
#endif // ApacheConnector_ApacheStream_INCLUDED

View File

@ -0,0 +1,11 @@
vc.project.guid = ${vc.project.guidFromName}
vc.project.name = ${vc.project.baseName}
vc.project.target = ${vc.project.name}
vc.project.type = executable
vc.project.pocobase = ..\\..\\..
vc.project.platforms = Win32, x64
vc.project.configurations = debug_shared, release_shared
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib
vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib

View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>FormServer</ProjectName>
<ProjectGuid>{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}</ProjectGuid>
<RootNamespace>FormServer</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">FormServerd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">FormServer</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\FormServerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\FormServerd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\FormServer.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\FormServer.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{f15b6455-ee37-47e9-adb8-a9f91180df9b}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\FormServer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="FormServer"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
RootNamespace="FormServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="bin\FormServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForWindowsApplication="TRUE"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="TRUE"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="FALSE"
ProgramDatabaseFile=""
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\FormServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="FormServer"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
RootNamespace="FormServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\FormServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\FormServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="FormServer"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
RootNamespace="FormServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\FormServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\FormServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\FormServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>FormServer</ProjectName>
<ProjectGuid>{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}</ProjectGuid>
<RootNamespace>FormServer</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">FormServerd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">FormServer</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\FormServerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\FormServerd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\FormServer.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\FormServer.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{274d01a8-2c80-4883-9261-c41efe4e0328}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\FormServer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="FormServer"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
RootNamespace="FormServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="x64"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin64\FormServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib64"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin64\FormServerd.pdb"
SubSystem="1"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin64\FormServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib64"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\FormServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,17 @@
#
# Makefile
#
# $Id: //poco/1.4/ApacheConnector/samples/FormServer/Makefile#1 $
#
# Makefile for Poco ApacheConnector sample
#
include $(POCO_BASE)/build/rules/global
objects = FormServer
target = FormServer
target_version = 1
target_libs = PocoFoundation PocoNet
include $(POCO_BASE)/build/rules/dylib

View File

@ -0,0 +1,206 @@
//
// FormServer.cpp
//
// $Id: //poco/1.4/ApacheConnector/samples/FormServer/src/FormServer.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/Net/PartHandler.h"
#include "Poco/CountingStream.h"
#include "Poco/NullStream.h"
#include "Poco/StreamCopier.h"
#include "Poco/ClassLibrary.h"
using Poco::Net::HTTPRequestHandler;
using Poco::Net::HTTPRequestHandlerFactory;
using Poco::Net::HTTPServerRequest;
using Poco::Net::HTTPServerResponse;
using Poco::Net::MessageHeader;
using Poco::Net::HTMLForm;
using Poco::Net::NameValueCollection;
using Poco::CountingInputStream;
using Poco::NullOutputStream;
using Poco::StreamCopier;
class MyPartHandler: public Poco::Net::PartHandler
{
public:
MyPartHandler():
_length(0)
{
}
void handlePart(const MessageHeader& header, std::istream& stream)
{
_type = header.get("Content-Type", "(unspecified)");
if (header.has("Content-Disposition"))
{
std::string disp;
NameValueCollection params;
MessageHeader::splitParameters(header["Content-Disposition"], disp, params);
_name = params.get("name", "(unnamed)");
_fileName = params.get("filename", "(unnamed)");
}
CountingInputStream istr(stream);
NullOutputStream ostr;
StreamCopier::copyStream(istr, ostr);
_length = istr.chars();
}
int length() const
{
return _length;
}
const std::string& name() const
{
return _name;
}
const std::string& fileName() const
{
return _fileName;
}
const std::string& contentType() const
{
return _type;
}
private:
int _length;
std::string _type;
std::string _name;
std::string _fileName;
};
class FormRequestHandler: public HTTPRequestHandler
/// Return a HTML document with the current date and time.
{
public:
FormRequestHandler()
{
}
void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response)
{
MyPartHandler partHandler;
HTMLForm form(request, request.stream(), partHandler);
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
std::ostream& ostr = response.send();
ostr <<
"<html>\n"
"<head>\n"
"<title>POCO Form Server Sample</title>\n"
"</head>\n"
"<body>\n"
"<h1>POCO Form Server Sample</h1>\n"
"<h2>GET Form</h2>\n"
"<form method=\"GET\" action=\"/form\">\n"
"<input type=\"text\" name=\"text\" size=\"31\">\n"
"<input type=\"submit\" value=\"GET\">\n"
"</form>\n"
"<h2>POST Form</h2>\n"
"<form method=\"POST\" action=\"/form\">\n"
"<input type=\"text\" name=\"text\" size=\"31\">\n"
"<input type=\"submit\" value=\"POST\">\n"
"</form>\n"
"<h2>File Upload</h2>\n"
"<form method=\"POST\" action=\"/form\" enctype=\"multipart/form-data\">\n"
"<input type=\"file\" name=\"file\" size=\"31\"> \n"
"<input type=\"submit\" value=\"Upload\">\n"
"</form>\n";
ostr << "<h2>Request</h2><p>\n";
ostr << "Method: " << request.getMethod() << "<br>\n";
ostr << "URI: " << request.getURI() << "<br>\n";
NameValueCollection::ConstIterator it = request.begin();
NameValueCollection::ConstIterator end = request.end();
for (; it != end; ++it)
{
ostr << it->first << ": " << it->second << "<br>\n";
}
ostr << "</p>";
if (!form.empty())
{
ostr << "<h2>Form</h2><p>\n";
it = form.begin();
end = form.end();
for (; it != end; ++it)
{
ostr << it->first << ": " << it->second << "<br>\n";
}
ostr << "</p>";
}
if (!partHandler.name().empty())
{
ostr << "<h2>Upload</h2><p>\n";
ostr << "Name: " << partHandler.name() << "<br>\n";
ostr << "File Name: " << partHandler.fileName() << "<br>\n";
ostr << "Type: " << partHandler.contentType() << "<br>\n";
ostr << "Size: " << partHandler.length() << "<br>\n";
ostr << "</p>";
}
ostr << "</body>\n";
}
};
class FormRequestHandlerFactory: public HTTPRequestHandlerFactory
{
public:
FormRequestHandlerFactory()
{
}
HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request)
{
return new FormRequestHandler;
}
};
POCO_BEGIN_MANIFEST(HTTPRequestHandlerFactory)
POCO_EXPORT_CLASS(FormRequestHandlerFactory)
POCO_END_MANIFEST

View File

@ -0,0 +1,13 @@
#
# Makefile
#
# $Id: //poco/1.4/ApacheConnector/samples/Makefile#1 $
#
# Makefile for Poco ApacheConnector Samples
#
.PHONY: projects
clean all: projects
projects:
$(MAKE) -C TimeServer $(MAKECMDGOALS)
$(MAKE) -C FormServer $(MAKECMDGOALS)

View File

@ -0,0 +1,17 @@
#
# Makefile
#
# $Id: //poco/1.4/ApacheConnector/samples/TimeServer/Makefile#1 $
#
# Makefile for Poco ApacheConnector sample
#
include $(POCO_BASE)/build/rules/global
objects = TimeServer
target = TimeServer
target_version = 1
target_libs = PocoFoundation PocoNet
include $(POCO_BASE)/build/rules/dylib

View File

@ -0,0 +1,11 @@
vc.project.guid = ${vc.project.guidFromName}
vc.project.name = ${vc.project.baseName}
vc.project.target = ${vc.project.name}
vc.project.type = executable
vc.project.pocobase = ..\\..\\..
vc.project.platforms = Win32, x64
vc.project.configurations = debug_shared, release_shared
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
vc.project.linker.dependencies.Win32 = libapr-1.lib libaprutil-1.lib libhttpd.lib
vc.project.linker.dependencies.x64 = libapr-1.lib libaprutil-1.lib libhttpd.lib

View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TimeServer</ProjectName>
<ProjectGuid>{59EDFD20-9968-30F7-9532-44C08DA58C6E}</ProjectGuid>
<RootNamespace>TimeServer</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">TimeServerd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">TimeServer</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TimeServerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\TimeServerd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TimeServer.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\TimeServer.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{29521eeb-44f6-411c-86be-29354be3718e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\TimeServer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="TimeServer"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
RootNamespace="TimeServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="bin\TimeServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
OptimizeForWindowsApplication="TRUE"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="TRUE"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="FALSE"
ProgramDatabaseFile=""
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\TimeServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="TimeServer"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
RootNamespace="TimeServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\TimeServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\TimeServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="TimeServer"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
RootNamespace="TimeServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\TimeServerd.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin\TimeServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\TimeServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TimeServer</ProjectName>
<ProjectGuid>{59EDFD20-9968-30F7-9532-44C08DA58C6E}</ProjectGuid>
<RootNamespace>TimeServer</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">TimeServerd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">TimeServer</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TimeServerd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\TimeServerd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>libapr-1.lib;libaprutil-1.lib;libhttpd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TimeServer.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\TimeServer.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{2b9f99c8-e72f-4c5b-8970-bc695d6b055d}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\TimeServer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="TimeServer"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
RootNamespace="TimeServer"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="x64"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin64\TimeServerd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\lib64"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin64\TimeServerd.pdb"
SubSystem="1"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Net\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libapr-1.lib libaprutil-1.lib libhttpd.lib"
OutputFile="bin64\TimeServer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\lib64"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\src\TimeServer.cpp"/>
</Filter>
<Filter
Name="Header Files"/>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,95 @@
//
// TimeServer.cpp
//
// $Id: //poco/1.4/ApacheConnector/samples/TimeServer/src/TimeServer.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Timestamp.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/ClassLibrary.h"
using Poco::Net::HTTPRequestHandler;
using Poco::Net::HTTPRequestHandlerFactory;
using Poco::Net::HTTPServerRequest;
using Poco::Net::HTTPServerResponse;
using Poco::Timestamp;
using Poco::DateTimeFormatter;
using Poco::DateTimeFormat;
class TimeRequestHandler: public HTTPRequestHandler
/// Return a HTML document with the current date and time.
{
public:
TimeRequestHandler()
{
}
void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response)
{
Timestamp now;
std::string dt(DateTimeFormatter::format(now, DateTimeFormat::SORTABLE_FORMAT));
response.setChunkedTransferEncoding(true);
response.setContentType("text/html");
std::ostream& ostr = response.send();
ostr << "<html><head><title>TimeServer powered by POCO ApacheConnector</title>";
ostr << "<meta http-equiv=\"refresh\" content=\"1\"></head>";
ostr << "<body><p style=\"text-align: center; font-size: 48px;\">";
ostr << dt;
ostr << "</p></body></html>";
}
};
class TimeRequestHandlerFactory: public HTTPRequestHandlerFactory
{
public:
TimeRequestHandlerFactory()
{
}
HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request)
{
return new TimeRequestHandler;
}
};
POCO_BEGIN_MANIFEST(HTTPRequestHandlerFactory)
POCO_EXPORT_CLASS(TimeRequestHandlerFactory)
POCO_END_MANIFEST

View File

@ -0,0 +1,4 @@
Net
Util
XML
Foundation

View File

@ -0,0 +1,6 @@
vc.project.platforms = Win32, x64
vc.project.configurations = debug_shared, release_shared
vc.solution.create = true
vc.solution.include = \
FormServer\\FormServer;\
TimeServer\\TimeServer

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs71.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs71.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
debug_shared = debug_shared
release_shared = release_shared
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.ActiveCfg = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared.Build.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.ActiveCfg = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared.Build.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.ActiveCfg = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared.Build.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.ActiveCfg = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs80.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs80.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Build.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.ActiveCfg = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Build.0 = release_shared|Win32
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|Win32.Deploy.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Build.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.ActiveCfg = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Build.0 = release_shared|Win32
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs100.vcxproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs100.vcxproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,29 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FormServer", "FormServer\FormServer_x64_vs90.vcproj", "{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TimeServer", "TimeServer\TimeServer_x64_vs90.vcproj", "{59EDFD20-9968-30F7-9532-44C08DA58C6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.ActiveCfg = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Build.0 = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.debug_shared|x64.Deploy.0 = debug_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.ActiveCfg = release_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Build.0 = release_shared|x64
{CD77A9BA-6E9B-39EF-801A-1C7E66B19106}.release_shared|x64.Deploy.0 = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.ActiveCfg = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Build.0 = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.debug_shared|x64.Deploy.0 = debug_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.ActiveCfg = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Build.0 = release_shared|x64
{59EDFD20-9968-30F7-9532-44C08DA58C6E}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,75 @@
//
// ApacheApplication.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheApplication.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheApplication.h"
#include "ApacheChannel.h"
#include "Poco/Logger.h"
#include "Poco/SingletonHolder.h"
#include <vector>
using Poco::Logger;
using Poco::FastMutex;
ApacheApplication::ApacheApplication():
_ready(false)
{
Logger::root().setChannel(new ApacheChannel);
}
ApacheApplication::~ApacheApplication()
{
Logger::shutdown();
}
void ApacheApplication::setup()
{
FastMutex::ScopedLock lock(_mutex);
if (!_ready)
{
std::vector<std::string> cmdLine;
cmdLine.push_back("mod_poco");
init(cmdLine);
_ready = true;
}
}
ApacheApplication& ApacheApplication::instance()
{
static Poco::SingletonHolder<ApacheApplication> sh;
return *sh.get();
}

View File

@ -0,0 +1,51 @@
//
// ApacheApplication.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheChannel.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheChannel.h"
#include "ApacheConnector.h"
#include "Poco/Message.h"
ApacheChannel::ApacheChannel()
{
}
ApacheChannel::~ApacheChannel()
{
}
void ApacheChannel::log(const Poco::Message& msg)
{
ApacheConnector::log(msg.getSource().c_str(), 0, msg.getPriority(), 0, msg.getText().c_str());
}

View File

@ -0,0 +1,309 @@
//
// ApacheConnector.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheConnector.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheConnector.h"
#include "ApacheApplication.h"
#include "ApacheServerRequest.h"
#include "ApacheServerResponse.h"
#include "ApacheRequestHandlerFactory.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include <memory>
#include "httpd.h"
#include "http_connection.h"
#include "http_config.h"
#include "http_core.h"
#include "http_protocol.h"
#include "http_log.h"
#include "apr.h"
#include "apr_lib.h"
#include "apr_strings.h"
#include "apr_buckets.h"
#include "apr_file_info.h"
#include "apr_hash.h"
#define APR_WANT_STRFUNC
#include "apr_want.h"
#include "http_request.h"
#include "util_filter.h"
using Poco::Net::HTTPServerRequest;
using Poco::Net::HTTPServerResponse;
using Poco::Net::HTTPRequestHandler;
using Poco::Net::HTTPResponse;
extern "C" module AP_MODULE_DECLARE_DATA poco_module;
ApacheRequestRec::ApacheRequestRec(request_rec* pRec):
_pRec(pRec)
{
}
bool ApacheRequestRec::haveRequestBody()
{
return ap_should_client_block(_pRec) != 0;
}
int ApacheRequestRec::readRequest(char* buffer, int length)
{
return ap_get_client_block(_pRec, buffer, length);
}
void ApacheRequestRec::writeResponse(const char* buffer, int length)
{
ap_rwrite(buffer, length, _pRec);
}
void ApacheRequestRec::redirect(const std::string& uri, int status)
{
apr_table_set(_pRec->headers_out, "Location", uri.c_str());
_pRec->connection->keepalive = AP_CONN_CLOSE;
_pRec->status = status;
ap_set_keepalive(_pRec);
ap_send_error_response(_pRec, 0);
}
void ApacheRequestRec::sendErrorResponse(int status)
{
_pRec->connection->keepalive = AP_CONN_CLOSE;
_pRec->status = status;
ap_set_keepalive(_pRec);
ap_send_error_response(_pRec, 0);
}
void ApacheRequestRec::addHeader(const std::string& key, const std::string& value)
{
const apr_array_header_t *arr = apr_table_elts(_pRec->headers_out);
apr_table_add(const_cast<apr_table_t*>(reinterpret_cast<const apr_table_t*>(arr)), key.c_str(), value.c_str());
}
void ApacheRequestRec::setContentType(const std::string& mediaType)
{
ap_set_content_type(_pRec, mediaType.c_str());
}
int ApacheRequestRec::sendFile(const std::string& path, unsigned int fileSize, const std::string& mediaType)
{
apr_file_t *thefile = 0;
apr_finfo_t finfo;
apr_size_t nBytes;
// setting content-type
ap_set_content_type(_pRec, mediaType.c_str());
// opening file
if (apr_file_open(&thefile, path.c_str(), APR_READ, APR_UREAD | APR_GREAD, _pRec->pool) == APR_SUCCESS)
{
// getting fileinfo
apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
// setting last-updated & co
ap_update_mtime(_pRec, finfo.mtime);
ap_set_last_modified(_pRec);
ap_set_content_length(_pRec, fileSize);
// sending file
ap_send_fd(thefile, _pRec, 0, fileSize, &nBytes);
// well done
return 0;
}
// file not opened successfully -> produce an exception in C++ code
return 1;
}
void ApacheRequestRec::copyHeaders(ApacheServerRequest& request)
{
const apr_array_header_t* arr = apr_table_elts(_pRec->headers_in);
const apr_table_entry_t* elts = (const apr_table_entry_t *)arr->elts;
request.setMethod(_pRec->method);
request.setURI(_pRec->unparsed_uri);
// iterating over raw-headers and printing them
for (int i = 0; i < arr->nelts; i++)
{
request.add(elts[i].key, elts[i].val);
}
}
void ApacheConnector::log(const char* file, int line, int level, int status, const char *text)
{
ap_log_error(file, line, level, 0, NULL, "%s", text);
}
extern "C" int ApacheConnector_handler(request_rec *r)
{
ApacheRequestRec rec(r);
ApacheApplication& app(ApacheApplication::instance());
try
{
// ensure application is ready
app.setup();
// if the ApacheRequestHandler declines handling - we stop
// request handling here and let other modules do their job!
if (!app.factory().mustHandle(r->uri))
return DECLINED;
apr_status_t rv;
if ((rv = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)))
return rv;
std::auto_ptr<ApacheServerRequest> pRequest(new ApacheServerRequest(
&rec,
r->connection->local_ip,
r->connection->local_addr->port,
r->connection->remote_ip,
r->connection->remote_addr->port));
std::auto_ptr<ApacheServerResponse> pResponse(new ApacheServerResponse(pRequest.get()));
// add header information to request
rec.copyHeaders(*pRequest);
try
{
std::auto_ptr<HTTPRequestHandler> pHandler(app.factory().createRequestHandler(*pRequest));
if (pHandler.get())
{
pHandler->handleRequest(*pRequest, *pResponse);
}
else
{
pResponse->sendErrorResponse(HTTP_NOT_IMPLEMENTED);
}
}
catch (...)
{
pResponse->sendErrorResponse(HTTP_INTERNAL_SERVER_ERROR);
throw;
}
}
catch (Poco::Exception& exc)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, exc.displayText().c_str());
}
catch (...)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, "Unknown exception");
}
return OK;
}
extern "C" void ApacheConnector_register_hooks(apr_pool_t *p)
{
ap_hook_handler(ApacheConnector_handler, NULL, NULL, APR_HOOK_MIDDLE);
}
extern "C" const char* ApacheConnector_uris(cmd_parms *cmd, void *in_dconf, const char *in_str)
{
try
{
ApacheApplication::instance().factory().handleURIs(in_str);
}
catch (Poco::Exception& exc)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, exc.displayText().c_str());
}
catch (...)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, "Unknown exception");
}
return 0;
}
extern "C" const char* ApacheConnector_config(cmd_parms *cmd, void *in_dconf, const char *in_str)
{
try
{
ApacheApplication::instance().loadConfiguration(in_str);
}
catch (Poco::Exception& exc)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, exc.displayText().c_str());
}
catch (...)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, "Unknown exception");
}
return 0;
}
extern "C" const command_rec ApacheConnector_cmds[] =
{
AP_INIT_RAW_ARGS(
"AddPocoRequestHandler",
reinterpret_cast<cmd_func>(ApacheConnector_uris),
NULL,
RSRC_CONF,
"POCO RequestHandlerFactory class name followed by shared library path followed by a list of ' ' separated URIs that must be handled by this module."),
AP_INIT_RAW_ARGS(
"AddPocoConfig",
reinterpret_cast<cmd_func>(ApacheConnector_config),
NULL,
RSRC_CONF,
"Path of the POCO configuration file."),
{ NULL }
};
module AP_MODULE_DECLARE_DATA poco_module =
{
STANDARD20_MODULE_STUFF,
NULL,
NULL,
NULL,
NULL,
ApacheConnector_cmds,
ApacheConnector_register_hooks
};

View File

@ -0,0 +1,136 @@
//
// ApacheRequestHandlerFactory.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheRequestHandlerFactory.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheRequestHandlerFactory.h"
#include "ApacheConnector.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/StringTokenizer.h"
#include "Poco/Manifest.h"
#include "Poco/File.h"
#include <vector>
using Poco::StringTokenizer;
using Poco::FastMutex;
ApacheRequestHandlerFactory::ApacheRequestHandlerFactory()
{
}
ApacheRequestHandlerFactory::~ApacheRequestHandlerFactory()
{
}
Poco::Net::HTTPRequestHandler* ApacheRequestHandlerFactory::createRequestHandler(const Poco::Net::HTTPServerRequest& request)
{
FastMutex::ScopedLock lock(_mutex);
// only if the given uri is found in _uris we are
// handling this request.
RequestHandlerFactories::iterator it = _requestHandlers.begin();
RequestHandlerFactories::iterator itEnd = _requestHandlers.end();
std::string uri = request.getURI();
// if any uri in our map is found at the beginning of the given
// uri -> then we handle it!!
for (; it != itEnd; it++)
{
if (uri.find(it->first) == 0 || it->first.find(uri) == 0)
{
return it->second->createRequestHandler(request);
}
}
return 0;
}
void ApacheRequestHandlerFactory::handleURIs(const std::string& uris)
{
FastMutex::ScopedLock lock(_mutex);
StringTokenizer st(uris, " ", StringTokenizer::TOK_TRIM);
StringTokenizer::Iterator it = st.begin();
StringTokenizer::Iterator itEnd = st.end();
std::string factoryName = (*it);
it++;
std::string dllName = (*it);
it++;
for (; it != itEnd; it++)
{
addRequestHandlerFactory(dllName, factoryName, *it);
}
}
void ApacheRequestHandlerFactory::addRequestHandlerFactory(const std::string& dllPath, const std::string& factoryName, const std::string& uri)
{
try
{
_loader.loadLibrary(dllPath);
Poco::Net::HTTPRequestHandlerFactory* pFactory = _loader.classFor(factoryName).create();
_requestHandlers.insert(std::make_pair(uri, pFactory));
}
catch (Poco::Exception& exc)
{
ApacheConnector::log(__FILE__, __LINE__, ApacheConnector::PRIO_ERROR, 0, exc.displayText().c_str());
}
}
bool ApacheRequestHandlerFactory::mustHandle(const std::string& uri)
{
FastMutex::ScopedLock lock(_mutex);
// only if the given uri is found in _uris we are
// handling this request.
RequestHandlerFactories::iterator it = _requestHandlers.begin();
RequestHandlerFactories::iterator itEnd = _requestHandlers.end();
// if any uri in our map is found at the beginning of the given
// uri -> then we handle it!!
for (; it != itEnd; it++)
{
// dealing with both cases:
// handler is registered with: /download
// uri: /download/xyz
// uri: /download
if (uri.find(it->first) == 0 || it->first.find(uri) == 0)
return true;
}
return false;
}

View File

@ -0,0 +1,82 @@
//
// ApacheServerRequest.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheServerRequest.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheServerRequest.h"
#include "ApacheServerResponse.h"
#include "ApacheRequestHandlerFactory.h"
#include "Poco/Exception.h"
#include <set>
ApacheServerRequest::ApacheServerRequest(
ApacheRequestRec* pApacheRequest,
const char* serverName,
int serverPort,
const char* clientName,
int clientPort):
_pApacheRequest(pApacheRequest),
_pResponse(0),
_pStream(new ApacheInputStream(_pApacheRequest)),
_serverAddress(serverName, serverPort),
_clientAddress(clientName, clientPort)
{
}
ApacheServerRequest::~ApacheServerRequest()
{
delete _pStream;
}
const Poco::Net::HTTPServerParams& ApacheServerRequest::serverParams() const
{
throw Poco::NotImplementedException("No HTTPServerParams available in Apache modules.");
}
Poco::Net::HTTPServerResponse& ApacheServerRequest::response() const
{
return *_pResponse;
}
void ApacheServerRequest::setResponse(ApacheServerResponse* pResponse)
{
_pResponse = pResponse;
}
bool ApacheServerRequest::expectContinue() const
{
return false;
}

View File

@ -0,0 +1,151 @@
//
// ApacheServerResponse.cpp
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheServerResponse.cpp#3 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheServerResponse.h"
#include "ApacheServerRequest.h"
#include "ApacheStream.h"
#include "ApacheConnector.h"
#include "Poco/Net/HTTPCookie.h"
#include "Poco/File.h"
#include "Poco/Exception.h"
#include <fstream>
#include <vector>
using Poco::File;
using Poco::OpenFileException;
using Poco::Net::HTTPCookie;
ApacheServerResponse::ApacheServerResponse(ApacheServerRequest* pRequest):
_pStream(0),
_pApacheRequest(pRequest->_pApacheRequest)
{
setVersion(pRequest->getVersion());
setKeepAlive(pRequest->getKeepAlive());
pRequest->setResponse(this);
}
ApacheServerResponse::~ApacheServerResponse()
{
delete _pStream;
}
void ApacheServerResponse::initApacheOutputStream()
{
poco_assert (!_pStream);
_pApacheRequest->setContentType(getContentType());
std::vector<HTTPCookie> cookies;
getCookies(cookies);
std::size_t cnt = cookies.size();
for (int c = 0; c < cnt; c++)
{
_pApacheRequest->addHeader("Set-Cookie", cookies[c].toString());
}
_pStream = new ApacheOutputStream(_pApacheRequest);
}
void ApacheServerResponse::sendContinue()
{
// should be handled by Apache
}
std::ostream& ApacheServerResponse::send()
{
poco_assert (!_pStream);
initApacheOutputStream();
return *_pStream;
}
void ApacheServerResponse::sendFile(const std::string& path, const std::string& mediaType)
{
poco_assert (!_pStream);
initApacheOutputStream();
File f(path);
if (_pApacheRequest->sendFile(path, static_cast<unsigned int>(f.getSize()), mediaType) != 0)
throw OpenFileException(path);
}
void ApacheServerResponse::sendBuffer(const void* pBuffer, std::size_t length)
{
poco_assert (!_pStream);
initApacheOutputStream();
_pStream->write(static_cast<const char*>(pBuffer), static_cast<std::streamsize>(length));
}
void ApacheServerResponse::redirect(const std::string& uri, HTTPStatus status)
{
poco_assert (!_pStream);
initApacheOutputStream();
try
{
_pApacheRequest->redirect(uri, status);
}
catch (Poco::Exception&)
{
ApacheConnector::log(__FILE__, __LINE__, 7 , 0, "caught exception in ApacheServerResponse::redirect - ignoring\n");
}
}
void ApacheServerResponse::sendErrorResponse(int status)
{
initApacheOutputStream();
_pApacheRequest->sendErrorResponse(status);
}
void ApacheServerResponse::requireAuthentication(const std::string& realm)
{
// should be handled by Apache
}

View File

@ -0,0 +1,142 @@
//
// ApacheStream.h
//
// $Id: //poco/1.4/ApacheConnector/src/ApacheStream.cpp#2 $
//
// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "ApacheStream.h"
#include "ApacheConnector.h"
#include "Poco/Exception.h"
using Poco::BufferedStreamBuf;
//
// ApacheStreamBuf
//
ApacheStreamBuf::ApacheStreamBuf(ApacheRequestRec* pApacheRequest, bool haveData):
BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in | std::ios::out),
_pApacheRequest(pApacheRequest),
_haveData(haveData)
{
}
ApacheStreamBuf::~ApacheStreamBuf()
{
}
int ApacheStreamBuf::readFromDevice(char* buffer, std::streamsize len)
{
if (_haveData)
return _pApacheRequest->readRequest(buffer, static_cast<int>(len));
else
return 0;
}
int ApacheStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
{
_pApacheRequest->writeResponse(buffer, length);
return length;
}
//
// ApacheIOS
//
ApacheIOS::ApacheIOS(ApacheRequestRec* pApacheRequest, bool haveData):
_buf(pApacheRequest, haveData)
{
poco_ios_init(&_buf);
}
ApacheIOS::~ApacheIOS()
{
try
{
_buf.sync();
}
catch (...)
{
}
}
ApacheStreamBuf* ApacheIOS::rdbuf()
{
return &_buf;
}
void ApacheIOS::close()
{
_buf.sync();
}
//
// ApacheOutputStream
//
ApacheOutputStream::ApacheOutputStream(ApacheRequestRec* pApacheRequest):
ApacheIOS(pApacheRequest),
std::ostream(&_buf)
{
}
ApacheOutputStream::~ApacheOutputStream()
{
}
//
// ApacheInputStream
//
ApacheInputStream::ApacheInputStream(ApacheRequestRec* pApacheRequest):
ApacheIOS(pApacheRequest, pApacheRequest->haveRequestBody()),
std::istream(&_buf)
{
}
ApacheInputStream::~ApacheInputStream()
{
}

1695
CHANGELOG Normal file

File diff suppressed because it is too large Load Diff

26
CONTRIBUTORS Normal file
View File

@ -0,0 +1,26 @@
Guenter Obiltschnig <guenter.obiltschnig@appinf.com>
Alex Fabijanic <alex@pocoproject.org>
Peter Schojer <peter.schojer@appinf.com>
Ferdinand Beyer <fbeyer@users.sourceforge.net>
Krzysztof Burghardt <burghardt@users.sourceforge.net>
Claus Dabringer <claus.dabringer@appinf.com>
Caleb Epstein <caleb.epstein@gmail.com>
Eran Hammer-Lahav <therazorblade@users.sourceforge.net>
Chris Johnson <devcjohnson@gmail.com>
Sergey Kholodilov <serghol@gmail.com>
Ryan Kraay <rkraay@users.sourceforge.net>
Larry Lewis <lewislp@users.sourceforge.net>
Andrew J. P. Maclean <a.maclean@optusnet.com.au>
Andrew Marlow <public@marlowa.plus.com>
Paschal Mushubi <mushubi@sympatico.ca>
Jiang Shan <pasorobo@users.sourceforge.net>
David Shawley <boredc0der@users.sourceforge.net>
Sergey Skorokhodov <ryppka@users.sourceforge.net>
Tom Tan <>
Sergey N. Yatskevich <snc@begun.ru>
Marc Chevrier
Philippe Cuvillier
Marian Krivos
--
$Id: //poco/1.4/dist/CONTRIBUTORS#2 $

View File

@ -0,0 +1,17 @@
vc.project.guid = C77B9D92-EC91-11DA-A4CE-005056C00008
vc.project.name = CppParser
vc.project.target = Poco${vc.project.name}
vc.project.type = library
vc.project.pocobase = ..
vc.project.outdir = ${vc.project.pocobase}
vc.project.platforms = Win32, x64
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = CppParser_vs90.vcproj
vc.project.compiler.include = ..\\Foundation\\include
vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
vc.project.linker.dependencies =
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite

View File

@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>CppParser</ProjectName>
<ProjectGuid>{C77B9D92-EC91-11DA-A4CE-005056C00008}</ProjectGuid>
<RootNamespace>CppParser</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">PocoCppParserd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">PocoCppParsermdd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">PocoCppParsermtd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">PocoCppParser</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">PocoCppParsermd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">PocoCppParsermt</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\PocoCppParserd.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin\PocoCppParserd.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib\PocoCppParserd.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\PocoCppParser.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib\PocoCppParser.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoCppParsermtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoCppParsermtd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoCppParsermt.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoCppParsermdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoCppParsermdd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoCppParsermd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\lib\PocoCppParsermd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\CppParser\CppParser.h"/>
<ClInclude Include="include\Poco\CppParser\CppToken.h"/>
<ClInclude Include="include\Poco\CppParser\Parser.h"/>
<ClInclude Include="include\Poco\CppParser\Tokenizer.h"/>
<ClInclude Include="include\Poco\CppParser\Utility.h"/>
<ClInclude Include="include\Poco\CppParser\Decl.h"/>
<ClInclude Include="include\Poco\CppParser\Enum.h"/>
<ClInclude Include="include\Poco\CppParser\EnumValue.h"/>
<ClInclude Include="include\Poco\CppParser\Function.h"/>
<ClInclude Include="include\Poco\CppParser\NameSpace.h"/>
<ClInclude Include="include\Poco\CppParser\Parameter.h"/>
<ClInclude Include="include\Poco\CppParser\Struct.h"/>
<ClInclude Include="include\Poco\CppParser\Symbol.h"/>
<ClInclude Include="include\Poco\CppParser\TypeDef.h"/>
<ClInclude Include="include\Poco\CppParser\Variable.h"/>
<ClInclude Include="include\Poco\CppParser\Attributes.h"/>
<ClInclude Include="include\Poco\CppParser\AttributesParser.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CppToken.cpp"/>
<ClCompile Include="src\Parser.cpp"/>
<ClCompile Include="src\Tokenizer.cpp"/>
<ClCompile Include="src\Utility.cpp"/>
<ClCompile Include="src\Decl.cpp"/>
<ClCompile Include="src\Enum.cpp"/>
<ClCompile Include="src\EnumValue.cpp"/>
<ClCompile Include="src\Function.cpp"/>
<ClCompile Include="src\NameSpace.cpp"/>
<ClCompile Include="src\Parameter.cpp"/>
<ClCompile Include="src\Struct.cpp"/>
<ClCompile Include="src\Symbol.cpp"/>
<ClCompile Include="src\TypeDef.cpp"/>
<ClCompile Include="src\Variable.cpp"/>
<ClCompile Include="src\Attributes.cpp"/>
<ClCompile Include="src\AttributesParser.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="CppParser">
<UniqueIdentifier>{fe377055-0525-44e6-acc7-8d7b1f6c3eab}</UniqueIdentifier>
</Filter>
<Filter Include="CppParser\Header Files">
<UniqueIdentifier>{217c0ad9-ad83-4781-9937-3cd83b413b56}</UniqueIdentifier>
</Filter>
<Filter Include="CppParser\Source Files">
<UniqueIdentifier>{3952c193-998f-4899-bbd1-3fdd17661c10}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table">
<UniqueIdentifier>{b956ea7f-4ced-4a5f-9e27-ed5236d5aad4}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table\Header Files">
<UniqueIdentifier>{c2c26550-40a8-4cee-9f8f-d9e18530d4ba}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table\Source Files">
<UniqueIdentifier>{2422599c-57fd-475a-9fda-4a981d3645f3}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes">
<UniqueIdentifier>{aa2c1c4c-dbf1-4818-aeeb-d5d8b82d7f77}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes\Header Files">
<UniqueIdentifier>{4ec2c692-a128-4bae-8906-3b341dfc867e}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes\Source Files">
<UniqueIdentifier>{778a11b1-307d-4120-af80-2af792b2699a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\CppParser\CppParser.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\CppToken.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Parser.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Tokenizer.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Utility.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Decl.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Enum.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\EnumValue.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Function.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\NameSpace.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Parameter.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Struct.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Symbol.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\TypeDef.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Variable.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Attributes.h">
<Filter>Attributes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\AttributesParser.h">
<Filter>Attributes\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CppToken.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Parser.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Tokenizer.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Utility.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Decl.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Enum.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\EnumValue.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Function.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\NameSpace.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Parameter.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Struct.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Symbol.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TypeDef.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Variable.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Attributes.cpp">
<Filter>Attributes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\AttributesParser.cpp">
<Filter>Attributes\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,50 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs71.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs71.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
debug_shared = debug_shared
release_shared = release_shared
debug_static_mt = debug_static_mt
release_static_mt = release_static_mt
debug_static_md = debug_static_md
release_static_md = release_static_md
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.ActiveCfg = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared.Build.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.ActiveCfg = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared.Build.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.ActiveCfg = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt.Build.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.ActiveCfg = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt.Build.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.ActiveCfg = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md.Build.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.ActiveCfg = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md.Build.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,458 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="CppParser"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{C77B9D92-EC91-11DA-A4CE-005056C00008}"
RootNamespace="CppParser"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParserd.dll"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="..\bin\PocoCppParserd.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoCppParserd.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParser.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="FALSE"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\PocoCppParser.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="..\lib\PocoCppParsermtd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermtd.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="0"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermt.lib"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="debug_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="TRUE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="TRUE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="..\lib\PocoCppParsermdd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermdd.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="release_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="TRUE"
FavorSizeOrSpeed="1"
OmitFramePointers="TRUE"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
BufferSecurityCheck="FALSE"
TreatWChar_tAsBuiltInType="TRUE"
ForceConformanceInForLoopScope="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
ObjectFile="$(IntDir)\"
ProgramDataBaseFileName="$(IntDir)\vc70.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings="4800;"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermd.lib"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="CppParser">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\CppParser.h"/>
<File
RelativePath=".\include\Poco\CppParser\CppToken.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parser.h"/>
<File
RelativePath=".\include\Poco\CppParser\Tokenizer.h"/>
<File
RelativePath=".\include\Poco\CppParser\Utility.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\CppToken.cpp"/>
<File
RelativePath=".\src\Parser.cpp"/>
<File
RelativePath=".\src\Tokenizer.cpp"/>
<File
RelativePath=".\src\Utility.cpp"/>
</Filter>
</Filter>
<Filter
Name="Symbol Table">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Decl.h"/>
<File
RelativePath=".\include\Poco\CppParser\Enum.h"/>
<File
RelativePath=".\include\Poco\CppParser\EnumValue.h"/>
<File
RelativePath=".\include\Poco\CppParser\Function.h"/>
<File
RelativePath=".\include\Poco\CppParser\NameSpace.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parameter.h"/>
<File
RelativePath=".\include\Poco\CppParser\Struct.h"/>
<File
RelativePath=".\include\Poco\CppParser\Symbol.h"/>
<File
RelativePath=".\include\Poco\CppParser\TypeDef.h"/>
<File
RelativePath=".\include\Poco\CppParser\Variable.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Decl.cpp"/>
<File
RelativePath=".\src\Enum.cpp"/>
<File
RelativePath=".\src\EnumValue.cpp"/>
<File
RelativePath=".\src\Function.cpp"/>
<File
RelativePath=".\src\NameSpace.cpp"/>
<File
RelativePath=".\src\Parameter.cpp"/>
<File
RelativePath=".\src\Struct.cpp"/>
<File
RelativePath=".\src\Symbol.cpp"/>
<File
RelativePath=".\src\TypeDef.cpp"/>
<File
RelativePath=".\src\Variable.cpp"/>
</Filter>
</Filter>
<Filter
Name="Attributes">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Attributes.h"/>
<File
RelativePath=".\include\Poco\CppParser\AttributesParser.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Attributes.cpp"/>
<File
RelativePath=".\src\AttributesParser.cpp"/>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs80.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs80.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,479 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="CppParser"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{C77B9D92-EC91-11DA-A4CE-005056C00008}"
RootNamespace="CppParser"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParserd.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\PocoCppParserd.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoCppParserd.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParser.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib\PocoCppParser.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib\PocoCppParsermtd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermtd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="0"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermt.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib\PocoCppParsermdd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermdd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="CppParser">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\CppParser.h"/>
<File
RelativePath=".\include\Poco\CppParser\CppToken.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parser.h"/>
<File
RelativePath=".\include\Poco\CppParser\Tokenizer.h"/>
<File
RelativePath=".\include\Poco\CppParser\Utility.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\CppToken.cpp"/>
<File
RelativePath=".\src\Parser.cpp"/>
<File
RelativePath=".\src\Tokenizer.cpp"/>
<File
RelativePath=".\src\Utility.cpp"/>
</Filter>
</Filter>
<Filter
Name="Symbol Table">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Decl.h"/>
<File
RelativePath=".\include\Poco\CppParser\Enum.h"/>
<File
RelativePath=".\include\Poco\CppParser\EnumValue.h"/>
<File
RelativePath=".\include\Poco\CppParser\Function.h"/>
<File
RelativePath=".\include\Poco\CppParser\NameSpace.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parameter.h"/>
<File
RelativePath=".\include\Poco\CppParser\Struct.h"/>
<File
RelativePath=".\include\Poco\CppParser\Symbol.h"/>
<File
RelativePath=".\include\Poco\CppParser\TypeDef.h"/>
<File
RelativePath=".\include\Poco\CppParser\Variable.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Decl.cpp"/>
<File
RelativePath=".\src\Enum.cpp"/>
<File
RelativePath=".\src\EnumValue.cpp"/>
<File
RelativePath=".\src\Function.cpp"/>
<File
RelativePath=".\src\NameSpace.cpp"/>
<File
RelativePath=".\src\Parameter.cpp"/>
<File
RelativePath=".\src\Struct.cpp"/>
<File
RelativePath=".\src\Symbol.cpp"/>
<File
RelativePath=".\src\TypeDef.cpp"/>
<File
RelativePath=".\src\Variable.cpp"/>
</Filter>
</Filter>
<Filter
Name="Attributes">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Attributes.h"/>
<File
RelativePath=".\include\Poco\CppParser\AttributesParser.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Attributes.cpp"/>
<File
RelativePath=".\src\AttributesParser.cpp"/>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Build.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.ActiveCfg = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Build.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|Win32.Deploy.0 = release_shared|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Build.0 = release_static_md|Win32
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,478 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="CppParser"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{C77B9D92-EC91-11DA-A4CE-005056C00008}"
RootNamespace="CppParser"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParserd.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\PocoCppParserd.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoCppParserd.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin\PocoCppParser.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\PocoCppParser.lib"
TargetMachine="1"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib\PocoCppParsermtd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermtd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="0"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermt.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib\PocoCppParsermdd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermdd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib\PocoCppParsermd.lib"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="CppParser">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\CppParser.h"/>
<File
RelativePath=".\include\Poco\CppParser\CppToken.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parser.h"/>
<File
RelativePath=".\include\Poco\CppParser\Tokenizer.h"/>
<File
RelativePath=".\include\Poco\CppParser\Utility.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\CppToken.cpp"/>
<File
RelativePath=".\src\Parser.cpp"/>
<File
RelativePath=".\src\Tokenizer.cpp"/>
<File
RelativePath=".\src\Utility.cpp"/>
</Filter>
</Filter>
<Filter
Name="Symbol Table">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Decl.h"/>
<File
RelativePath=".\include\Poco\CppParser\Enum.h"/>
<File
RelativePath=".\include\Poco\CppParser\EnumValue.h"/>
<File
RelativePath=".\include\Poco\CppParser\Function.h"/>
<File
RelativePath=".\include\Poco\CppParser\NameSpace.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parameter.h"/>
<File
RelativePath=".\include\Poco\CppParser\Struct.h"/>
<File
RelativePath=".\include\Poco\CppParser\Symbol.h"/>
<File
RelativePath=".\include\Poco\CppParser\TypeDef.h"/>
<File
RelativePath=".\include\Poco\CppParser\Variable.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Decl.cpp"/>
<File
RelativePath=".\src\Enum.cpp"/>
<File
RelativePath=".\src\EnumValue.cpp"/>
<File
RelativePath=".\src\Function.cpp"/>
<File
RelativePath=".\src\NameSpace.cpp"/>
<File
RelativePath=".\src\Parameter.cpp"/>
<File
RelativePath=".\src\Struct.cpp"/>
<File
RelativePath=".\src\Symbol.cpp"/>
<File
RelativePath=".\src\TypeDef.cpp"/>
<File
RelativePath=".\src\Variable.cpp"/>
</Filter>
</Filter>
<Filter
Name="Attributes">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Attributes.h"/>
<File
RelativePath=".\include\Poco\CppParser\AttributesParser.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Attributes.cpp"/>
<File
RelativePath=".\src\AttributesParser.cpp"/>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs100.vcxproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs100.vcxproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
debug_static_mt|x64 = debug_static_mt|x64
release_static_mt|x64 = release_static_mt|x64
debug_static_md|x64 = debug_static_md|x64
release_static_md|x64 = release_static_md|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>CppParser</ProjectName>
<ProjectGuid>{C77B9D92-EC91-11DA-A4CE-005056C00008}</ProjectGuid>
<RootNamespace>CppParser</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">PocoCppParser64d</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">PocoCppParsermdd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">PocoCppParsermtd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">PocoCppParser64</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">PocoCppParsermd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">PocoCppParsermt</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\PocoCppParser64d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin64\PocoCppParser64d.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib64\PocoCppParserd.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\PocoCppParser64.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib64\PocoCppParser.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib64\PocoCppParsermtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoCppParsermtd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoCppParsermt.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib64\PocoCppParsermdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoCppParsermdd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoCppParsermd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\CppParser\CppParser.h"/>
<ClInclude Include="include\Poco\CppParser\CppToken.h"/>
<ClInclude Include="include\Poco\CppParser\Parser.h"/>
<ClInclude Include="include\Poco\CppParser\Tokenizer.h"/>
<ClInclude Include="include\Poco\CppParser\Utility.h"/>
<ClInclude Include="include\Poco\CppParser\Decl.h"/>
<ClInclude Include="include\Poco\CppParser\Enum.h"/>
<ClInclude Include="include\Poco\CppParser\EnumValue.h"/>
<ClInclude Include="include\Poco\CppParser\Function.h"/>
<ClInclude Include="include\Poco\CppParser\NameSpace.h"/>
<ClInclude Include="include\Poco\CppParser\Parameter.h"/>
<ClInclude Include="include\Poco\CppParser\Struct.h"/>
<ClInclude Include="include\Poco\CppParser\Symbol.h"/>
<ClInclude Include="include\Poco\CppParser\TypeDef.h"/>
<ClInclude Include="include\Poco\CppParser\Variable.h"/>
<ClInclude Include="include\Poco\CppParser\Attributes.h"/>
<ClInclude Include="include\Poco\CppParser\AttributesParser.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CppToken.cpp"/>
<ClCompile Include="src\Parser.cpp"/>
<ClCompile Include="src\Tokenizer.cpp"/>
<ClCompile Include="src\Utility.cpp"/>
<ClCompile Include="src\Decl.cpp"/>
<ClCompile Include="src\Enum.cpp"/>
<ClCompile Include="src\EnumValue.cpp"/>
<ClCompile Include="src\Function.cpp"/>
<ClCompile Include="src\NameSpace.cpp"/>
<ClCompile Include="src\Parameter.cpp"/>
<ClCompile Include="src\Struct.cpp"/>
<ClCompile Include="src\Symbol.cpp"/>
<ClCompile Include="src\TypeDef.cpp"/>
<ClCompile Include="src\Variable.cpp"/>
<ClCompile Include="src\Attributes.cpp"/>
<ClCompile Include="src\AttributesParser.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="CppParser">
<UniqueIdentifier>{19215921-761d-464e-af27-28d7c93a63f2}</UniqueIdentifier>
</Filter>
<Filter Include="CppParser\Header Files">
<UniqueIdentifier>{c2372101-9da3-4395-a2f0-7468d31e32f3}</UniqueIdentifier>
</Filter>
<Filter Include="CppParser\Source Files">
<UniqueIdentifier>{63b47522-0c86-4023-a401-9cb9a667725a}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table">
<UniqueIdentifier>{036225b5-e214-42dc-bde5-8106bcdd1750}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table\Header Files">
<UniqueIdentifier>{e415005a-799a-477c-b4fa-135a9aacac35}</UniqueIdentifier>
</Filter>
<Filter Include="Symbol Table\Source Files">
<UniqueIdentifier>{f9df1cea-79ac-415a-b540-7e6d6a8049ef}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes">
<UniqueIdentifier>{841b696e-ac52-444a-86f5-e39516c8048b}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes\Header Files">
<UniqueIdentifier>{175f1410-2e70-4d6f-9ade-092ed4060be9}</UniqueIdentifier>
</Filter>
<Filter Include="Attributes\Source Files">
<UniqueIdentifier>{35e35cae-d099-414e-bb49-70b4b3cb956a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\CppParser\CppParser.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\CppToken.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Parser.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Tokenizer.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Utility.h">
<Filter>CppParser\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Decl.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Enum.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\EnumValue.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Function.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\NameSpace.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Parameter.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Struct.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Symbol.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\TypeDef.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Variable.h">
<Filter>Symbol Table\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\Attributes.h">
<Filter>Attributes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\CppParser\AttributesParser.h">
<Filter>Attributes\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CppToken.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Parser.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Tokenizer.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Utility.cpp">
<Filter>CppParser\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Decl.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Enum.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\EnumValue.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Function.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\NameSpace.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Parameter.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Struct.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Symbol.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TypeDef.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Variable.cpp">
<Filter>Symbol Table\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Attributes.cpp">
<Filter>Attributes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\AttributesParser.cpp">
<Filter>Attributes\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CppParser", "CppParser_x64_vs90.vcproj", "{C77B9D92-EC91-11DA-A4CE-005056C00008}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs90.vcproj", "{C79112BD-EC91-11DA-A4CE-005056C00008}"
ProjectSection(ProjectDependencies) = postProject
{C77B9D92-EC91-11DA-A4CE-005056C00008} = {C77B9D92-EC91-11DA-A4CE-005056C00008}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
debug_static_mt|x64 = debug_static_mt|x64
release_static_mt|x64 = release_static_mt|x64
debug_static_md|x64 = debug_static_md|x64
release_static_md|x64 = release_static_md|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64
{C77B9D92-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.ActiveCfg = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Build.0 = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_shared|x64.Deploy.0 = debug_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.ActiveCfg = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Build.0 = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_shared|x64.Deploy.0 = release_shared|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Build.0 = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Build.0 = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.ActiveCfg = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Build.0 = release_static_md|x64
{C79112BD-EC91-11DA-A4CE-005056C00008}.release_static_md|x64.Deploy.0 = release_static_md|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,483 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="CppParser"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{C77B9D92-EC91-11DA-A4CE-005056C00008}"
RootNamespace="CppParser"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="x64"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin64\PocoCppParser64d.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin64\PocoCppParser64d.pdb"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
ImportLibrary="..\lib64\PocoCppParserd.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CppParser_EXPORTS"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="..\bin64\PocoCppParser64.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib64\PocoCppParser.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib64\PocoCppParsermtd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib64\PocoCppParsermtd.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_mt|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="0"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib64\PocoCppParsermt.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_md|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
ProgramDataBaseFileName="..\lib64\PocoCppParsermdd.pdb"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib64\PocoCppParsermdd.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_md|x64"
OutputDirectory="obj64\$(ConfigurationName)"
IntermediateDirectory="obj64\$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories=".\include;..\Foundation\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\lib64\PocoCppParsermd.lib"
TargetMachine="17"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="CppParser">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\CppParser.h"/>
<File
RelativePath=".\include\Poco\CppParser\CppToken.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parser.h"/>
<File
RelativePath=".\include\Poco\CppParser\Tokenizer.h"/>
<File
RelativePath=".\include\Poco\CppParser\Utility.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\CppToken.cpp"/>
<File
RelativePath=".\src\Parser.cpp"/>
<File
RelativePath=".\src\Tokenizer.cpp"/>
<File
RelativePath=".\src\Utility.cpp"/>
</Filter>
</Filter>
<Filter
Name="Symbol Table">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Decl.h"/>
<File
RelativePath=".\include\Poco\CppParser\Enum.h"/>
<File
RelativePath=".\include\Poco\CppParser\EnumValue.h"/>
<File
RelativePath=".\include\Poco\CppParser\Function.h"/>
<File
RelativePath=".\include\Poco\CppParser\NameSpace.h"/>
<File
RelativePath=".\include\Poco\CppParser\Parameter.h"/>
<File
RelativePath=".\include\Poco\CppParser\Struct.h"/>
<File
RelativePath=".\include\Poco\CppParser\Symbol.h"/>
<File
RelativePath=".\include\Poco\CppParser\TypeDef.h"/>
<File
RelativePath=".\include\Poco\CppParser\Variable.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Decl.cpp"/>
<File
RelativePath=".\src\Enum.cpp"/>
<File
RelativePath=".\src\EnumValue.cpp"/>
<File
RelativePath=".\src\Function.cpp"/>
<File
RelativePath=".\src\NameSpace.cpp"/>
<File
RelativePath=".\src\Parameter.cpp"/>
<File
RelativePath=".\src\Struct.cpp"/>
<File
RelativePath=".\src\Symbol.cpp"/>
<File
RelativePath=".\src\TypeDef.cpp"/>
<File
RelativePath=".\src\Variable.cpp"/>
</Filter>
</Filter>
<Filter
Name="Attributes">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\CppParser\Attributes.h"/>
<File
RelativePath=".\include\Poco\CppParser\AttributesParser.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\Attributes.cpp"/>
<File
RelativePath=".\src\AttributesParser.cpp"/>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

21
CppParser/Makefile Normal file
View File

@ -0,0 +1,21 @@
#
# Makefile
#
# $Id: //poco/1.3/CppParser/Makefile#1 $
#
# Makefile for Poco CppParser
#
include $(POCO_BASE)/build/rules/global
SHAREDOPT_CXX += -DCppParser_EXPORTS
objects = CppToken Decl Enum EnumValue Function NameSpace Parameter \
Parser Struct Symbol Tokenizer TypeDef Utility Variable \
Attributes AttributesParser
target = PocoCppParser
target_version = $(LIBVERSION)
target_libs = PocoFoundation
include $(POCO_BASE)/build/rules/lib

1
CppParser/dependencies Normal file
View File

@ -0,0 +1 @@
Foundation

View File

@ -0,0 +1,141 @@
//
// Attributes.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Attributes.h#1 $
//
// Library: CppParser
// Package: Attributes
// Module: Attributes
//
// Definition of the Attributes class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Attributes_INCLUDED
#define CppParser_Attributes_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include <map>
namespace Poco {
namespace CppParser {
class CppParser_API Attributes
/// This class stores attributes for a symbol table entry.
/// Attributes are simple name-value pairs, where both
/// name and values are strings.
{
public:
typedef std::map<std::string, std::string> AttrMap;
typedef AttrMap::const_iterator Iterator;
Attributes();
/// Creates the Attributes object.
Attributes(const Attributes& attrs);
/// Creates the Attributes object by copying another one.
~Attributes();
/// Destroys the Attributes object.
Attributes& operator = (const Attributes& attrs);
/// Assignment operator.
bool has(const std::string& name) const;
/// Returns true if an attribute with the given name exists.
std::string getString(const std::string& name) const;
/// Returns the attribute's value as a string.
///
/// Throws a Poco::NotFoundException if the attribute does not exist.
std::string getString(const std::string& name, const std::string& defaultValue) const;
/// Returns the attribute's value as a string, if it exists.
/// Returns the defaultValue if the attribute does not exist.
int getInt(const std::string& name) const;
/// Returns the attribute's value as an integer.
///
/// Throws a Poco::NotFoundException if the attribute does not exist.
/// Throws a Poco::SyntaxException if the stored value is not an integer.
int getInt(const std::string& name, int defaultValue) const;
/// Returns the attribute's value as an integer, if it exists.
/// Returns the defaultValue if the attribute does not exist.
///
/// Throws a Poco::SyntaxException if the stored value is not an integer.
bool getBool(const std::string& name) const;
/// Returns the attribute's value as a boolean.
/// The returned value is 'true', iff the stored value is not "false".
///
/// Throws a Poco::NotFoundException if the attribute does not exist.
bool getBool(const std::string& name, bool defaultValue) const;
/// Returns the attribute's value as a boolean, if it exists.
/// The returned value is 'true', iff the stored value is not "false".
void set(const std::string& name, const std::string& value);
/// Sets the value of an attribute.
const std::string& operator [] (const std::string& name) const;
std::string& operator [] (const std::string& name);
Iterator begin() const;
Iterator end() const;
void clear();
/// Clears all attributes.
private:
AttrMap _map;
};
//
// inlines
//
inline Attributes::Iterator Attributes::begin() const
{
return _map.begin();
}
inline Attributes::Iterator Attributes::end() const
{
return _map.end();
}
} } // namespace Poco::CppParser
#endif // CppParser_Attributes_INCLUDED

View File

@ -0,0 +1,136 @@
//
// AttributesParser.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/AttributesParser.h#1 $
//
// Library: CppParser
// Package: Attributes
// Module: AttributesParser
//
// Definition of the AttributesParser class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_AttributesParser_INCLUDED
#define CppParser_AttributesParser_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Tokenizer.h"
#include "Poco/CppParser/Attributes.h"
namespace Poco {
namespace CppParser {
class CppParser_API AttributesParser
/// A parser for POCO-style C++ attributes.
///
/// Using a special comment syntax, C++ declarations for
/// structs/classes, functions, types, etc. can be annotated
/// with attributes.
///
/// Attributes always come immediately before the symbol that
/// is being annotated, and are written inside special comments
/// with the syntax:
/// //@ <attrDecl>[,<attrDec>...]
/// where <attrDecl> is
/// <name>=<value>
/// <name> is a valid C++ identifier, or two identifiers separated by
/// a period (struct accessor notation).
/// <value> is a string, integer, bool literal, or a complex value
/// in the form
/// {<name>=<value>[,<name>=<value>...]}
{
public:
AttributesParser(Attributes& attrs, std::istream& istr);
/// Creates the AttributesParser.
~AttributesParser();
/// Destroys the AttributesParser.
void parse();
/// Parses attributes.
protected:
void setAttribute(const std::string& name, const std::string& value);
const Poco::Token* parseAttributes(const Poco::Token* pNext);
const Poco::Token* parseAttribute(const Poco::Token* pNext);
const Poco::Token* parseComplexAttribute(const Token* pNext, const std::string& id);
const Poco::Token* parseIdentifier(const Poco::Token* pNext, std::string& id);
const Poco::Token* next();
static bool isIdentifier(const Poco::Token* pToken);
static bool isOperator(const Poco::Token* pToken, int kind);
static bool isLiteral(const Poco::Token* pToken);
static bool isEOF(const Poco::Token* pToken);
private:
Attributes& _attrs;
Tokenizer _tokenizer;
std::string _id;
};
//
// inlines
//
inline const Poco::Token* AttributesParser::next()
{
return _tokenizer.next();
}
inline bool AttributesParser::isEOF(const Poco::Token* pToken)
{
return pToken->is(Token::EOF_TOKEN);
}
inline bool AttributesParser::isIdentifier(const Poco::Token* pToken)
{
return pToken->is(Poco::Token::IDENTIFIER_TOKEN) || pToken->is(Poco::Token::KEYWORD_TOKEN);
}
inline bool AttributesParser::isOperator(const Poco::Token* pToken, int kind)
{
return pToken->is(Poco::Token::OPERATOR_TOKEN) && pToken->asInteger() == kind;
}
inline bool AttributesParser::isLiteral(const Poco::Token* pToken)
{
return pToken->is(Poco::Token::STRING_LITERAL_TOKEN) || pToken->is(Poco::Token::INTEGER_LITERAL_TOKEN);
}
} } // namespace Poco::CppParser
#endif // CppParser_AttributesParser_INCLUDED

View File

@ -0,0 +1,91 @@
//
// CppParser.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/CppParser.h#2 $
//
// Library: CppParser
// Package: CppParser
// Module: CppParser
//
// Basic definitions for the Poco CppParser library.
// This file must be the first file included by every other CppParser
// header file.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_CppParser_INCLUDED
#define CppParser_CppParser_INCLUDED
#include "Poco/Foundation.h"
//
// The following block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the CppParser_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
// CppParser_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
//
#if (defined(_WIN32) || defined(__CYGWIN__)) && defined(POCO_DLL)
#if defined(CppParser_EXPORTS)
#define CppParser_API __declspec(dllexport)
#else
#define CppParser_API __declspec(dllimport)
#endif
#endif
#if !defined(CppParser_API)
#define CppParser_API
#endif
//
// Automatically link CppParser library.
//
#if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(CppParser_EXPORTS)
#if defined(POCO_DLL)
#if defined(_DEBUG)
#pragma comment(lib, "PocoCppParserd.lib")
#else
#pragma comment(lib, "PocoCppParser.lib")
#endif
#else
#if defined(_DEBUG)
#pragma comment(lib, "PocoCppParsermtd.lib")
#else
#pragma comment(lib, "PocoCppParsermt.lib")
#endif
#endif
#endif
#endif
#endif // CppParser_CppParser_INCLUDED

View File

@ -0,0 +1,293 @@
//
// CppToken.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/CppToken.h#2 $
//
// Library: CppParser
// Package: CppParser
// Module: CppToken
//
// Definition of the CppToken class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_CppToken_INCLUDED
#define CppParser_CppToken_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/Token.h"
#include <map>
namespace Poco {
namespace CppParser {
class CppParser_API CppToken: public Poco::Token
/// The base class for all C++ tokens.
{
public:
CppToken();
~CppToken();
protected:
void syntaxError(const std::string& expected, const std::string& actual);
};
class CppParser_API OperatorToken: public CppToken
{
public:
enum Tokens
{
OP_OPENBRACKET = 1, // [
OP_CLOSBRACKET, // ]
OP_OPENPARENT, // (
OP_CLOSPARENT, // )
OP_OPENBRACE, // {
OP_CLOSBRACE, // }
OP_LT, // <
OP_LE, // <=
OP_SHL, // <<
OP_SHL_ASSIGN, // <<=
OP_GT, // >
OP_GE, // >=
OP_SHR, // >>
OP_SHR_ASSIGN, // >>=
OP_ASSIGN, // =
OP_EQ, // ==
OP_NOT, // !
OP_NE, // !=
OP_BITAND, // &
OP_BITAND_ASSIGN, // &=
OP_AND, // &&
OP_BITOR, // |
OP_BITOR_ASSIGN, // |=
OP_OR, // ||
OP_XOR, // ^
OP_XOR_ASSIGN, // ^=
OP_COMPL, // ~
OP_ASTERISK, // *
OP_ASTERISK_ASSIGN, // *=
OP_SLASH, // /
OP_SLASH_ASSIGN, // /=
OP_PLUS, // +
OP_PLUS_ASSIGN, // +=
OP_INCR, // ++
OP_MINUS, // -
OP_MINUS_ASSIGN, // -=
OP_DECR, // --
OP_ARROW, // ->
OP_MOD, // %
OP_MOD_ASSIGN, // %=
OP_COMMA, // ,
OP_PERIOD, // .
OP_TRIPLE_PERIOD, // ...
OP_COLON, // :
OP_DBL_COLON, // ::
OP_SEMICOLON, // ;
OP_QUESTION // ?
};
OperatorToken();
~OperatorToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
int asInteger() const;
private:
typedef std::map<std::string, int> OpMap;
OpMap _opMap;
};
class CppParser_API IdentifierToken: public CppToken
{
public:
enum Keywords
{
KW_AND = 1,
KW_AND_EQ,
KW_ASM,
KW_AUTO,
KW_BITAND,
KW_BITOR,
KW_BOOL,
KW_BREAK,
KW_CASE,
KW_CATCH,
KW_CHAR,
KW_CLASS,
KW_COMPL,
KW_CONST,
KW_CONST_CAST,
KW_CONTINUE,
KW_DEFAULT,
KW_DELETE,
KW_DO,
KW_DOUBLE,
KW_DYNAMIC_CAST,
KW_ELSE,
KW_ENUM,
KW_EXPLICIT,
KW_EXPORT,
KW_EXTERN,
KW_FALSE,
KW_FLOAT,
KW_FOR,
KW_FRIEND,
KW_GOTO,
KW_IF,
KW_INLINE,
KW_INT,
KW_LONG,
KW_MUTABLE,
KW_NAMESPACE,
KW_NEW,
KW_NOT,
KW_NOT_EQ,
KW_OPERATOR,
KW_OR,
KW_OR_EQ,
KW_PRIVATE,
KW_PROTECTED,
KW_PUBLIC,
KW_REGISTER,
KW_REINTERPRET_CAST,
KW_RETURN,
KW_SHORT,
KW_SIGNED,
KW_SIZEOF,
KW_STATIC,
KW_STATIC_CAST,
KW_STRUCT,
KW_SWITCH,
KW_TEMPLATE,
KW_THIS,
KW_THROW,
KW_TRUE,
KW_TRY,
KW_TYPEDEF,
KW_TYPEID,
KW_TYPENAME,
KW_UNION,
KW_UNSIGNED,
KW_USING,
KW_VIRTUAL,
KW_VOID,
KW_VOLATILE,
KW_WCHAR_T,
KW_WHILE,
KW_XOR,
KW_XOR_EQ
};
IdentifierToken();
~IdentifierToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
int asInteger() const;
private:
typedef std::map<std::string, int> KWMap;
KWMap _kwMap;
};
class CppParser_API StringLiteralToken: public CppToken
{
public:
StringLiteralToken();
~StringLiteralToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
std::string asString() const;
};
class CppParser_API CharLiteralToken: public CppToken
{
public:
CharLiteralToken();
~CharLiteralToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
char asChar() const;
};
class CppParser_API NumberLiteralToken: public CppToken
{
public:
NumberLiteralToken();
~NumberLiteralToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
int asInteger() const;
double asFloat() const;
private:
bool _isFloat;
};
class CppParser_API CommentToken: public CppToken
{
public:
CommentToken();
~CommentToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
std::string asString() const;
};
class CppParser_API PreprocessorToken: public CppToken
{
public:
PreprocessorToken();
~PreprocessorToken();
Poco::Token::Class tokenClass() const;
bool start(char c, std::istream& istr);
void finish(std::istream& istr);
};
} } // namespace Poco::CppParser
#endif // CppParser_CppToken_INCLUDED

View File

@ -0,0 +1,84 @@
//
// Decl.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Decl.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Decl
//
// Definition of the Decl class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Decl_INCLUDED
#define CppParser_Decl_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Symbol.h"
namespace Poco {
namespace CppParser {
class CppParser_API Decl: public Symbol
/// This class represents a simple declaration in a C++ source file.
/// It is a base class for Function, TypeDef or Variable.
{
public:
Decl(const std::string& decl, NameSpace* pNameSpace);
/// Creates the Decl.
~Decl();
/// Destroys the Decl.
const std::string& declaration() const;
/// Returns the declaration.
std::string toString() const;
protected:
std::string _decl;
};
//
// inlines
//
inline const std::string& Decl::declaration() const
{
return _decl;
}
} } // namespace Poco::CppParser
#endif // CppParser_Decl_INCLUDED

View File

@ -0,0 +1,99 @@
//
// Enum.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Enum.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Enum
//
// Definition of the Enum class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Enum_INCLUDED
#define CppParser_Enum_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Symbol.h"
#include <vector>
namespace Poco {
namespace CppParser {
class EnumValue;
class CppParser_API Enum: public Symbol
/// This class represents an enum declaration.
///
/// An enumeration has an optional name and
/// a collection of EnumValues.
{
public:
typedef std::vector<EnumValue*> Values;
typedef Values::const_iterator Iterator;
Enum(const std::string& name, NameSpace* pNameSpace);
/// Creates the Enum.
///
/// If name is the empty string, an internal name
/// in the form #AnonEnum<n> (where <n> is a unique integer)
/// will be assigned.
~Enum();
/// Destroys the Enum.
void addValue(EnumValue* pValue);
/// Adds an enum value. The Enum takes ownership of the value.
Iterator begin() const;
/// Returns an iterator for iterating over the Enum's EnumValue's.
Iterator end() const;
/// Returns an iterator for iterating over the Enum's EnumValue's.
Symbol::Kind kind() const;
std::string toString() const;
protected:
static std::string processName(const std::string& name);
private:
Values _values;
static int _count;
};
} } // namespace Poco::CppParser
#endif // CppParser_Enum_INCLUDED

View File

@ -0,0 +1,88 @@
//
// EnumValue.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/EnumValue.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: EnumValue
//
// Definition of the EnumValue class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_EnumValue_INCLUDED
#define CppParser_EnumValue_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Symbol.h"
namespace Poco {
namespace CppParser {
class Enum;
class CppParser_API EnumValue: public Symbol
/// This class represents an enumeration value
/// inside an enum declaration.
{
public:
EnumValue(const std::string& name, const std::string& value, Enum* pEnum);
/// Creates the EnumValue, using the name and a value, which may be empty.
virtual ~EnumValue();
/// Destroys the EnumValue.
const std::string& value() const;
/// Returns the value, which may be empty.
Symbol::Kind kind() const;
std::string toString() const;
private:
std::string _value;
};
//
// inlines
//
inline const std::string& EnumValue::value() const
{
return _value;
}
} } // namespace Poco::CppParser
#endif // CppParser_EnumValue_INCLUDED

View File

@ -0,0 +1,168 @@
//
// Function.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Function.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Function
//
// Definition of the Function class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Function_INCLUDED
#define CppParser_Function_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Decl.h"
#include <vector>
namespace Poco {
namespace CppParser {
class Parameter;
class CppParser_API Function: public Decl
/// This class represents a (member) function declaration.
{
public:
enum Flags
{
FN_STATIC = 1, /// The function is static.
FN_VIRTUAL = 2, /// The function is virtual.
FN_INLINE = 4, /// The function is inline.
FN_CONST = 8, /// The function is const.
FN_TEMPLATE = 16, /// The function is a template.
FN_PURE_VIRTUAL = 32 /// The function is pure virtual.
};
typedef std::vector<Parameter*> Parameters;
typedef Parameters::const_iterator Iterator;
Function(const std::string& decl, NameSpace* pNameSpace);
/// Creates the Function.
~Function();
/// Destroys the Function.
void addParameter(Parameter* pParam);
/// Adds a parameter to the function.
const std::string& getReturnParameter() const;
Iterator begin() const;
/// Returns an iterator for iterating over the Function's Parameter's.
Iterator end() const;
/// Returns an iterator for iterating over the Function's Parameter's.
void makeInline();
/// Sets the FN_INLINE flag.
void makeConst();
/// Sets the FN_CONST flag.
void makePureVirtual();
/// Sets the FN_PURE_VIRTUAL flag.
int flags() const;
/// Returns the function's flags.
bool isConstructor() const;
/// Returns true iff the function is a constructor.
bool isDestructor() const;
/// Returns true iff the function is a destructor.
bool isMethod() const;
/// Returns true iff the function is a method (it's part of
/// a Struct and it's neither a constructor nor a destructor).
bool isFunction() const;
/// Returns true iff the function is not a member of a class
/// (a freestanding function).
bool isConst() const;
/// Returns true iff the method is const.
int countParameters() const;
/// Returns the number of parameters.
std::string signature() const;
/// Returns the signature of the function.
bool isVirtual() const;
/// Returns true if the method is virtual. Also examines base
/// classes to check for a virtual function with the same
/// signature.
Function* getOverridden() const;
/// If the function is virtual and overrides a function in a
/// base class, the base class function is returned.
/// Otherwise, null is returned.
Symbol::Kind kind() const;
std::string toString() const;
private:
Parameters _params;
int _flags;
std::string _retParam;
};
//
// inlines
//
inline int Function::flags() const
{
return _flags;
}
inline const std::string& Function::getReturnParameter() const
{
return _retParam;
}
inline bool Function::isConst() const
{
return (flags() & FN_CONST) != 0;
}
} } // namespace Poco::CppParser
#endif // CppParser_Function_INCLUDED

View File

@ -0,0 +1,160 @@
//
// NameSpace.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/NameSpace.h#2 $
//
// Library: CppParser
// Package: SymbolTable
// Module: NameSpace
//
// Definition of the NameSpace class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_NameSpace_INCLUDED
#define CppParser_NameSpace_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Symbol.h"
#include <map>
#include <vector>
#include <set>
namespace Poco {
namespace CppParser {
class CppParser_API NameSpace: public Symbol
/// This class represents a namespace.
{
public:
typedef std::multimap<std::string, Symbol*> SymbolTable;
typedef SymbolTable::const_iterator Iterator;
typedef std::map<std::string, std::string> AliasMap;
typedef std::vector<std::string> NameSpaceVec;
NameSpace();
/// Creates the NameSpace.
NameSpace(const std::string& name, NameSpace* pNameSpace = 0);
/// Creates the NameSpace.
~NameSpace();
/// Destroys the NameSpace.
void addSymbol(Symbol* pSymbol);
/// Adds a symbol to the namespace.
void importSymbol(const std::string& fullName);
/// Imports a symbol from another namespace (using <symbol>).
void importNameSpace(const std::string& nameSpace);
/// Imports a namespace (using namespace <namespace>).
Iterator begin() const;
/// Returns an iterator for iterating over the NameSpace's Symbol's.
Iterator end() const;
/// Returns an iterator for iterating over the NameSpace's Symbol's.
Symbol* lookup(const std::string& name) const;
/// Looks up the given name in the symbol table
/// and returns the corresponsing symbol, or null
/// if no symbol can be found. The name can include
/// a namespace.
static NameSpace* root();
/// Returns the root namespace. Never delete this one!
void nameSpaces(SymbolTable& table) const;
/// Fills the symbol table with all namespaces.
void typeDefs(SymbolTable& table) const;
/// Fills the symbol table with all type definitions.
void enums(SymbolTable& table) const;
/// Fills the symbol table with all enums.
void classes(SymbolTable& table) const;
/// Fills the symbol table with all classes and structs.
void functions(SymbolTable& table) const;
/// Fills the symbol table with all functions.
void variables(SymbolTable& table) const;
/// Fills the symbol table with all variables.
const AliasMap& importedSymbols() const;
/// Returns a const reference to a SymbolTable containing all
/// imported symbols.
const NameSpaceVec& importedNameSpaces() const;
/// Returns a vector containing all imported namespaces.
Symbol::Kind kind() const;
std::string toString() const;
private:
Symbol* lookup(const std::string& name, std::set<const NameSpace*>& alreadyVisited) const;
/// Looks up the given name in the symbol table
/// and returns the corresponsing symbol, or null
/// if no symbol can be found. The name can include
/// a namespace.
protected:
void extract(Symbol::Kind kind, SymbolTable& table) const;
static void splitName(const std::string& name, std::string& head, std::string& tail);
private:
SymbolTable _symbols;
AliasMap _importedSymbols;
NameSpaceVec _importedNameSpaces;
};
//
// inlines
//
inline const NameSpace::AliasMap& NameSpace::importedSymbols() const
{
return _importedSymbols;
}
inline const NameSpace::NameSpaceVec& NameSpace::importedNameSpaces() const
{
return _importedNameSpaces;
}
} } // namespace Poco::CppParser
#endif // CppParser_NameSpace_INCLUDED

View File

@ -0,0 +1,164 @@
//
// Parameter.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Parameter.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Parameter
//
// Definition of the Parameter class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Parameter_INCLUDED
#define CppParser_Parameter_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Decl.h"
namespace Poco {
namespace CppParser {
class Function;
class CppParser_API Parameter: public Decl
/// This class represents a parameter to a function.
{
public:
Parameter(const std::string& decl, Function* pFunction);
/// Creates the Parameter.
~Parameter();
/// Destroys the Parameter.
Symbol::Kind kind() const;
bool isReference() const;
/// Returns true iff the parameter is a reference.
bool isPointer() const;
/// Returns true iff the parameter is a pointer.
bool isConst() const;
/// Returns true iff the parameter is const.
bool hasDefaultValue() const;
/// Returns true if a defaultvalue was set at this parameter,
/// Example: const std::string& data = std::string("default").
const std::string& declType() const;
/// Returns the type of the parameter without const and & if present.
///
/// Example: a type const std::string& -> std::string, a type const std::string* returns std::string
const std::string& defaultValue() const;
/// If hasDefaultValue() returns true, this method returns the default value, i.e. all data found between
/// the opening and closing bracket of the init string.
///
/// Example: for const std::string& data = std::string("default") it will return "default",
/// for = std::string() it will return a zero length string, for = ComplexClass(13,12, "test", 0);
/// it will return 13,12, "test", 0.
const std::string& defaultDecl() const;
/// If hasDefaultValue() returns true, this method returns the
/// default value declaration.
///
/// Example: for const std::string& data = std::string("default") it will return std::string("default").
static bool vectorType(const std::string& type, NameSpace* pNS);
private:
std::string handleDecl(const std::string& decl);
/// Removes initialization values, adds param Names if they are missing
private:
std::string _type;
bool _isRef;
bool _isPointer;
bool _isConst;
bool _hasDefaultValue;
std::string _defaultValue;
std::string _defaultDecl;
static int _count;
};
//
// inlines
//
inline const std::string& Parameter::declType() const
{
return _type;
}
inline bool Parameter::isReference() const
{
return _isRef;
}
inline bool Parameter::isConst() const
{
return _isConst;
}
inline bool Parameter::isPointer() const
{
return _isPointer;
}
inline bool Parameter::hasDefaultValue() const
{
return _hasDefaultValue;
}
inline const std::string& Parameter::defaultValue() const
{
return _defaultValue;
}
inline const std::string& Parameter::defaultDecl() const
{
return _defaultDecl;
}
} } // namespace Poco::CppParser
#endif // CppParser_Parameter_INCLUDED

View File

@ -0,0 +1,149 @@
//
// Parser.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Parser.h#3 $
//
// Library: CppParser
// Package: CppParser
// Module: Parser
//
// Definition of the Parser class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Parser_INCLUDED
#define CppParser_Parser_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Tokenizer.h"
#include "Poco/CppParser/Symbol.h"
#include "Poco/CppParser/NameSpace.h"
#include "Poco/CountingStream.h"
#include <vector>
namespace Poco {
namespace CppParser {
class Enum;
class Struct;
class Function;
class CppParser_API Parser
/// A minimal parser for C++ (header files).
///
/// The parser reads a (preprocessed) source or header file and
/// builds a symbol table containing as much information as
/// the parser is able to extract from the file.
///
/// A special comment syntax is used for inline API documentation.
///
/// A comment starting with three consecutive slashes (///) contains
/// API documentation for a symbol (class, function, typedef, enum, etc.).
/// API documentation comments always come after the declaration, with the
/// exception of structs and classes, where the comments are expected
/// immediately before the opening brace.
{
public:
Parser(NameSpace::SymbolTable& gst, const std::string& file, std::istream& istr);
/// Creates the Parser.
~Parser();
/// Destroys the Parser.
void parse();
/// Parses the file.
protected:
const Poco::Token* parseFile(const Poco::Token* pNext);
const Poco::Token* parseNameSpace(const Poco::Token* pNext);
const Poco::Token* parseClass(const Poco::Token* pNext);
const Poco::Token* parseClass(const Poco::Token* pNext, std::string& decl);
const Poco::Token* parseTemplate(const Poco::Token* pNext);
const Poco::Token* parseTemplateArgs(const Poco::Token* pNext, std::string& decl);
const Poco::Token* parseVarFunc(const Poco::Token* pNext);
const Poco::Token* parseVarFunc(const Poco::Token* pNext, std::string& decl);
const Poco::Token* parseFriend(const Poco::Token* pNext);
const Poco::Token* parseExtern(const Poco::Token* pNext);
const Poco::Token* parseTypeDef(const Poco::Token* pNext);
const Poco::Token* parseUsing(const Poco::Token* pNext);
const Poco::Token* parseFunc(const Poco::Token* pNext, std::string& decl);
const Poco::Token* parseParameters(const Poco::Token* pNext, Function* pFunc);
const Poco::Token* parseBlock(const Poco::Token* pNext);
const Poco::Token* parseEnum(const Poco::Token* pNext);
const Poco::Token* parseEnumValue(const Poco::Token* pNext, Enum* pEnum);
const Poco::Token* parseBaseClassList(const Poco::Token* pNext, Struct* pClass);
const Poco::Token* parseClassMembers(const Poco::Token* pNext, Struct* pClass);
const Poco::Token* parseAccess(const Poco::Token* pNext);
const Poco::Token* parseIdentifier(const Poco::Token* pNext, std::string& id);
void addSymbol(Symbol* pSymbol, int lineNumber, bool addGST = true);
void pushNameSpace(NameSpace* pNameSpace, int lineNumber, bool addGST = true);
void popNameSpace();
NameSpace* currentNameSpace() const;
static bool isIdentifier(const Poco::Token* pToken);
static bool isOperator(const Poco::Token* pToken, int kind);
static bool isKeyword(const Poco::Token* pToken, int kind);
static bool isEOF(const Poco::Token* pToken);
static void expectOperator(const Poco::Token* pToken, int kind, const std::string& msg);
static void syntaxError(const std::string& msg);
static void append(std::string& decl, const std::string& token);
static void append(std::string& decl, const Poco::Token* pToken);
const Poco::Token* next();
const Poco::Token* nextPreprocessed();
const Poco::Token* nextToken();
private:
typedef std::vector<NameSpace*> NSStack;
NameSpace::SymbolTable& _gst;
Poco::CountingInputStream _istr;
Tokenizer _tokenizer;
std::string _file;
std::string _path;
std::string _currentPath;
bool _inFile;
std::string _package;
std::string _library;
NSStack _nsStack;
Symbol* _pCurrentSymbol;
Symbol::Access _access;
std::string _doc;
std::string _attrs;
};
} } // namespace Poco::CppParser
#endif // CppParser_Parser_INCLUDED

View File

@ -0,0 +1,208 @@
//
// Struct.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Struct.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Struct
//
// Definition of the Struct class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Struct_INCLUDED
#define CppParser_Struct_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/NameSpace.h"
#include <vector>
#include <set>
namespace Poco {
namespace CppParser {
class Function;
class CppParser_API Struct: public NameSpace
/// This class represents a struct or class declaration.
{
public:
enum Flags
{
FN_TEMPLATE = 1,
FN_INLINE = 2, // when the whole class is inlined in a c++ file
FN_TEMPLATE_SPECIALIZATION = 4
};
struct Base
{
Symbol::Access access;
bool isVirtual;
std::string name;
Struct* pClass;
};
typedef std::vector<Base> BaseClasses;
typedef BaseClasses::const_iterator BaseIterator;
typedef std::vector<Struct*> StructVec;
typedef StructVec::const_iterator DerivedIterator;
typedef std::vector<Function*> Functions;
typedef std::set<Function*> FunctionSet;
typedef std::set<Struct*> StructSet;
Struct(const std::string& decl, bool isClass, NameSpace* pNameSpace);
/// Creates the Struct.
~Struct();
/// Destroys the Struct.
void addBase(const std::string&, Symbol::Access access, bool isVirtual);
/// Adds a base class.
BaseIterator baseBegin() const;
/// Returns an iterator for iterating over all base classes.
BaseIterator baseEnd() const;
/// Returns an iterator for iterating over all base classes.
void fixupBases();
/// Adds pointers for all base classes.
void addDerived(Struct* pClass);
/// Adds a derived class.
DerivedIterator derivedBegin() const;
/// Returns an iterator for iterating over all derived classes.
DerivedIterator derivedEnd() const;
/// Returns an iterator for iterating over all derived classes.
const std::string& declaration() const;
/// Returns the declaration.
int flags() const;
/// Returns the struct's flags.
void makeInline();
/// Changes the class to a inline class, i.e. definition and implementation are hidden in a cpp file.
bool isInline() const;
/// Returns true if the complete class is inlined in a cpp file.
void constructors(Functions& functions) const;
/// Returns all constructors, sorted by their parameter count.
Function* destructor() const;
/// Returns the destructor, or NULL if no
/// destructor is defined.
void methods(Symbol::Access access, Functions& functions) const;
/// Returns all functions with the given access.
void inheritedMethods(FunctionSet& functions) const;
/// Returns all inherited methods.
void bases(std::set<std::string>& bases) const;
/// Returns all base classes.
void derived(StructSet& derived) const;
/// Returns all derived classes.
Function* findFunction(const std::string& signature) const;
/// Finds a function with the given signature.
bool hasVirtualDestructor() const;
/// Returns true if the class CppParser_API or one if its base classes
/// has a virtual destructor.
bool isClass() const;
/// Returns true iff the struct was declared as class.
bool isDerived() const;
/// Returns true iff the struct or class is derived from another struct or class.
Symbol::Kind kind() const;
std::string toString() const;
private:
std::string _decl;
BaseClasses _bases;
StructVec _derived;
int _flags;
bool _isClass;
};
//
// inlines
//
inline const std::string& Struct::declaration() const
{
return _decl;
}
inline int Struct::flags() const
{
return _flags;
}
inline bool Struct::isClass() const
{
return _isClass;
}
inline void Struct::makeInline()
{
_flags |= FN_INLINE;
}
inline bool Struct::isInline() const
{
return (_flags & FN_INLINE) != 0;
}
inline bool Struct::isDerived() const
{
return !_bases.empty();
}
} } // namespace Poco::CppParser
#endif // CppParser_Struct_INCLUDED

View File

@ -0,0 +1,278 @@
//
// Symbol.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Symbol.h#1 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Symbol
//
// Definition of the Symbol class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Symbol_INCLUDED
#define CppParser_Symbol_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Attributes.h"
#include "Poco/Foundation.h"
namespace Poco {
namespace CppParser {
class NameSpace;
class CppParser_API Symbol
/// This is the base class for all symbols in the symbol table.
///
/// Every symbol has a unique ID (int) and a namespace (which
/// may be null).
{
public:
enum Kind
{
SYM_ENUM, /// An enumeration
SYM_ENUM_VALUE, /// An enumeration value
SYM_FUNCTION, /// A (member) function
SYM_NAMESPACE, /// A namespace
SYM_PARAMETER, /// A function parameter
SYM_STRUCT, /// A struct or class
SYM_TYPEDEF, /// A typedef
SYM_VARIABLE /// A (member) variable
};
enum Access
{
ACC_PUBLIC, /// public access
ACC_PROTECTED, /// protected access
ACC_PRIVATE /// private access
};
Symbol();
/// Creates the Symbol and assigns the symbol
/// a unique ID.
Symbol(const std::string& name, NameSpace* pNameSpace = 0);
/// Creates the Symbol and assigns the symbol
/// a unique ID.
virtual ~Symbol();
/// Destroys the Symbol.
int id() const;
/// Returns the symbol's unique ID.
const std::string& name() const;
/// Returns the symbol's (local) name.
NameSpace* nameSpace() const;
/// Returns the symbol's namespace which
/// may be null.
void setAccess(Access v);
/// Sets the symbol's access.
Access getAccess() const;
/// Returns the symbol's access.
void setDocumentation(const std::string& text);
/// Sets the symbol's documentation.
void addDocumentation(const std::string& text);
/// Adds text to the symbol's documentation.
const std::string& getDocumentation() const;
/// Returns the symbol's documentation.
void setFile(const std::string& path);
/// Sets the file where the symbol is declared.
const std::string& getFile() const;
/// Returns the file where the symbol is defined.
void setLineNumber(int line);
/// Sets the line number of the symbol's declaration.
int getLineNumber() const;
/// Returns the line number of the symbol's declaration.
void setPackage(const std::string& package);
/// Sets the symbol's package.
const std::string& getPackage() const;
/// Returns the symbol's package.
void setLibrary(const std::string& library);
/// Sets the symbol's library.
const std::string& getLibrary() const;
/// Returns the symbol's library.
const Attributes& attrs() const;
/// Returns the symbol's attributes.
const Attributes& getAttributes() const;
/// Returns the symbol's attributes.
void setAttributes(const Attributes& attrs);
/// Sets the symbol's attributes.
std::string fullName() const;
/// Returns the symbol's fully qualified name.
static std::string extractName(const std::string& decl);
/// Extracts the name from the declaration.
virtual Kind kind() const = 0;
/// Returns the symbol's kind.
virtual std::string toString() const = 0;
/// Returns a string representation of the symbol.
bool isPublic() const;
/// Returns true iff the symbol is public.
bool isProtected() const;
/// Returns true iff the symbol is public.
bool isPrivate() const;
/// Returns true iff the symbol is public.
protected:
static bool isIdent(char c);
static bool hasAttr(const std::string& decl, const std::string& attr);
private:
Symbol(const Symbol&);
Symbol& operator = (const Symbol&);
int _id;
std::string _name;
NameSpace* _pNameSpace;
Access _access;
std::string _documentation;
std::string _file;
int _line;
std::string _package;
std::string _library;
Attributes _attrs;
static int _nextId;
};
//
// inlines
//
inline int Symbol::id() const
{
return _id;
}
inline const std::string& Symbol::name() const
{
return _name;
}
inline const std::string& Symbol::getDocumentation() const
{
return _documentation;
}
inline Symbol::Access Symbol::getAccess() const
{
return _access;
}
inline NameSpace* Symbol::nameSpace() const
{
return _pNameSpace;
}
inline const std::string& Symbol::getFile() const
{
return _file;
}
inline int Symbol::getLineNumber() const
{
return _line;
}
inline const std::string& Symbol::getPackage() const
{
return _package;
}
inline const std::string& Symbol::getLibrary() const
{
return _library;
}
inline const Attributes& Symbol::attrs() const
{
return _attrs;
}
inline bool Symbol::isPublic() const
{
return _access == ACC_PUBLIC;
}
inline bool Symbol::isProtected() const
{
return _access == ACC_PROTECTED;
}
inline bool Symbol::isPrivate() const
{
return _access == ACC_PRIVATE;
}
} } // namespace Poco::CppParser
#endif // CppParser_Symbol_INCLUDED

View File

@ -0,0 +1,66 @@
//
// Tokenizer.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Tokenizer.h#1 $
//
// Library: CppParser
// Package: CppParser
// Module: Tokenizer
//
// Definition of the Tokenizer class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Tokenizer_INCLUDED
#define CppParser_Tokenizer_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/StreamTokenizer.h"
namespace Poco {
namespace CppParser {
class CppParser_API Tokenizer: public Poco::StreamTokenizer
/// A Tokenizer for C++.
{
public:
Tokenizer(std::istream& istr);
/// Creates the Tokenizer.
~Tokenizer();
/// Destroys the Tokenizer.
};
} } // namespace Poco::CppParser
#endif // CppParser_Tokenizer_INCLUDED

View File

@ -0,0 +1,71 @@
//
// TypeDef.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/TypeDef.h#2 $
//
// Library: CppParser
// Package: SymbolTable
// Module: TypeDef
//
// Definition of the TypeDef class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_TypeDef_INCLUDED
#define CppParser_TypeDef_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Decl.h"
namespace Poco {
namespace CppParser {
class CppParser_API TypeDef: public Decl
/// This class represents a type definition (typedef).
{
public:
TypeDef(const std::string& decl, NameSpace* pNameSpace);
/// Creates the TypeDef.
~TypeDef();
/// Destroys the TypeDef.
Symbol::Kind kind() const;
std::string baseType() const;
/// Returns the underlying base type.
};
} } // namespace Poco::CppParser
#endif // CppParser_TypeDef_INCLUDED

View File

@ -0,0 +1,107 @@
//
// Utility.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Utility.h#1 $
//
// Library: CppParser
// Package: CppParser
// Module: Utility
//
// Definition of the Utility class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Utility_INCLUDED
#define CppParser_Utility_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/NameSpace.h"
#include <vector>
#include <set>
namespace Poco {
namespace CppParser {
class CppParser_API Utility
/// Various helpers for parsing and analyzing C++ header files.
{
public:
class CppParser_API FwdDeclBlock
{
public:
std::string beginNameSpaceDecl; // contains either $(NS)_BEGIN or the namespace x { decl
std::string endNameSpaceDecl; // contains either $(NS)_END or the closing brackets }
std::vector<std::string> classDecls; // contains strings of the form "class X;"
};
static void parse(const std::string& file, NameSpace::SymbolTable& st, const std::string& exec, const std::string& options, const std::string& path);
/// Preprocesses and parses the file. The resulting symboltable has base class references already fixed,
static void parseDir(const std::vector <std::string>& includePattern, const std::vector <std::string>& excludePattern, NameSpace::SymbolTable& st, const std::string& exec, const std::string& options, const std::string& path);
/// Preprocesses and parses all files specified by the include pattern (e.g.: p:/poco/Foundation/include/*/*.h) minus the ones defined in the exclude pattern
static void fixup(NameSpace::SymbolTable& st);
/// Fixes all base pointers in the symbol table
static void detectPrefixAndIncludes(const std::string& origHFile, std::vector<std::string>& lines, std::string& prefix);
/// This method is poco coding style specific! It looks for a $(PREFIX)_BEGIN and extracts from it a prefix, also include files and fwd declarations are extracted from the h file.
static void removeFile(const std::string& preprocessedfile);
/// Tries to remove the file. If it fails, the error is silently ignored.
protected:
static std::string preprocessFile(const std::string& file, const std::string& exec, const std::string& options, const std::string& path);
/// Preprocess the include file with name file. Parameter exec must contain the name of the preprocessor binary (e.g.: "cl" for Visual Studio).
/// Parameter options contains the flag for the preprocessor, and parameter path sets the environment PATH settings during preprocessing.
/// Returns the name of the created file or throws an exception.
static void parseOnly(const std::string& file, NameSpace::SymbolTable& st, const std::string& preprocessedFile, bool removePreprocessedFile = true);
/// Parses the file, throws an exception if anything goes wrong.
static void buildFileList(std::set<std::string>& files, const std::vector<std::string>& includePattern, const std::vector<std::string>& excludePattern);
/// Searches all files that match the defined patterns and inserts them into files.
private:
Utility();
~Utility();
Utility(const Utility&);
Utility& operator=(const Utility&);
};
std::string CppParser_API replace(const std::string& input, const std::string& oldToken, const std::string& newToken);
/// Replaces in character input all oldTokens with the newToken
} } // namespace Poco::CppParser
#endif // CppParser_Utility_INCLUDED

View File

@ -0,0 +1,114 @@
//
// Variable.h
//
// $Id: //poco/1.3/CppParser/include/Poco/CppParser/Variable.h#2 $
//
// Library: CppParser
// Package: SymbolTable
// Module: Variable
//
// Definition of the Variable class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef CppParser_Variable_INCLUDED
#define CppParser_Variable_INCLUDED
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/Decl.h"
namespace Poco {
namespace CppParser {
class CppParser_API Variable: public Decl
/// This class represents (member) variable declaration.
{
public:
enum Flags
{
VAR_STATIC = 1, /// The variable is static.
VAR_MUTABLE = 2, /// The variable is mutable.
VAR_VOLATILE = 4, /// The variable is volatile.
VAR_CONST = 8 /// The variable is const.
};
Variable(const std::string& decl, NameSpace* pNameSpace);
/// Creates the Variable.
~Variable();
/// Destroys the Variable.
int flags() const;
/// Returns the variable's flags.
bool isPointer() const;
/// Returns true iff the variable holds a pointer.
Symbol::Kind kind() const;
const std::string& declType() const;
/// Returns the type of the parameter without const and & if present.
///
/// Example: a type const std::string& -> std::string, a type const std::string* returns std::string
private:
int _flags;
bool _isPointer;
std::string _type;
};
//
// inlines
//
inline int Variable::flags() const
{
return _flags;
}
inline bool Variable::isPointer() const
{
return _isPointer;
}
inline const std::string& Variable::declType() const
{
return _type;
}
} } // namespace Poco::CppParser
#endif // CppParser_Variable_INCLUDED

View File

@ -0,0 +1,168 @@
//
// Attributes.cpp
//
// $Id: //poco/1.3/CppParser/src/Attributes.cpp#1 $
//
// Library: CppParser
// Package: Attributes
// Module: Attributes
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#include "Poco/CppParser/Attributes.h"
#include "Poco/NumberParser.h"
#include "Poco/Exception.h"
#include <algorithm>
using Poco::NumberParser;
namespace Poco {
namespace CppParser {
Attributes::Attributes()
{
}
Attributes::Attributes(const Attributes& attrs)
{
_map = attrs._map;
}
Attributes::~Attributes()
{
}
Attributes& Attributes::operator = (const Attributes& attrs)
{
AttrMap map(attrs._map);
std::swap(_map, map);
return *this;
}
bool Attributes::has(const std::string& name) const
{
return _map.find(name) != _map.end();
}
std::string Attributes::getString(const std::string& name) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return it->second;
else
throw Poco::NotFoundException(name);
}
std::string Attributes::getString(const std::string& name, const std::string& defaultValue) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return it->second;
else
return defaultValue;
}
int Attributes::getInt(const std::string& name) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return NumberParser::parse(it->second);
else
throw Poco::NotFoundException(name);
}
int Attributes::getInt(const std::string& name, int defaultValue) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return NumberParser::parse(it->second);
else
return defaultValue;
}
bool Attributes::getBool(const std::string& name) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return it->second != "false";
else
throw Poco::NotFoundException(name);
}
bool Attributes::getBool(const std::string& name, bool defaultValue) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return it->second != "false";
else
return defaultValue;
}
void Attributes::set(const std::string& name, const std::string& value)
{
_map[name] = value;
}
const std::string& Attributes::operator [] (const std::string& name) const
{
AttrMap::const_iterator it = _map.find(name);
if (it != _map.end())
return it->second;
else
throw Poco::NotFoundException(name);
}
std::string& Attributes::operator [] (const std::string& name)
{
return _map[name];
}
void Attributes::clear()
{
_map.clear();
}
} } // namespace Poco::CppParser

Some files were not shown because too many files have changed in this diff Show More