added Poco::Shell

This commit is contained in:
Aleksandar Fabijanic
2013-04-23 20:06:03 -05:00
parent 03a1d4dc33
commit d712530c7d
70 changed files with 7019 additions and 0 deletions

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>Client</ProjectName>
<ProjectGuid>{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}</ProjectGuid>
<RootNamespace>Client</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.30319.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;">pocoshd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">pocosh</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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\pocoshd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\pocoshd.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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\pocosh.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\Client.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,13 @@
<?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>{37063f2c-6561-4518-b5df-f3174d35edca}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Client.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,117 @@
<?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>Client</ProjectName>
<ProjectGuid>{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}</ProjectGuid>
<RootNamespace>Client</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">false</LinkIncremental>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">pocoshd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">pocosh</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\pocoshd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\pocoshd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\pocosh.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\Client.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -0,0 +1,13 @@
<?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>{37063f2c-6561-4518-b5df-f3174d35edca}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Client.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client_vs71.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
debug_shared = debug_shared
release_shared = release_shared
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Client"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
RootNamespace="Client"
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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocoshd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="bin\pocoshd.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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocosh.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">
<File
RelativePath=".\src\Client.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client_vs80.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Client"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
RootNamespace="Client"
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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocoshd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\pocoshd.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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocosh.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">
<File
RelativePath=".\src\Client.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client_vs90.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Client"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
RootNamespace="Client"
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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocoshd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\pocoshd.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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin\pocosh.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">
<File
RelativePath=".\src\Client.cpp"/>
</Filter>
</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>Client</ProjectName>
<ProjectGuid>{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}</ProjectGuid>
<RootNamespace>Client</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.30319.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;">pocoshd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">pocosh</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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\pocoshd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\pocoshd.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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\pocosh.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\Client.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,13 @@
<?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>{b64c23a6-a2af-4030-9914-be78f37acdd6}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Client.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,117 @@
<?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>Client</ProjectName>
<ProjectGuid>{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}</ProjectGuid>
<RootNamespace>Client</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">bin64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">bin64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">false</LinkIncremental>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">pocoshd</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">pocosh</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\Foundation\include;..\..\XML\include;..\..\Util\include;..\..\Net\include;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\pocoshd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\pocoshd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<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;..\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>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\pocosh.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\Client.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -0,0 +1,13 @@
<?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>{b64c23a6-a2af-4030-9914-be78f37acdd6}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Client.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Client"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
RootNamespace="Client"
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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin64\pocoshd.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib64"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin64\pocoshd.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;..\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="ws2_32.lib iphlpapi.lib"
OutputFile="bin64\pocosh.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">
<File
RelativePath=".\src\Client.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

28
Shell/Client/Makefile Normal file
View File

@@ -0,0 +1,28 @@
#
# Makefile
#
# $Id: //poco/1.4/Shell/Client/Makefile#2 $
#
# Makefile for POCO Shell Client
#
include $(POCO_BASE)/build/rules/global
# check for editline (libedit) and use it if it's available
ifeq ($(shell test -f /usr/include/histedit.h && echo 1),1)
POCOSH_HAVE_EDITLINE = 1
$(info ** Building pocosh with editline (libedit) support)
endif
ifdef POCOSH_HAVE_EDITLINE
CXXFLAGS += -DPOCOSH_HAVE_EDITLINE
SYSLIBS += -ledit
endif
objects = Client
target = pocosh
target_version = 1
target_libs = PocoUtil PocoXML PocoNet PocoFoundation
include $(POCO_BASE)/build/rules/exec

View File

@@ -0,0 +1,2 @@
Util
Net

386
Shell/Client/src/Client.cpp Normal file
View File

@@ -0,0 +1,386 @@
//
// Client.cpp
//
// $Id: //poco/1.4/Shell/Client/src/Client.cpp#4 $
//
// The client application for the Shell.
//
// Copyright (c) 2009-2012, Applied Informatics Software Engineering GmbH.
// All rights reserved.
//
// This is unpublished proprietary source code of Applied Informatics.
// The contents of this file may not be disclosed to third parties,
// copied or duplicated in any form, in whole or in part.
//
#include "Poco/Util/Application.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/IntValidator.h"
#include "Poco/Util/HelpFormatter.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/DialogSocket.h"
#include "Poco/Net/SocketAddress.h"
#include "Poco/FileStream.h"
#include "Poco/String.h"
#include "Poco/NumberParser.h"
#include "Poco/Shell/Connection.h"
#include <iostream>
#include <cctype>
#if defined(POCO_OS_FAMILY_WINDOWS)
#include <windows.h>
#elif defined(POCO_OS_FAMILY_UNIX)
#include <termios.h>
#endif
#if defined(POCOSH_HAVE_EDITLINE)
#include <histedit.h>
#include <cstdio>
#endif
using Poco::Util::Application;
using Poco::Util::Option;
using Poco::Util::OptionSet;
using Poco::Util::HelpFormatter;
using Poco::Util::AbstractConfiguration;
using Poco::Util::OptionCallback;
using Poco::Shell::Connection;
class ShellClientApp: public Application
{
public:
ShellClientApp():
_showHelp(false),
_host(SERVER_HOST),
_port(SERVER_PORT),
_prompt(true),
_auth(true),
_pFileStream(0)
{
}
~ShellClientApp()
{
delete _pFileStream;
}
protected:
static const Poco::UInt16 SERVER_PORT = 22023;
static const std::string SERVER_HOST;
static const std::string PROMPT;
void defineOptions(OptionSet& options)
{
Application::defineOptions(options);
options.addOption(
Option("help", "h", "Display help information on command line arguments.")
.required(false)
.repeatable(false)
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleHelp)));
options.addOption(
Option("username", "u", "Specify the user name for logging in to the POCO Shell server.")
.required(false)
.repeatable(false)
.argument("<username>")
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleUserName)));
options.addOption(
Option("password", "p", "Specify the password for logging in to the POCO Shell server.")
.required(false)
.repeatable(false)
.argument("<password>")
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handlePassword)));
options.addOption(
Option("host", "H", "Specify the POCO Shell server hostname or IP address.")
.required(false)
.repeatable(false)
.argument("<host>")
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleHost)));
options.addOption(
Option("port", "P", "Specify the POCO Shell server port number.")
.required(false)
.repeatable(false)
.argument("<port>")
.validator(new Poco::Util::IntValidator(1, 65535))
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handlePort)));
options.addOption(
Option("file", "f", "Read commands from the given file.")
.required(false)
.repeatable(false)
.argument("<path>")
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleFile)));
options.addOption(
Option("noprompt", "n", "Do not display prompt and welcome message at startup.")
.required(false)
.repeatable(false)
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleNoPrompt)));
options.addOption(
Option("noauth", "N", "Do not authenticate against the server.")
.required(false)
.repeatable(false)
.callback(OptionCallback<ShellClientApp>(this, &ShellClientApp::handleNoAuth)));
}
void handleHelp(const std::string& name, const std::string& value)
{
_showHelp = true;
displayHelp();
stopOptionsProcessing();
}
void handleUserName(const std::string& name, const std::string& value)
{
_userName = value;
}
void handlePassword(const std::string& name, const std::string& value)
{
_password = value;
}
void handleHost(const std::string& name, const std::string& value)
{
_host = value;
}
void handlePort(const std::string& name, const std::string& value)
{
_port = Poco::NumberParser::parse(value);
}
void handleFile(const std::string& name, const std::string& value)
{
_pFileStream = new Poco::FileInputStream(value);
_prompt = false;
}
void handleNoPrompt(const std::string& name, const std::string& value)
{
_prompt = false;
}
void handleNoAuth(const std::string& name, const std::string& value)
{
_auth = false;
}
void displayHelp()
{
HelpFormatter helpFormatter(options());
helpFormatter.setCommand(commandName());
helpFormatter.setUsage("[<option> ...]");
helpFormatter.setHeader(
"\n"
"POCO Shell Client.\n"
"Copyright (c) 2009-2013 by Applied Informatics Software Engineering GmbH "
"and POCO project contributors.\n"
"All rights reserved.\n\n"
"This program allows you to interact with a POCO Shell.\n\n"
"The following command line options are supported:"
);
helpFormatter.setFooter(
"For more information, please see the Open Service Platform "
"documentation at <http://pocoproject.org/documentation>."
);
helpFormatter.setIndent(8);
helpFormatter.format(std::cout);
}
void writeResponse(const std::string& response, std::ostream& ostr)
{
std::string::const_iterator it(response.begin());
std::string::const_iterator end(response.end());
while (it != end)
{
while (it != end && std::isdigit(*it)) ++it;
if (it != end && (*it == ' ' || *it == '-')) ++it;
while (it != end && *it != '\n') ostr << *it++;
while (it != end && std::isspace(*it)) ++it;
ostr << std::endl;
}
}
void writeResponse(int status, const std::string& response, std::ostream& ostr)
{
switch (status)
{
case Connection::STATUS_CLIENT_ERROR:
case Connection::STATUS_CLIENT_USAGE:
break;
case Connection::STATUS_CLIENT_DENIED:
ostr << "Not authorized." << std::endl;
break;
default:
writeResponse(response, ostr);
break;
}
}
int sendRequest(const std::string& request, std::ostream& out, std::ostream& err)
{
_socket.sendMessage(request);
std::string response;
int status = _socket.receiveStatusMessage(response);
while (status == Connection::STATUS_INTERMEDIATE)
{
writeResponse(response, out);
status = _socket.receiveStatusMessage(response);
}
if (status >= Connection::STATUS_CLIENT_ERROR)
{
writeResponse(status, response, err);
}
return status;
}
void promptLogin()
{
if (_userName.empty())
{
std::cout << "Username: " << std::flush;
std::getline(std::cin, _userName);
}
if (_password.empty())
{
std::cout << "Password: " << std::flush;
echo(false);
std::getline(std::cin, _password);
echo(true);
std::cout << std::endl;
}
}
void echo(bool status)
{
#if defined(POCO_OS_FAMILY_WINDOWS)
HANDLE stdIn = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(stdIn, &mode);
mode = status ? mode | ENABLE_ECHO_INPUT : mode & ~ENABLE_ECHO_INPUT;
SetConsoleMode(stdIn, mode);
#elif defined(POCO_OS_FAMILY_UNIX)
struct termios tio;
tcgetattr(0, &tio);
tio.c_lflag = status ? tio.c_lflag | ECHO : tio.c_lflag & ~(ECHO);
tcsetattr(0, TCSANOW, &tio);
#endif
}
#if defined(POCOSH_HAVE_EDITLINE)
static const char* prompt(EditLine*)
{
return PROMPT.c_str();
}
#endif
int main(const std::vector<std::string>& args)
{
if (!_showHelp)
{
if (_prompt && _auth) promptLogin();
Poco::Net::SocketAddress sa(_host, _port);
_socket.connect(sa);
std::string greeting;
_socket.receiveStatusMessage(greeting);
if (_prompt)
{
std::cout << "\n";
writeResponse(greeting, std::cout);
std::cout << std::endl;
}
int status(Connection::STATUS_OK);
if (_auth)
{
status = sendRequest("login \"" + _userName + "\" \"" + _password + "\"", std::cout, std::cerr);
}
if (status == Connection::STATUS_OK)
{
std::istream* pStream = _pFileStream;
if (!pStream) pStream = &std::cin;
bool useEditLine = false;
#if defined(POCOSH_HAVE_EDITLINE)
EditLine* editLine = NULL;
History* elHist = NULL;
HistEvent elHistEvent;
if (!_pFileStream)
{
editLine = el_init("pocosh", stdin, stdout, stderr);
if (!editLine) throw Poco::IOException("Failed to initialize editline");
el_set(editLine, EL_PROMPT, &ShellClientApp::prompt);
el_set(editLine, EL_EDITOR, "emacs");
el_set(editLine, EL_SIGNAL, 1);
elHist = history_init();
if (elHist)
{
history(elHist, &elHistEvent, H_SETSIZE, 64);
el_set(editLine, EL_HIST, history, elHist);
}
useEditLine = true;
}
#else
if (_prompt) std::cout << PROMPT << std::flush;
#endif
#if defined(POCOSH_HAVE_EDITLINE)
if (useEditLine)
{
int count;
const char* line;
while ((line = el_gets(editLine, &count)) != NULL)
{
std::string request(line);
Poco::trimRightInPlace(request);
int status = sendRequest(request, std::cout, std::cerr);
if (status == Connection::STATUS_GOODBYE) break;
if (elHist && !request.empty()) history(elHist, &elHistEvent, H_ENTER, line);
}
if (elHist) history_end(elHist);
el_end(editLine);
return Application::EXIT_OK;
}
#endif
std::string request;
while (!std::getline(*pStream, request).eof())
{
Poco::trimRightInPlace(request);
int status = sendRequest(request, std::cout, std::cerr);
if (status == Connection::STATUS_GOODBYE) break;
if (_prompt) std::cout << PROMPT << std::flush;
}
}
}
return Application::EXIT_OK;
}
private:
bool _showHelp;
std::string _userName;
std::string _password;
std::string _host;
Poco::UInt16 _port;
bool _prompt;
bool _auth;
Poco::FileInputStream* _pFileStream;
Poco::Net::DialogSocket _socket;
};
const std::string ShellClientApp::SERVER_HOST("localhost");
const std::string ShellClientApp::PROMPT("poco> ");
POCO_APP_MAIN(ShellClientApp)

20
Shell/Makefile Normal file
View File

@@ -0,0 +1,20 @@
#
# Makefile
#
# $Id: //poco/1.4/Shell/Makefile#1 $
#
# Makefile for Poco Shell Library
#
include $(POCO_BASE)/build/rules/global
objects = AbstractCommand Command CommandFactory CommandProcessor \
HelpCommand HelpCommandFactory LoginCommand LoginCommandFactory \
QuitCommand QuitCommandFactory ResponseStream \
Session Connection ConnectionFactory
target = PocoShell
target_version = 2
target_libs = PocoUtil PocoNet PocoXML PocoFoundation
include $(POCO_BASE)/build/rules/lib

43
Shell/Shell_CE_vs90.sln Normal file
View File

@@ -0,0 +1,43 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_CE_vs90.vcproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_CE_vs90.vcproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_CE_vs90.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Digi JumpStart (ARMV4I) = debug_shared|Digi JumpStart (ARMV4I)
release_shared|Digi JumpStart (ARMV4I) = release_shared|Digi JumpStart (ARMV4I)
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Digi JumpStart (ARMV4I).ActiveCfg = debug_shared|Digi JumpStart (ARMV4I)
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Digi JumpStart (ARMV4I).Build.0 = debug_shared|Digi JumpStart (ARMV4I)
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Digi JumpStart (ARMV4I).Deploy.0 = debug_shared|Digi JumpStart (ARMV4I)
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Digi JumpStart (ARMV4I).ActiveCfg = release_shared|Digi JumpStart (ARMV4I)
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Digi JumpStart (ARMV4I).Build.0 = release_shared|Digi JumpStart (ARMV4I)
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Digi JumpStart (ARMV4I).Deploy.0 = release_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Digi JumpStart (ARMV4I).ActiveCfg = debug_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Digi JumpStart (ARMV4I).Build.0 = debug_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Digi JumpStart (ARMV4I).Deploy.0 = debug_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Digi JumpStart (ARMV4I).ActiveCfg = release_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Digi JumpStart (ARMV4I).Build.0 = release_shared|Digi JumpStart (ARMV4I)
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Digi JumpStart (ARMV4I).Deploy.0 = release_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Digi JumpStart (ARMV4I).ActiveCfg = debug_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Digi JumpStart (ARMV4I).Build.0 = debug_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Digi JumpStart (ARMV4I).Deploy.0 = debug_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Digi JumpStart (ARMV4I).ActiveCfg = release_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Digi JumpStart (ARMV4I).Build.0 = release_shared|Digi JumpStart (ARMV4I)
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Digi JumpStart (ARMV4I).Deploy.0 = release_shared|Digi JumpStart (ARMV4I)
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

237
Shell/Shell_CE_vs90.vcproj Normal file
View File

@@ -0,0 +1,237 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Shell"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
RootNamespace="Shell"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Digi JumpStart (ARMV4I)"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Digi JumpStart (ARMV4I)"
OutputDirectory="obj\$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="1"/>
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE;$(ProjectName)_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;Shell_EXPORTS"
StringPooling="true"
MinimalRebuild="false"
RuntimeLibrary="3"
BufferSecurityCheck="true"
RuntimeTypeInfo="true"
WarningLevel="3"
DebugInformationFormat="3"
DisableSpecificWarnings="4800;"
CompileForArchitecture="2"
InterworkCalls="false"/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/FORCE:MULTIPLE"
AdditionalDependencies=""
OutputFile="..\bin\$(PlatformName)\PocoShelld.dll"
LinkIncremental="2"
AdditionalLibraryDirectories="..\lib\$(PlatformName)"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\$(PlatformName)\PocoShelld.pdb"
SubSystem="0"
StackReserveSize="65536"
StackCommitSize="4096"
OptimizeReferences="0"
EnableCOMDATFolding="0"
RandomizedBaseAddress="1"
ImportLibrary="..\lib\$(PlatformName)\PocoShelld.lib"
TargetMachine="0"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCCodeSignTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<DeploymentTool
ForceDirty="-1"
RemoteDirectory=""
RegisterOutput="0"
AdditionalFiles=""/>
<DebuggerTool/>
</Configuration>
<Configuration
Name="release_shared|Digi JumpStart (ARMV4I)"
OutputDirectory="obj\$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="obj\$(PlatformName)\$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="1"/>
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
Optimization="4"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
AdditionalIncludeDirectories=".\include;..\Foundation\include;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;WINCE;$(ARCHFAM);$(_ARCHFAM_);_UNICODE;UNICODE;$(ProjectName)_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;Shell_EXPORTS"
StringPooling="true"
MinimalRebuild="false"
RuntimeLibrary="2"
BufferSecurityCheck="false"
RuntimeTypeInfo="true"
WarningLevel="3"
DebugInformationFormat="3"
DisableSpecificWarnings="4800;"
CompileForArchitecture="2"
InterworkCalls="false"/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/FORCE:MULTIPLE"
AdditionalDependencies=""
OutputFile="..\bin\$(PlatformName)\PocoShell.dll"
LinkIncremental="1"
AdditionalLibraryDirectories="..\lib\$(PlatformName)"
GenerateManifest="true"
GenerateDebugInformation="false"
ProgramDatabaseFile=""
SubSystem="0"
StackReserveSize="65536"
StackCommitSize="4096"
OptimizeReferences="0"
EnableCOMDATFolding="0"
ImportLibrary="..\lib\$(PlatformName)\PocoShell.lib"
TargetMachine="0"/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCCodeSignTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<DeploymentTool
ForceDirty="-1"
RemoteDirectory=""
RegisterOutput="0"
AdditionalFiles=""/>
<DebuggerTool/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Shell\AbstractCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\Command.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandProcessor.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\ResponseStream.h"/>
<File
RelativePath=".\include\Poco\Shell\Session.h"/>
<File
RelativePath=".\include\Poco\Shell\Shell.h"/>
<File
RelativePath=".\include\Poco\Shell\Connection.h"/>
<File
RelativePath=".\include\Poco\Shell\ConnectionFactory.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractCommand.cpp"/>
<File
RelativePath=".\src\Command.cpp"/>
<File
RelativePath=".\src\CommandFactory.cpp"/>
<File
RelativePath=".\src\CommandProcessor.cpp"/>
<File
RelativePath=".\src\HelpCommand.cpp"/>
<File
RelativePath=".\src\HelpCommandFactory.cpp"/>
<File
RelativePath=".\src\LoginCommand.cpp"/>
<File
RelativePath=".\src\LoginCommandFactory.cpp"/>
<File
RelativePath=".\src\QuitCommand.cpp"/>
<File
RelativePath=".\src\QuitCommandFactory.cpp"/>
<File
RelativePath=".\src\ResponseStream.cpp"/>
<File
RelativePath=".\src\Session.cpp"/>
<File
RelativePath=".\src\Connection.cpp"/>
<File
RelativePath=".\src\ConnectionFactory.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

148
Shell/Shell_vs100.vcxproj Normal file
View File

@@ -0,0 +1,148 @@
<?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>Shell</ProjectName>
<ProjectGuid>{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}</ProjectGuid>
<RootNamespace>Shell</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.30319.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;">PocoShelld</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">PocoShell</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;_USRDLL;Shell_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\PocoShelld.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin\PocoShelld.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib\PocoShell.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h"/>
<ClInclude Include="include\Poco\Shell\Command.h"/>
<ClInclude Include="include\Poco\Shell\CommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h"/>
<ClInclude Include="include\Poco\Shell\HelpCommand.h"/>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\LoginCommand.h"/>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\QuitCommand.h"/>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\ResponseStream.h"/>
<ClInclude Include="include\Poco\Shell\Session.h"/>
<ClInclude Include="include\Poco\Shell\Shell.h"/>
<ClInclude Include="include\Poco\Shell\Connection.h"/>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp"/>
<ClCompile Include="src\Command.cpp"/>
<ClCompile Include="src\CommandFactory.cpp"/>
<ClCompile Include="src\CommandProcessor.cpp"/>
<ClCompile Include="src\HelpCommand.cpp"/>
<ClCompile Include="src\HelpCommandFactory.cpp"/>
<ClCompile Include="src\LoginCommand.cpp"/>
<ClCompile Include="src\LoginCommandFactory.cpp"/>
<ClCompile Include="src\QuitCommand.cpp"/>
<ClCompile Include="src\QuitCommandFactory.cpp"/>
<ClCompile Include="src\ResponseStream.cpp"/>
<ClCompile Include="src\Session.cpp"/>
<ClCompile Include="src\Connection.cpp"/>
<ClCompile Include="src\ConnectionFactory.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,102 @@
<?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>{350f2417-c3a5-4968-b371-ce3afed5cc6f}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{00452138-dac4-40e4-a391-2f65d5ca529a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ResponseStream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Session.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Shell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Connection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandProcessor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ResponseStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Session.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Connection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConnectionFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

25
Shell/Shell_vs110.sln Normal file
View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_vs110.vcxproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_vs110.vcxproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.Build.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.ActiveCfg = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.Build.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

150
Shell/Shell_vs110.vcxproj Normal file
View File

@@ -0,0 +1,150 @@
<?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>Shell</ProjectName>
<ProjectGuid>{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}</ProjectGuid>
<RootNamespace>Shell</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">..\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">..\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">false</LinkIncremental>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoShelld</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">PocoShell</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\XML\include;..\Util\include;..\Net\include;;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShelld.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin\PocoShelld.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib\PocoShelld.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<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;_USRDLL;Shell_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\PocoShell.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib\PocoShell.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h" />
<ClInclude Include="include\Poco\Shell\Command.h" />
<ClInclude Include="include\Poco\Shell\CommandFactory.h" />
<ClInclude Include="include\Poco\Shell\CommandProcessor.h" />
<ClInclude Include="include\Poco\Shell\HelpCommand.h" />
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\LoginCommand.h" />
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\QuitCommand.h" />
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\ResponseStream.h" />
<ClInclude Include="include\Poco\Shell\Session.h" />
<ClInclude Include="include\Poco\Shell\Shell.h" />
<ClInclude Include="include\Poco\Shell\Connection.h" />
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp" />
<ClCompile Include="src\Command.cpp" />
<ClCompile Include="src\CommandFactory.cpp" />
<ClCompile Include="src\CommandProcessor.cpp" />
<ClCompile Include="src\HelpCommand.cpp" />
<ClCompile Include="src\HelpCommandFactory.cpp" />
<ClCompile Include="src\LoginCommand.cpp" />
<ClCompile Include="src\LoginCommandFactory.cpp" />
<ClCompile Include="src\QuitCommand.cpp" />
<ClCompile Include="src\QuitCommandFactory.cpp" />
<ClCompile Include="src\ResponseStream.cpp" />
<ClCompile Include="src\Session.cpp" />
<ClCompile Include="src\Connection.cpp" />
<ClCompile Include="src\ConnectionFactory.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -0,0 +1,102 @@
<?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>{350f2417-c3a5-4968-b371-ce3afed5cc6f}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{00452138-dac4-40e4-a391-2f65d5ca529a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ResponseStream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Session.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Shell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Connection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandProcessor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ResponseStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Session.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Connection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConnectionFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

39
Shell/Shell_vs71.sln Normal file
View File

@@ -0,0 +1,39 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_vs71.vcproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_vs71.vcproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_vs71.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
debug_shared = debug_shared
release_shared = release_shared
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared.ActiveCfg = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared.Build.0 = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared.ActiveCfg = release_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared.Build.0 = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared.ActiveCfg = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared.Build.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared.ActiveCfg = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared.Build.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared.Build.0 = release_shared|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

211
Shell/Shell_vs71.vcproj Normal file
View File

@@ -0,0 +1,211 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Shell"
Version="7.10"
ProjectType="Visual C++"
ProjectGUID="{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
RootNamespace="Shell"
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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShelld.dll"
LinkIncremental="2"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="..\bin\PocoShelld.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="FALSE"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\PocoShell.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\Poco\Shell\AbstractCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\Command.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandProcessor.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\ResponseStream.h"/>
<File
RelativePath=".\include\Poco\Shell\Session.h"/>
<File
RelativePath=".\include\Poco\Shell\Shell.h"/>
<File
RelativePath=".\include\Poco\Shell\Connection.h"/>
<File
RelativePath=".\include\Poco\Shell\ConnectionFactory.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractCommand.cpp"/>
<File
RelativePath=".\src\Command.cpp"/>
<File
RelativePath=".\src\CommandFactory.cpp"/>
<File
RelativePath=".\src\CommandProcessor.cpp"/>
<File
RelativePath=".\src\HelpCommand.cpp"/>
<File
RelativePath=".\src\HelpCommandFactory.cpp"/>
<File
RelativePath=".\src\LoginCommand.cpp"/>
<File
RelativePath=".\src\LoginCommandFactory.cpp"/>
<File
RelativePath=".\src\QuitCommand.cpp"/>
<File
RelativePath=".\src\QuitCommandFactory.cpp"/>
<File
RelativePath=".\src\ResponseStream.cpp"/>
<File
RelativePath=".\src\Session.cpp"/>
<File
RelativePath=".\src\Connection.cpp"/>
<File
RelativePath=".\src\ConnectionFactory.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

43
Shell/Shell_vs80.sln Normal file
View File

@@ -0,0 +1,43 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_vs80.vcproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_vs80.vcproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_vs80.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.Build.0 = release_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.Deploy.0 = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.Build.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.ActiveCfg = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.Build.0 = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.Deploy.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Build.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

224
Shell/Shell_vs80.vcproj Normal file
View File

@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Shell"
Version="8.00"
ProjectType="Visual C++"
ProjectGUID="{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
RootNamespace="Shell"
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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShelld.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\PocoShelld.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib\PocoShell.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\Poco\Shell\AbstractCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\Command.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandProcessor.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\ResponseStream.h"/>
<File
RelativePath=".\include\Poco\Shell\Session.h"/>
<File
RelativePath=".\include\Poco\Shell\Shell.h"/>
<File
RelativePath=".\include\Poco\Shell\Connection.h"/>
<File
RelativePath=".\include\Poco\Shell\ConnectionFactory.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractCommand.cpp"/>
<File
RelativePath=".\src\Command.cpp"/>
<File
RelativePath=".\src\CommandFactory.cpp"/>
<File
RelativePath=".\src\CommandProcessor.cpp"/>
<File
RelativePath=".\src\HelpCommand.cpp"/>
<File
RelativePath=".\src\HelpCommandFactory.cpp"/>
<File
RelativePath=".\src\LoginCommand.cpp"/>
<File
RelativePath=".\src\LoginCommandFactory.cpp"/>
<File
RelativePath=".\src\QuitCommand.cpp"/>
<File
RelativePath=".\src\QuitCommandFactory.cpp"/>
<File
RelativePath=".\src\ResponseStream.cpp"/>
<File
RelativePath=".\src\Session.cpp"/>
<File
RelativePath=".\src\Connection.cpp"/>
<File
RelativePath=".\src\ConnectionFactory.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

43
Shell/Shell_vs90.sln Normal file
View File

@@ -0,0 +1,43 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_vs90.vcproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_vs90.vcproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_vs90.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.Build.0 = release_shared|Win32
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|Win32.Deploy.0 = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.Build.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.ActiveCfg = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.Build.0 = release_shared|Win32
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|Win32.Deploy.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Build.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.ActiveCfg = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Build.0 = release_shared|Win32
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|Win32.Deploy.0 = release_shared|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

223
Shell/Shell_vs90.vcproj Normal file
View File

@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Shell"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
RootNamespace="Shell"
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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShelld.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\bin\PocoShelld.pdb"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
ImportLibrary="..\lib\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="..\lib\PocoShell.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\Poco\Shell\AbstractCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\Command.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandProcessor.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\ResponseStream.h"/>
<File
RelativePath=".\include\Poco\Shell\Session.h"/>
<File
RelativePath=".\include\Poco\Shell\Shell.h"/>
<File
RelativePath=".\include\Poco\Shell\Connection.h"/>
<File
RelativePath=".\include\Poco\Shell\ConnectionFactory.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractCommand.cpp"/>
<File
RelativePath=".\src\Command.cpp"/>
<File
RelativePath=".\src\CommandFactory.cpp"/>
<File
RelativePath=".\src\CommandProcessor.cpp"/>
<File
RelativePath=".\src\HelpCommand.cpp"/>
<File
RelativePath=".\src\HelpCommandFactory.cpp"/>
<File
RelativePath=".\src\LoginCommand.cpp"/>
<File
RelativePath=".\src\LoginCommandFactory.cpp"/>
<File
RelativePath=".\src\QuitCommand.cpp"/>
<File
RelativePath=".\src\QuitCommandFactory.cpp"/>
<File
RelativePath=".\src\ResponseStream.cpp"/>
<File
RelativePath=".\src\Session.cpp"/>
<File
RelativePath=".\src\Connection.cpp"/>
<File
RelativePath=".\src\ConnectionFactory.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

43
Shell/Shell_x64_vs100.sln Normal file
View File

@@ -0,0 +1,43 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_x64_vs100.vcxproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_x64_vs100.vcxproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_x64_vs100.vcxproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.Build.0 = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.ActiveCfg = release_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.Build.0 = release_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.Deploy.0 = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.ActiveCfg = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.Build.0 = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.Deploy.0 = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.ActiveCfg = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.Build.0 = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.Deploy.0 = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.ActiveCfg = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.Build.0 = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.Deploy.0 = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.ActiveCfg = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.Build.0 = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,148 @@
<?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>Shell</ProjectName>
<ProjectGuid>{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}</ProjectGuid>
<RootNamespace>Shell</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.30319.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;">PocoShell64d</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">PocoShell64</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;_USRDLL;Shell_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\PocoShell64d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\bin64\PocoShell64d.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib64\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell64.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib64\PocoShell.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h"/>
<ClInclude Include="include\Poco\Shell\Command.h"/>
<ClInclude Include="include\Poco\Shell\CommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h"/>
<ClInclude Include="include\Poco\Shell\HelpCommand.h"/>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\LoginCommand.h"/>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\QuitCommand.h"/>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h"/>
<ClInclude Include="include\Poco\Shell\ResponseStream.h"/>
<ClInclude Include="include\Poco\Shell\Session.h"/>
<ClInclude Include="include\Poco\Shell\Shell.h"/>
<ClInclude Include="include\Poco\Shell\Connection.h"/>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp"/>
<ClCompile Include="src\Command.cpp"/>
<ClCompile Include="src\CommandFactory.cpp"/>
<ClCompile Include="src\CommandProcessor.cpp"/>
<ClCompile Include="src\HelpCommand.cpp"/>
<ClCompile Include="src\HelpCommandFactory.cpp"/>
<ClCompile Include="src\LoginCommand.cpp"/>
<ClCompile Include="src\LoginCommandFactory.cpp"/>
<ClCompile Include="src\QuitCommand.cpp"/>
<ClCompile Include="src\QuitCommandFactory.cpp"/>
<ClCompile Include="src\ResponseStream.cpp"/>
<ClCompile Include="src\Session.cpp"/>
<ClCompile Include="src\Connection.cpp"/>
<ClCompile Include="src\ConnectionFactory.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,102 @@
<?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>{e69f8d5b-91b7-4453-86ce-c860f63e27c8}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{119718db-d157-44f3-a854-2432d78661ec}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ResponseStream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Session.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Shell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Connection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandProcessor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ResponseStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Session.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Connection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConnectionFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

25
Shell/Shell_x64_vs110.sln Normal file
View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_x64_vs110.vcxproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_x64_vs110.vcxproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.ActiveCfg = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.Build.0 = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.ActiveCfg = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.Build.0 = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.ActiveCfg = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.Build.0 = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.ActiveCfg = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.Build.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,150 @@
<?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>Shell</ProjectName>
<ProjectGuid>{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}</ProjectGuid>
<RootNamespace>Shell</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">..\..\bin64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">true</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">..\..\bin64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">false</LinkIncremental>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoShell64d</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">PocoShell64</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;..\XML\include;..\Util\include;..\Net\include;;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell64d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\bin64\PocoShell64d.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib64\PocoShelld.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<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;_USRDLL;Shell_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\PocoShell64.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib64\PocoShell.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h" />
<ClInclude Include="include\Poco\Shell\Command.h" />
<ClInclude Include="include\Poco\Shell\CommandFactory.h" />
<ClInclude Include="include\Poco\Shell\CommandProcessor.h" />
<ClInclude Include="include\Poco\Shell\HelpCommand.h" />
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\LoginCommand.h" />
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\QuitCommand.h" />
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h" />
<ClInclude Include="include\Poco\Shell\ResponseStream.h" />
<ClInclude Include="include\Poco\Shell\Session.h" />
<ClInclude Include="include\Poco\Shell\Shell.h" />
<ClInclude Include="include\Poco\Shell\Connection.h" />
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp" />
<ClCompile Include="src\Command.cpp" />
<ClCompile Include="src\CommandFactory.cpp" />
<ClCompile Include="src\CommandProcessor.cpp" />
<ClCompile Include="src\HelpCommand.cpp" />
<ClCompile Include="src\HelpCommandFactory.cpp" />
<ClCompile Include="src\LoginCommand.cpp" />
<ClCompile Include="src\LoginCommandFactory.cpp" />
<ClCompile Include="src\QuitCommand.cpp" />
<ClCompile Include="src\QuitCommandFactory.cpp" />
<ClCompile Include="src\ResponseStream.cpp" />
<ClCompile Include="src\Session.cpp" />
<ClCompile Include="src\Connection.cpp" />
<ClCompile Include="src\ConnectionFactory.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@@ -0,0 +1,102 @@
<?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>{e69f8d5b-91b7-4453-86ce-c860f63e27c8}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{119718db-d157-44f3-a854-2432d78661ec}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Shell\AbstractCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Command.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\CommandProcessor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\HelpCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\LoginCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommand.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\QuitCommandFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ResponseStream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Session.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Shell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\Connection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Shell\ConnectionFactory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Command.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\CommandProcessor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoginCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommand.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\QuitCommandFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ResponseStream.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Session.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Connection.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConnectionFactory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

43
Shell/Shell_x64_vs90.sln Normal file
View File

@@ -0,0 +1,43 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ShellBundle", "ShellBundle_x64_vs90.vcproj", "{9D75D447-6A02-4059-8DE7-5550D1FF1138}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shell", "Shell_x64_vs90.vcproj", "{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client", "Client\Client_x64_vs90.vcproj", "{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}"
ProjectSection(ProjectDependencies) = postProject
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5} = {8153C1CE-25D6-4D39-B565-5C4527F0DBA5}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.Build.0 = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.ActiveCfg = release_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.Build.0 = release_shared|x64
{9D75D447-6A02-4059-8DE7-5550D1FF1138}.release_shared|x64.Deploy.0 = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.ActiveCfg = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.Build.0 = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.debug_shared|x64.Deploy.0 = debug_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.ActiveCfg = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.Build.0 = release_shared|x64
{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}.release_shared|x64.Deploy.0 = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.ActiveCfg = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.Build.0 = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.debug_shared|x64.Deploy.0 = debug_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.ActiveCfg = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.Build.0 = release_shared|x64
{6E47E601-FBE0-47AE-B33F-BCBBB72210DE}.release_shared|x64.Deploy.0 = release_shared|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

224
Shell/Shell_x64_vs90.vcproj Normal file
View File

@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="Shell"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{8153C1CE-25D6-4D39-B565-5C4527F0DBA5}"
RootNamespace="Shell"
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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell64d.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="..\..\bin64\PocoShell64d.pdb"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
ImportLibrary="..\lib64\PocoShelld.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;..\XML\include;..\Util\include;..\Net\include;"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;Shell_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\PocoShell64.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="false"
AdditionalLibraryDirectories="..\lib64"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
OptimizeForWindows98="0"
ImportLibrary="..\lib64\PocoShell.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\Poco\Shell\AbstractCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\Command.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\CommandProcessor.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\HelpCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\LoginCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommand.h"/>
<File
RelativePath=".\include\Poco\Shell\QuitCommandFactory.h"/>
<File
RelativePath=".\include\Poco\Shell\ResponseStream.h"/>
<File
RelativePath=".\include\Poco\Shell\Session.h"/>
<File
RelativePath=".\include\Poco\Shell\Shell.h"/>
<File
RelativePath=".\include\Poco\Shell\Connection.h"/>
<File
RelativePath=".\include\Poco\Shell\ConnectionFactory.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractCommand.cpp"/>
<File
RelativePath=".\src\Command.cpp"/>
<File
RelativePath=".\src\CommandFactory.cpp"/>
<File
RelativePath=".\src\CommandProcessor.cpp"/>
<File
RelativePath=".\src\HelpCommand.cpp"/>
<File
RelativePath=".\src\HelpCommandFactory.cpp"/>
<File
RelativePath=".\src\LoginCommand.cpp"/>
<File
RelativePath=".\src\LoginCommandFactory.cpp"/>
<File
RelativePath=".\src\QuitCommand.cpp"/>
<File
RelativePath=".\src\QuitCommandFactory.cpp"/>
<File
RelativePath=".\src\ResponseStream.cpp"/>
<File
RelativePath=".\src\Session.cpp"/>
<File
RelativePath=".\src\Connection.cpp"/>
<File
RelativePath=".\src\ConnectionFactory.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@@ -0,0 +1,164 @@
//
// AbstractCommand.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/AbstractCommand.h#1 $
//
// Library: Shell
// Package: Shell
// Module: AbstractCommand
//
// Definition of the AbstractCommand class.
//
// Copyright (c) 2009-2013, 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 Shell_AbstractCommand_INCLUDED
#define Shell_AbstractCommand_INCLUDED
#include "Poco/Shell/Command.h"
#include "Poco/Util/OptionSet.h"
namespace Poco {
namespace Shell {
class Shell_API AbstractCommand: public Command
/// AbstractCommand provides a partial implementation of Command,
/// doing automatic argument handling based on the options handling
/// framework from the Util library.
///
/// Options must be given in Unix-style syntax (-o or --option).
///
/// Option handling for commands works in a similar way to
/// command line options handling in the Poco::Util::Application
/// class.
{
public:
// Command
virtual int execute(Session& session, const std::vector<std::string>& args, std::ostream& ostr);
protected:
AbstractCommand();
/// Creates the AbstractCommand.
AbstractCommand(const std::string& description, const std::string& usage);
/// Creates the AbstractCommand, using the given description and usage hint.
///
/// The given description and usage hint is used in the help text given
/// if the command is invoked with the --help option.
virtual ~AbstractCommand();
/// Destroys the AbstractCommand.
virtual int executeImpl(Session& session, const std::vector<std::string>& args, std::ostream& ostr) = 0;
/// Execute the command, using the given arguments.
/// Called by AbstractCommand::execute() after options have been handled.
///
/// Any output produced by executing the command can be
/// written to the given output stream.
///
/// An integer must be returned that denotes success or failure of the command.
/// Upon success, 0 shall be returned. The CommandStatus enumeration defines
/// a few commonly used error codes that should be used.
virtual void defineOptions(Poco::Util::OptionSet& options);
/// Called before command line processing begins.
/// If a Command wants to support command line arguments,
/// it must override this method and call the base class
/// implementation as well.
///
/// The default implementation only defines the --help option.
///
/// A Command should specify a callback to handle the option.
const Poco::Util::OptionSet& options() const;
/// Returns the application's option set.
void processOptions(std::vector<std::string>& args);
/// Processes command-line options.
void stopOptionsProcessing();
/// If called from an option callback, stops all further
/// options processing.
///
/// If called, the following options on the command line
/// will not be processed, and required options will not
/// be checked.
///
/// This is useful, for example, if an option for displaying
/// help information has been encountered and no other things
/// besides displaying help shall be done.
virtual void handleOption(const std::string& name, const std::string& value);
/// Called when the option with the given name is encountered
/// during command line arguments processing.
///
/// The default implementation does option validation, bindings
/// and callback handling.
///
/// Overriding implementations must call the base class implementation.
const std::string& commandName() const;
/// Returns the command name.
void handleHelp(const std::string& name, const std::string& value);
/// Handles the --help command line option.
void displayHelp(std::ostream& ostr);
/// Writes a help text to the given stream.
private:
std::string _description;
std::string _usage;
Poco::Util::OptionSet _options;
bool _stopOptionsProcessing;
bool _showHelp;
std::string _commandName;
};
//
// inlines
//
inline const Poco::Util::OptionSet& AbstractCommand::options() const
{
return _options;
}
inline const std::string& AbstractCommand::commandName() const
{
return _commandName;
}
} } // namespace Poco::Shell
#endif // Shell_AbstractCommand_INCLUDED

View File

@@ -0,0 +1,99 @@
//
// Command.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/Command.h#1 $
//
// Library: Shell
// Package: Shell
// Module: Command
//
// Definition of the Command class.
//
// Copyright (c) 2009-2013, 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 Shell_Command_INCLUDED
#define Shell_Command_INCLUDED
#include "Poco/Shell/Shell.h"
#include <vector>
#include <ostream>
namespace Poco {
namespace Shell {
class Session;
class Shell_API Command
/// Command defines the interface every shell command must implement.
///
/// The interface is quite simple, consisting only of a single member
/// function that subclasses must override.
{
public:
enum CommandStatus
{
STATUS_OK = 0, /// successful execution
STATUS_USAGE = 1, /// command line usage error
STATUS_ERROR = 2, /// command execution error
STATUS_DENIED = 3 /// bad credentials or insufficient permissions to execute the command
};
Command();
/// Creates the Command.
virtual ~Command();
/// Destroys the Command.
virtual int execute(Session& session, const std::vector<std::string>& args, std::ostream& ostr) = 0;
/// Execute the command, using the given arguments, within
/// the given session.
/// The first element of the args vector is the command name.
///
/// Any output produced by executing the command can be
/// written to the given output stream.
///
/// An integer must be returned that denotes success or failure of the command.
/// Upon success, 0 shall be returned. The CommandStatus enumeration defines
/// a few commonly used error codes that should be used. Other statis codes in
/// the range 0 - 99 can be used as well. Negative status codes are reserved
/// for internal use.
private:
Command(const Command&);
Command& operator = (const Command&);
};
} } // namespace Poco::Shell
#endif // Shell_Command_INCLUDED

View File

@@ -0,0 +1,82 @@
//
// CommandFactory.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/CommandFactory.h#1 $
//
// Library: Shell
// Package: Shell
// Module: CommandFactory
//
// Definition of the CommandFactory class.
//
// Copyright (c) 2009-2013, 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 Shell_CommandFactory_INCLUDED
#define Shell_CommandFactory_INCLUDED
#include "Poco/Shell/Shell.h"
namespace Poco {
namespace Shell {
class Command;
class Shell_API CommandFactory
/// A factory for Command objects.
{
public:
CommandFactory();
/// Creates the CommandFactory.
virtual ~CommandFactory();
/// Destroys the CommandFactory.
virtual Command* createCommand() = 0;
/// Create a Command object.
void init();
/// Initializes the factory.
protected:
virtual void initImpl();
/// Add extra initialization code by overriding this method in your subclass.
private:
CommandFactory(const CommandFactory&);
CommandFactory& operator = (const CommandFactory&);
};
} } // namespace Poco::Shell
#endif // Shell_CommandFactory_INCLUDED

View File

@@ -0,0 +1,141 @@
//
// CommandProcessor.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/CommandProcessor.h#1 $
//
// Library: Shell
// Package: Shell
// Module: CommandProcessor
//
// Definition of the CommandProcessor class.
//
// Copyright (c) 2009-2013, 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 Shell_CommandProcessor_INCLUDED
#define Shell_CommandProcessor_INCLUDED
#include "Poco/Shell/Shell.h"
#include "Poco/Shell/CommandFactory.h"
#include "Poco/SharedPtr.h"
#include "Poco/Mutex.h"
#include <map>
#include <set>
#include <vector>
namespace Poco {
namespace Shell {
class Session;
class Shell_API CommandProcessor
/// The CommandProcessor parses command lines and invokes
/// commands.
{
public:
typedef Poco::SharedPtr<CommandFactory> FactoryPtr;
CommandProcessor();
/// Creates the CommandProcessor.
~CommandProcessor();
/// Destroys the CommandProcessor.
int execute(Session& session, const std::string& commandLine, std::ostream& ostr);
/// Executes the command given in commandLine in the given session.
///
/// Throws a Poco::NotFoundException if the given command
/// is not known.
///
/// The following commands are builtin:
/// - .login <userName> <credentials>:
/// Attempts to log the user into the current session with the given userName and credentials (password).
/// - .help
/// Displays a list of all registered commands.
/// - .quit
/// Ends the session.
void addCommand(const std::string& command, const std::set<std::string>& aliases, FactoryPtr pFactory, const std::string& permission);
/// Adds a command to the command processor.
///
/// The given command name must be unique, otherwise an ExistsException will be thrown.
/// The given aliases set can be empty.
/// Upon execution of the command, the given permission is checked against
/// the current user's permissions. It can be empty to disable the check.
void removeCommand(const std::string& command);
/// Removes the given command.
void listCommands(std::vector<std::string>& commands) const;
/// Fills the given vector with the names of all registered commands.
void aliases(const std::string& command, std::set<std::string>& aliases) const;
/// Fills the given set with all aliases for the given command.
static const std::string COMMAND_LOGIN;
static const std::string COMMAND_HELP;
static const std::string COMMAND_QUIT;
protected:
Command* createCommand(const Session& session, const std::string& command);
/// Creates a Command object for the given command name.
///
/// Throws a Poco::NotFoundException if the given command is unknown.
/// Returns a new command object, or a null pointer if the user
/// is not authorized to call the command.
void parseCommandLine(const std::string& commandLine, std::vector<std::string>& items);
/// Parses the command line into single items.
///
/// The first item is used as command name. Remaining items are arguments
/// to the command. Items are separated by one or more space or tab characters.
/// An item can be enclosed in single or double quotes.
/// Characters can be escaped with a backslash.
private:
struct CommandInfo
{
std::string name;
std::set<std::string> aliases;
std::string permission;
FactoryPtr pFactory;
};
typedef std::map<std::string, CommandInfo> CommandMap;
CommandMap _commandMap;
mutable Poco::FastMutex _mutex;
};
} } // namespace Poco::Shell
#endif // Shell_CommandProcessor_INCLUDED

View File

@@ -0,0 +1,119 @@
//
// Connection.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/Connection.h#1 $
//
// Library: Shell
// Package: Shell
// Module: Connection
//
// Definition of the Connection class.
//
// Copyright (c) 2009-2013, 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 Shell_Connection_INCLUDED
#define Shell_Connection_INCLUDED
#include "Poco/Shell/Shell.h"
#include "Poco/Net/TCPServerConnection.h"
namespace Poco {
namespace Shell {
class CommandProcessor;
class Shell_API Connection: public Poco::Net::TCPServerConnection
/// The Connection class receives commands over a TCP connection
/// and sends responses back to the client.
///
/// Commands are received one per line, and responses are sent in
/// RFC 2821-style response chunks. Every command can send
/// multiple response chunks. Intermediate response chunks have a
/// status code of 100, and can occur more than once.
/// The final chunk has a status code has a 200, 4xx or 500 status code
/// and is exactly one line long.
/// If the command was successful, the status code is 200 and the
/// response text is "OK". If the command was not successful
/// (its return code was not 0), the status code is 400 + return code.
/// If the comand resulted in an exception, the status code is 500.
///
/// Example (positive response to help command):
/// 100-The following commands are available:
/// 100-bundles (ls, ss)
/// 100-services (lss)
/// 100-start
/// 100-stop
/// ...
/// 100-set
/// 100 Enter <command> --help for more information about a command
/// 200 OK
///
/// Example (negative response to login command):
/// 403 DENIED
{
public:
enum StatusCode
{
STATUS_INTERMEDIATE = 100,
STATUS_OK = 200,
STATUS_GOODBYE = 201,
STATUS_CLIENT_ERROR = 400,
STATUS_CLIENT_USAGE = 401,
STATUS_CLIENT_DENIED = 403,
STATUS_SERVER_ERROR = 500
};
Connection(const Poco::Net::StreamSocket& s, CommandProcessor& processor, const std::string& authServiceName);
/// Creates the Connection.
~Connection();
/// Destroys the Connection.
// TCPServerConnection
void run();
protected:
static int statusFor(int exitCode, std::string& message);
/// Creates a suitable status code and response message
private:
Connection();
CommandProcessor& _commandProcessor;
std::string _authServiceName;
};
} } // namespace Poco::Shell
#endif // Shell_Connection_INCLUDED

View File

@@ -0,0 +1,60 @@
//
// ConnectionFactory.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/ConnectionFactory.h#1 $
//
// Library: Shell
// Package: Shell
// Module: Connection
//
// Definition of the ConnectionFactory class.
//
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// All rights reserved.
//
// This is unpublished proprietary source code of Applied Informatics.
// The contents of this file may not be disclosed to third parties,
// copied or duplicated in any form, in whole or in part.
//
#ifndef Shell_ConnectionFactory_INCLUDED
#define Shell_ConnectionFactory_INCLUDED
#include "Poco/Shell/Shell.h"
#include "Poco/Net/TCPServerConnectionFactory.h"
namespace Poco {
namespace Shell {
class CommandProcessor;
class Shell_API ConnectionFactory: public Poco::Net::TCPServerConnectionFactory
/// The factory for Connection objects.
{
public:
ConnectionFactory(CommandProcessor& processor, const std::string& authServiceName);
/// Creates the ConnectionFactory.
~ConnectionFactory();
/// Destroys the ConnectionFactory.
// TCPServerConnectionFactory
Poco::Net::TCPServerConnection* createConnection(const Poco::Net::StreamSocket& socket);
private:
ConnectionFactory();
CommandProcessor& _commandProcessor;
std::string _authServiceName;
};
} } // namespace Poco::Shell
#endif // Shell_ConnectionFactory_INCLUDED

View File

@@ -0,0 +1,85 @@
//
// HelpCommand.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/HelpCommand.h#1 $
//
// Library: Shell
// Package: Shell
// Module: HelpCommand
//
// Definition of the HelpCommand class.
//
// Copyright (c) 2009-2013, 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 Shell_HelpCommand_INCLUDED
#define Shell_HelpCommand_INCLUDED
#include "Poco/Shell/Command.h"
namespace Poco {
namespace Shell {
class CommandProcessor;
class Shell_API HelpCommand: public Command
/// HelpCommand implements the "help" command,
/// with the help of the CommandProcessor.
///
/// The help command produces a list of commands
/// known by the CommandProcessor, as well as their aliases.
///
/// The output of the command can be customized with
/// the following bundle properties:
/// - help.header: the header text displayed before the list
/// of commands.
/// - help.footer: the footer text displayed after the list
/// of commands.
{
public:
HelpCommand(CommandProcessor& commandProcessor);
/// Creates the HelpCommand, using the given command processor.
~HelpCommand();
/// Destroys the HelpCommand.
// Command
virtual int execute(Session& session, const std::vector<std::string>& args, std::ostream& ostr);
private:
CommandProcessor& _commandProcessor;
};
} } // namespace Poco::Shell
#endif // Shell_HelpCommand_INCLUDED

View File

@@ -0,0 +1,74 @@
//
// HelpCommandFactory.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/HelpCommandFactory.h#1 $
//
// Library: Shell
// Package: Shell
// Module: HelpCommand
//
// Definition of the HelpCommandFactory class.
//
// Copyright (c) 2009-2013, 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 Shell_HelpCommandFactory_INCLUDED
#define Shell_HelpCommandFactory_INCLUDED
#include "Poco/Shell/CommandFactory.h"
namespace Poco {
namespace Shell {
class CommandProcessor;
class Shell_API HelpCommandFactory: public CommandFactory
/// The factory for HelpCommand objects.
{
public:
HelpCommandFactory(CommandProcessor& commandProcessor);
/// Creates the HelpCommandFactory, using the given command processor.
~HelpCommandFactory();
/// Destroys the HelpCommandFactory.
// CommandFactory
Command* createCommand();
private:
CommandProcessor& _commandProcessor;
};
} } // namespace Poco::Shell
#endif // Shell_HelpCommandFactory_INCLUDED

View File

@@ -0,0 +1,82 @@
//
// LoginCommand.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/LoginCommand.h#1 $
//
// Library: Shell
// Package: Shell
// Module: LoginCommand
//
// Definition of the LoginCommand class.
//
// Copyright (c) 2009-2013, 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 Shell_LoginCommand_INCLUDED
#define Shell_LoginCommand_INCLUDED
#include "Poco/Shell/AbstractCommand.h"
namespace Poco {
namespace Shell {
class Shell_API LoginCommand: public AbstractCommand
/// LoginCommand implements the "login" command,
/// with the help of the Session object.
///
/// The login command takes two arguments, a user
/// name and a password, and passes them to the
/// login() member function of Session.
///
/// The help text of the login command can be
/// customized by providing the following bundle
/// properties:
/// - login.description: The description of the command.
/// - login.usage: The usage string.
{
public:
LoginCommand();
/// Creates the LoginCommand.
~LoginCommand();
/// Destroys the LoginCommand.
protected:
// AbstractCommand
virtual int executeImpl(Session& session, const std::vector<std::string>& args, std::ostream& ostr);
private:
};
} } // namespace Poco::Shell
#endif // Shell_LoginCommand_INCLUDED

View File

@@ -0,0 +1,68 @@
//
// LoginCommandFactory.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/LoginCommandFactory.h#1 $
//
// Library: Shell
// Package: Shell
// Module: LoginCommand
//
// Definition of the LoginCommandFactory class.
//
// Copyright (c) 2009-2013, 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 Shell_LoginCommandFactory_INCLUDED
#define Shell_LoginCommandFactory_INCLUDED
#include "Poco/Shell/CommandFactory.h"
namespace Poco {
namespace Shell {
class Shell_API LoginCommandFactory: public CommandFactory
/// The factory for LoginCommand objects.
{
public:
LoginCommandFactory();
/// Creates the LoginCommandFactory.
~LoginCommandFactory();
/// Destroys the LoginCommandFactory.
// CommandFactory
Command* createCommand();
};
} } // namespace Poco::Shell
#endif // Shell_LoginCommandFactory_INCLUDED

View File

@@ -0,0 +1,96 @@
//
// OSPCommand.h
//
// $Id: //poco/1.4/OSP/Shell/include/Poco/OSP/Shell/OSPCommand.h#1 $
//
// Library: OSP/Shell
// Package: Shell
// Module: OSPCommand
//
// Definition of the OSPCommand class.
//
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// All rights reserved.
//
// This is unpublished proprietary source code of Applied Informatics.
// The contents of this file may not be disclosed to third parties,
// copied or duplicated in any form, in whole or in part.
//
#ifndef OSP_Shell_OSPCommand_INCLUDED
#define OSP_Shell_OSPCommand_INCLUDED
#include "Poco/OSP/Shell/AbstractCommand.h"
#include "Poco/OSP/BundleContext.h"
#include "Poco/OSP/Bundle.h"
#include <vector>
namespace Poco {
namespace OSP {
namespace Shell {
class OSPShell_API OSPCommand: public AbstractCommand
/// OSPCommand is the base class for all
/// OSP-specific commands.
///
/// It provides various helper functions that
/// make implementing commands that deal with OSP
/// internals easier.
{
public:
OSPCommand(Poco::OSP::BundleContext::Ptr pContext, const std::string& name);
/// Creates the OSPCommand, using the given
/// bundle context and name.
///
/// The name is used to load the command description
/// and usage string from the bundle properties, using
/// the <name>.description and <name>.usage properties.
~OSPCommand();
/// Destroys the OSPCommand.
Poco::OSP::BundleContext::Ptr context() const;
/// Returns the bundle context.
protected:
Poco::OSP::Bundle::Ptr findBundle(const std::string& symbolicNameOrId) const;
/// Finds a bundle, either by symbolic name or ID.
///
/// If the given argument is an integer, it is treated as bundle ID.
/// Otherwise, it is treated as symbolic name.
///
/// Returns a pointer to the bundle that matches the symbolic name or
/// id, or a null pointer otherwise.
static bool match(const std::string& pattern, const std::string& subject);
/// Returns true if the given subject matches the given pattern.
///
/// Every subject matches an empty pattern.
static bool match(const std::vector<std::string>& patterns, const std::string& subject);
/// Returns true if the given subject matches at least one of the given pattern.
///
/// Every subject matches an empty pattern.
private:
Poco::OSP::BundleContext::Ptr _pContext;
};
//
// inlines
//
inline Poco::OSP::BundleContext::Ptr OSPCommand::context() const
{
return _pContext;
}
} } } // namespace Poco::OSP::Shell
#endif // OSP_Shell_OSPCommand_INCLUDED

View File

@@ -0,0 +1,79 @@
//
// QuitCommand.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/QuitCommand.h#1 $
//
// Library: Shell
// Package: Shell
// Module: QuitCommand
//
// Definition of the QuitCommand class.
//
// Copyright (c) 2009-2013, 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 Shell_QuitCommand_INCLUDED
#define Shell_QuitCommand_INCLUDED
#include "Poco/Shell/AbstractCommand.h"
namespace Poco {
namespace Shell {
class Shell_API QuitCommand: public AbstractCommand
/// QuitCommand implements the "quit" command.
///
/// Executing the command returns a negative
/// return code, which causes the Connection
/// object to close the connection.
///
/// The help text of the quit command can be
/// customized by providing the following bundle
/// properties:
/// - quit.description: The description of the command.
/// - quit.usage: The usage string.
{
public:
QuitCommand();
/// Creates the QuitCommand.
~QuitCommand();
/// Destroys the QuitCommand.
protected:
// AbstractCommand
virtual int executeImpl(Session& session, const std::vector<std::string>& args, std::ostream& ostr);
};
} } // namespace Poco::Shell
#endif // Shell_QuitCommand_INCLUDED

View File

@@ -0,0 +1,68 @@
//
// QuitCommandFactory.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/QuitCommandFactory.h#1 $
//
// Library: Shell
// Package: Shell
// Module: QuitCommand
//
// Definition of the QuitCommandFactory class.
//
// Copyright (c) 2009-2013, 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 Shell_QuitCommandFactory_INCLUDED
#define Shell_QuitCommandFactory_INCLUDED
#include "Poco/Shell/CommandFactory.h"
namespace Poco {
namespace Shell {
class Shell_API QuitCommandFactory: public CommandFactory
/// The factory for QuitCommand objects.
{
public:
QuitCommandFactory();
/// Creates the QuitCommandFactory.
~QuitCommandFactory();
/// Destroys the QuitCommandFactory.
// CommandFactory
Command* createCommand();
};
} } // namespace Poco::Shell
#endif // Shell_QuitCommandFactory_INCLUDED

View File

@@ -0,0 +1,170 @@
//
// ResponseStream.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/ResponseStream.h#1 $
//
// Library: Shell
// Package: Shell
// Module: ResponseStream
//
// Definition of the ResponseStream class and friends.
//
// Copyright (c) 2009-2013, 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 Shell_ResponseStream_INCLUDED
#define Shell_ResponseStream_INCLUDED
#include "Poco/Shell/Shell.h"
#include "Poco/UnbufferedStreamBuf.h"
#include <ostream>
namespace Poco {
namespace Shell {
class Shell_API ResponseStreamBuf: public Poco::UnbufferedStreamBuf
/// This stream wraps all lines sent through it in
/// SMTP (RFC 2821) format.
///
/// Lines are grouped together in blocks, which every block having
/// the format of an RFC 2821 server response message.
///
/// The block begins with a three-digit status code, followed by
/// either a minus sign ('-') if more lines follow, or a space
/// character (' '), if the line is the only line in this block.
/// All lines but the last line in a block also start with a
/// three-digit status code and a minus character. The last line
/// starts with a three-digit status code, a space character and
/// the line data.
///
/// Examples:
/// 100-This is a multiline
/// 100-message. The message
/// 100 has three lines in total.
///
/// 200 OK
{
public:
ResponseStreamBuf(std::ostream& ostr, int status);
/// Creates the ResponseStreamBuf and connects it
/// to the given output stream.
~ResponseStreamBuf();
/// Destroys the ResponseStreamBuf.
int sync();
/// Flushes the currently buffered line and ends the
/// response block.
void setStatus(int status);
/// Sets the status code that is prepended to response lines.
int getStatus() const;
/// Returns the status code that is prepended to response lines.
protected:
int writeToDevice(char c);
void flushLine(bool more);
private:
ResponseStreamBuf();
std::ostream& _ostr;
int _status;
std::string _line;
bool _lineComplete;
};
class Shell_API ResponseIOS: public virtual std::ios
/// The base class for ResponseStream.
{
public:
ResponseIOS(std::ostream& ostr, int status);
/// Creates the ResponseIOS using the given output stream and status.
~ResponseIOS();
/// Destroys the ResponseIOS.
ResponseStreamBuf* rdbuf();
/// Returns a pointer to the underlying streambuf.
void setStatus(int status);
/// Sets the response status code.
int getStatus() const;
/// Returns the response status code.
protected:
ResponseStreamBuf _buf;
private:
ResponseIOS();
};
class Shell_API ResponseStream: public ResponseIOS, public std::ostream
/// An output stream, based on ResponseStreamBuf.
{
public:
ResponseStream(std::ostream& ostr, int status = 0);
/// Creates the ResponseStream, using the given output
/// stream and status.
~ResponseStream();
/// Destroys the ResponseStream.
};
//
// inlines
//
inline int ResponseStreamBuf::getStatus() const
{
return _status;
}
inline void ResponseIOS::setStatus(int status)
{
_buf.setStatus(status);
}
inline int ResponseIOS::getStatus() const
{
return _buf.getStatus();
}
} } // namespace Poco::Shell
#endif // Shell_ResponseStream_INCLUDED

View File

@@ -0,0 +1,121 @@
//
// Session.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/Session.h#1 $
//
// Library: Shell
// Package: Shell
// Module: Session
//
// Definition of the Session class.
//
// Copyright (c) 2009-2013, 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 Shell_Session_INCLUDED
#define Shell_Session_INCLUDED
#include "Poco/Shell/Shell.h"
namespace Poco {
namespace Shell {
class Shell_API Session
/// The Session class provides user authentication and
/// authorization for the CommandProcessor.
///
/// It is also passed as the first argument to
/// the execute() member function of Command, so
/// that command implementations can perform
/// custom authorization.
{
public:
Session(const std::string& authServiceName);
/// Creates the Session, using the given bundle context and
/// the given service name of the authentication service.
///
/// An empty service name disables authentication and authorization.
~Session();
/// Destroys the Session.
bool login(const std::string& userName, const std::string& credentials);
/// Attempts to authenticate the user by checking the
/// given userName and credentials with the authentication service.
///
/// Returns true if the user was successfully authenticated, false otherwise.
bool authorize(const std::string& permission) const;
/// Returns true if the user is authenticated and has the
/// given permission, false otherwise.
bool authenticated() const;
/// Returns true if the user is authenticated.
const std::string& user() const;
/// Returns the name of the current user, or an empty string
/// if no user is logged in.
protected:
//TODO
//Poco::AuthService::Ptr authService() const;
private:
Session();
Session(const Session&);
Session& operator = (const Session&);
std::string _authServiceName;
//TODO
//mutable Poco::Auth::AuthService::Ptr _pAuthService;
std::string _userName;
bool _authenticated;
};
//
// inlines
//
inline bool Session::authenticated() const
{
return _authenticated;
}
inline const std::string& Session::user() const
{
return _userName;
}
} } // namespace Poco::Shell
#endif // Shell_Session_INCLUDED

View File

@@ -0,0 +1,84 @@
//
// Shell.h
//
// $Id: //poco/1.4/Shell/include/Poco/Shell/Shell.h#1 $
//
// Library: Shell
// Package: Shell
// Module: Shell
//
// Basic definitions for the Poco Shell library.
// This file must be the first file included by every other Shell
// header file.
//
// Copyright (c) 2009-2013, 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 Shell_Shell_INCLUDED
#define Shell_Shell_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 Shell_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
// Shell_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
//
#if defined(_WIN32) && defined(POCO_DLL)
#if defined(Shell_EXPORTS)
#define Shell_API __declspec(dllexport)
#else
#define Shell_API __declspec(dllimport)
#endif
#endif
#if !defined(Shell_API)
#if !defined(POCO_NO_GCC_API_ATTRIBUTE) && defined (__GNUC__) && (__GNUC__ >= 4)
#define Shell_API __attribute__ ((visibility ("default")))
#else
#define Shell_API
#endif
#endif
//
// Automatically link Shell library.
//
#if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Shell_EXPORTS)
#pragma comment(lib, "PocoShell" POCO_LIB_SUFFIX)
#endif
#endif
#endif // Shell_Shell_INCLUDED

View File

@@ -0,0 +1,182 @@
//
// AbstractCommand.cpp
//
// $Id: //poco/1.4/Shell/src/AbstractCommand.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: AbstractCommand
//
// Copyright (c) 2009-2013, 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/Shell/AbstractCommand.h"
#include "Poco/Util/OptionProcessor.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/Validator.h"
#include "Poco/Util/OptionException.h"
#include "Poco/Util/AbstractConfiguration.h"
#include "Poco/Util/HelpFormatter.h"
namespace Poco {
namespace Shell {
AbstractCommand::AbstractCommand():
_stopOptionsProcessing(false),
_showHelp(false)
{
}
AbstractCommand::AbstractCommand(const std::string& description, const std::string& usage):
_description(description),
_usage(usage),
_stopOptionsProcessing(false),
_showHelp(false)
{
}
AbstractCommand::~AbstractCommand()
{
}
int AbstractCommand::execute(Session& session, const std::vector<std::string>& args, std::ostream& ostr)
{
std::vector<std::string> processedArgs(args);
try
{
processOptions(processedArgs);
if (_showHelp)
{
displayHelp(ostr);
return Command::STATUS_OK;
}
else
{
return executeImpl(session, processedArgs, ostr);
}
}
catch (Poco::Util::OptionException& exc)
{
ostr << exc.displayText() << std::endl;
return Command::STATUS_USAGE;
}
catch (Poco::Exception& exc)
{
ostr << exc.displayText() << std::endl;
return Command::STATUS_ERROR;
}
}
void AbstractCommand::defineOptions(Poco::Util::OptionSet& options)
{
options.addOption(
Poco::Util::Option("help", "h", "display help information on command line arguments")
.required(false)
.repeatable(false)
.callback(Poco::Util::OptionCallback<AbstractCommand>(this, &AbstractCommand::handleHelp)));
}
void AbstractCommand::processOptions(std::vector<std::string>& args)
{
defineOptions(_options);
Poco::Util::OptionProcessor processor(_options);
processor.setUnixStyle(true);
_commandName = args[0];
args.erase(args.begin());
std::vector<std::string>::iterator it = args.begin();
while (it != args.end() && !_stopOptionsProcessing)
{
std::string name;
std::string value;
if (processor.process(*it, name, value))
{
if (!name.empty()) // "--" option to end options processing
{
handleOption(name, value);
}
it = args.erase(it);
}
else ++it;
}
if (!_stopOptionsProcessing)
processor.checkRequired();
}
void AbstractCommand::stopOptionsProcessing()
{
_stopOptionsProcessing = true;
}
void AbstractCommand::handleOption(const std::string& name, const std::string& value)
{
const Poco::Util::Option& option = _options.getOption(name);
if (option.validator())
{
option.validator()->validate(option, value);
}
if (!option.binding().empty())
{
Poco::Util::AbstractConfiguration* pConfig = option.config();
poco_check_ptr (pConfig);
pConfig->setString(option.binding(), value);
}
if (option.callback())
{
option.callback()->invoke(name, value);
}
}
void AbstractCommand::handleHelp(const std::string& name, const std::string& value)
{
_showHelp = true;
stopOptionsProcessing();
}
void AbstractCommand::displayHelp(std::ostream& ostr)
{
Poco::Util::HelpFormatter helpFormatter(_options);
helpFormatter.setCommand(_commandName);
helpFormatter.setUsage(_usage);
helpFormatter.setHeader(_description);
helpFormatter.setUnixStyle(true);
helpFormatter.setAutoIndent();
helpFormatter.format(ostr);
}
} } // namespace Poco::Shell

54
Shell/src/Command.cpp Normal file
View File

@@ -0,0 +1,54 @@
//
// Command.cpp
//
// $Id: //poco/1.4/Shell/src/Command.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: Command
//
// Copyright (c) 2009-2013, 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/Shell/Command.h"
namespace Poco {
namespace Shell {
Command::Command()
{
}
Command::~Command()
{
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,65 @@
//
// CommandFactory.cpp
//
// $Id: //poco/1.4/Shell/src/CommandFactory.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: CommandFactory
//
// Copyright (c) 2009-2013, 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/Shell/CommandFactory.h"
namespace Poco {
namespace Shell {
CommandFactory::CommandFactory()
{
}
CommandFactory::~CommandFactory()
{
}
void CommandFactory::init()
{
initImpl();
}
void CommandFactory::initImpl()
{
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,202 @@
//
// CommandProcessor.cpp
//
// $Id: //poco/1.4/Shell/src/CommandProcessor.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: CommandProcessor
//
// Copyright (c) 2009-2013, 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/Shell/CommandProcessor.h"
#include "Poco/Shell/Command.h"
#include "Poco/Shell/Session.h"
using Poco::FastMutex;
namespace Poco {
namespace Shell {
const std::string CommandProcessor::COMMAND_LOGIN("login");
const std::string CommandProcessor::COMMAND_HELP("help");
const std::string CommandProcessor::COMMAND_QUIT("quit");
CommandProcessor::CommandProcessor()
{
}
CommandProcessor::~CommandProcessor()
{
}
int CommandProcessor::execute(Session& session, const std::string& commandLine, std::ostream& ostr)
{
std::vector<std::string> items;
parseCommandLine(commandLine, items);
if (!items.empty())
{
const std::string& command = items[0];
Poco::SharedPtr<Command> pCommand = createCommand(session, command);
if (pCommand)
return pCommand->execute(session, items, ostr);
else
return Command::STATUS_DENIED;
}
else return Command::STATUS_OK;
}
void CommandProcessor::addCommand(const std::string& command, const std::set<std::string>& aliases, FactoryPtr pFactory, const std::string& permission)
{
FastMutex::ScopedLock lock(_mutex);
CommandMap::iterator it = _commandMap.find(command);
if (it == _commandMap.end())
{
CommandInfo& info = _commandMap[command];
info.name = command;
info.aliases = aliases;
info.pFactory = pFactory;
info.permission = permission;
}
else throw Poco::ExistsException(command);
}
void CommandProcessor::removeCommand(const std::string& command)
{
FastMutex::ScopedLock lock(_mutex);
CommandMap::iterator it = _commandMap.find(command);
if (it != _commandMap.end())
_commandMap.erase(it);
else
throw Poco::NotFoundException(command);
}
void CommandProcessor::listCommands(std::vector<std::string>& commands) const
{
FastMutex::ScopedLock lock(_mutex);
for (CommandMap::const_iterator it = _commandMap.begin(); it != _commandMap.end(); ++it)
{
commands.push_back(it->first);
}
}
void CommandProcessor::aliases(const std::string& command, std::set<std::string>& aliases) const
{
FastMutex::ScopedLock lock(_mutex);
CommandMap::const_iterator it = _commandMap.find(command);
if (it != _commandMap.end())
{
aliases = it->second.aliases;
}
}
Command* CommandProcessor::createCommand(const Session& session, const std::string& command)
{
FastMutex::ScopedLock lock(_mutex);
CommandMap::iterator it = _commandMap.find(command);
if (it == _commandMap.end())
{
// look for aliases
for (it = _commandMap.begin(); it != _commandMap.end(); ++it)
{
if (it->second.aliases.find(command) != it->second.aliases.end())
break;
}
}
if (it != _commandMap.end())
{
if (it->second.permission.empty() || session.authorize(it->second.permission))
return it->second.pFactory->createCommand();
else
return 0;
}
else throw Poco::NotFoundException(command);
}
void CommandProcessor::parseCommandLine(const std::string& commandLine, std::vector<std::string>& items)
{
std::string::const_iterator it = commandLine.begin();
std::string::const_iterator end = commandLine.end();
std::string item;
while (it != end)
{
switch (*it)
{
case '"':
++it;
while (it != end && *it != '"') item += *it++;
if (it != end) ++it;
break;
case '\'':
++it;
while (it != end && *it != '\'') item += *it++;
if (it != end) ++it;
break;
case '\\':
++it;
if (it != end) item += *it++;
break;
case ' ':
case '\t':
if (!item.empty())
{
items.push_back(item);
item.clear();
}
++it;
break;
default:
item += *it++;
break;
}
}
if (!item.empty())
items.push_back(item);
}
} } // namespace Poco::Shell

146
Shell/src/Connection.cpp Normal file
View File

@@ -0,0 +1,146 @@
//
// Connection.cpp
//
// $Id: //poco/1.4/Shell/src/Connection.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: Connection
//
// Copyright (c) 2009-2013, 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/Shell/Connection.h"
#include "Poco/Shell/CommandProcessor.h"
#include "Poco/Shell/Command.h"
#include "Poco/Shell/Session.h"
#include "Poco/Shell/ResponseStream.h"
#include "Poco/Net/DialogSocket.h"
#include "Poco/Net/SocketStream.h"
#include "Poco/Delegate.h"
using Poco::Delegate;
namespace Poco {
namespace Shell {
Connection::Connection(const Poco::Net::StreamSocket& s, CommandProcessor& commandProcessor, const std::string& authServiceName):
Poco::Net::TCPServerConnection(s),
_commandProcessor(commandProcessor),
_authServiceName(authServiceName)
{
}
Connection::~Connection()
{
this->socket().shutdown();
}
void Connection::run()
{
//TODO
//logger().information("New connection from " + this->socket().peerAddress().toString());
try
{
Session session(_authServiceName);
Poco::Net::DialogSocket dialogSocket(this->socket());
Poco::Net::SocketOutputStream ostr(this->socket());
ResponseStream responseStream(ostr);
responseStream.setStatus(STATUS_OK);
std::string greeting(/* TODO properties().getString("greeting", "")*/"");
if (!greeting.empty())
responseStream << greeting << std::endl;
std::string commandLine;
while (dialogSocket.receiveMessage(commandLine))
{
try
{
responseStream.setStatus(STATUS_INTERMEDIATE);
int exitCode = _commandProcessor.execute(session, commandLine, responseStream);
std::string response;
int status = statusFor(exitCode, response);
responseStream.setStatus(status);
responseStream << response << std::endl;
if (exitCode < 0) break;
}
catch (Poco::Exception& exc)
{
responseStream.setStatus(STATUS_SERVER_ERROR);
responseStream << exc.displayText() << std::endl;
}
}
}
catch (Poco::Exception& exc)
{
std::string msg("Error handling connection from ");
msg += this->socket().peerAddress().toString();
msg += ": ";
msg += exc.displayText();
}
}
int Connection::statusFor(int exitCode, std::string& response)
{
switch (exitCode)
{
case Command::STATUS_OK:
response = "OK";
return STATUS_OK;
case Command::STATUS_USAGE:
response = "USAGE";
return STATUS_CLIENT_USAGE;
case Command::STATUS_ERROR:
response = "ERROR";
return STATUS_CLIENT_ERROR;
case Command::STATUS_DENIED:
response = "DENIED";
return STATUS_CLIENT_DENIED;
default:
if (exitCode < 0)
{
response = "GOODBYE";
return STATUS_GOODBYE;
}
else
{
response = "ERROR";
return STATUS_CLIENT_ERROR + exitCode;
}
}
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,63 @@
//
// ConnectionFactory.cpp
//
// $Id: //poco/1.4/Shell/src/ConnectionFactory.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: Connection
//
// Copyright (c) 2009-2013, 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/Shell/ConnectionFactory.h"
#include "Poco/Shell/Connection.h"
namespace Poco {
namespace Shell {
ConnectionFactory::ConnectionFactory(CommandProcessor& commandProcessor, const std::string& authServiceName):
_commandProcessor(commandProcessor),
_authServiceName(authServiceName)
{
}
ConnectionFactory::~ConnectionFactory()
{
}
Poco::Net::TCPServerConnection* ConnectionFactory::createConnection(const Poco::Net::StreamSocket& s)
{
return new Connection(s, _commandProcessor, _authServiceName);
}
} } // namespace Poco::Shell

83
Shell/src/HelpCommand.cpp Normal file
View File

@@ -0,0 +1,83 @@
//
// HelpCommand.cpp
//
// $Id: //poco/1.4/Shell/src/HelpCommand.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: HelpCommand
//
// Copyright (c) 2009-2013, 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/Shell/HelpCommand.h"
#include "Poco/Shell/CommandProcessor.h"
#include "Poco/String.h"
namespace Poco {
namespace Shell {
HelpCommand::HelpCommand(CommandProcessor& commandProcessor):
_commandProcessor(commandProcessor)
{
}
HelpCommand::~HelpCommand()
{
}
int HelpCommand::execute(Session& session, const std::vector<std::string>& args, std::ostream& ostr)
{
std::string header(/*TODO properties().getString("help.header", "")*/"");
if (!header.empty()) ostr << header << '\n';
std::vector<std::string> commands;
_commandProcessor.listCommands(commands);
for (std::vector<std::string>::const_iterator it = commands.begin(); it != commands.end(); ++it)
{
ostr << " " << *it;
std::set<std::string> aliases;
_commandProcessor.aliases(*it, aliases);
if (!aliases.empty())
{
ostr << " (" << Poco::cat(std::string(", "), aliases.begin(), aliases.end()) << ")";
}
ostr << '\n';
}
ostr << '\n';
std::string footer(/*TODO properties().getString("help.footer", "")*/"");
if (!footer.empty()) ostr << footer << '\n';
return Command::STATUS_OK;
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,62 @@
//
// HelpCommandFactory.cpp
//
// $Id: //poco/1.4/Shell/src/HelpCommandFactory.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: HelpCommand
//
// Copyright (c) 2009-2013, 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/Shell/HelpCommandFactory.h"
#include "Poco/Shell/HelpCommand.h"
namespace Poco {
namespace Shell {
HelpCommandFactory::HelpCommandFactory(CommandProcessor& commandProcessor):
_commandProcessor(commandProcessor)
{
}
HelpCommandFactory::~HelpCommandFactory()
{
}
Command* HelpCommandFactory::createCommand()
{
return new HelpCommand(_commandProcessor);
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,75 @@
//
// LoginCommand.cpp
//
// $Id: //poco/1.4/Shell/src/LoginCommand.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: LoginCommand
//
// Copyright (c) 2009-2013, 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/Shell/LoginCommand.h"
#include "Poco/Shell/Session.h"
namespace Poco {
namespace Shell {
LoginCommand::LoginCommand():
AbstractCommand(
/* TODO properties().getString("login.description"),*/
/* TODO properties().getString("login.usage")*/)
{
}
LoginCommand::~LoginCommand()
{
}
int LoginCommand::executeImpl(Session& session, const std::vector<std::string>& args, std::ostream& ostr)
{
if (args.size() == 2)
{
if (session.login(args[0], args[1]))
return Command::STATUS_OK;
else
return Command::STATUS_DENIED;
}
else
{
ostr << "Username and password required." << std::endl;
return Command::STATUS_USAGE;
}
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,61 @@
//
// LoginCommandFactory.cpp
//
// $Id: //poco/1.4/Shell/src/LoginCommandFactory.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: LoginCommand
//
// Copyright (c) 2009-2013, 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/Shell/LoginCommandFactory.h"
#include "Poco/Shell/LoginCommand.h"
namespace Poco {
namespace Shell {
LoginCommandFactory::LoginCommandFactory()
{
}
LoginCommandFactory::~LoginCommandFactory()
{
}
Command* LoginCommandFactory::createCommand()
{
return new LoginCommand();
}
} } // namespace Poco::Shell

64
Shell/src/QuitCommand.cpp Normal file
View File

@@ -0,0 +1,64 @@
//
// QuitCommand.cpp
//
// $Id: //poco/1.4/Shell/src/QuitCommand.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: QuitCommand
//
// Copyright (c) 2009-2013, 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/Shell/QuitCommand.h"
#include "Poco/Shell/Session.h"
namespace Poco {
namespace Shell {
QuitCommand::QuitCommand():
AbstractCommand(
/*TODO properties().getString("quit.description")*/"",
/*TODO properties().getString("quit.usage")*/"")
{
}
QuitCommand::~QuitCommand()
{
}
int QuitCommand::executeImpl(Session& session, const std::vector<std::string>& args, std::ostream& ostr)
{
return -1;
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,61 @@
//
// QuitCommandFactory.cpp
//
// $Id: //poco/1.4/Shell/src/QuitCommandFactory.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: QuitCommand
//
// Copyright (c) 2009-2013, 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/Shell/QuitCommandFactory.h"
#include "Poco/Shell/QuitCommand.h"
namespace Poco {
namespace Shell {
QuitCommandFactory::QuitCommandFactory()
{
}
QuitCommandFactory::~QuitCommandFactory()
{
}
Command* QuitCommandFactory::createCommand()
{
return new QuitCommand();
}
} } // namespace Poco::Shell

View File

@@ -0,0 +1,158 @@
//
// ResponseStream.cpp
//
// $Id: //poco/1.4/Shell/src/ResponseStream.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: ResponseStream
//
// Copyright (c) 2009-2013, 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/Shell/ResponseStream.h"
#include "Poco/NumberFormatter.h"
using Poco::NumberFormatter;
namespace Poco {
namespace Shell {
//
// ResponseStreamBuf
//
ResponseStreamBuf::ResponseStreamBuf(std::ostream& ostr, int status):
_ostr(ostr),
_status(status),
_lineComplete(false)
{
}
ResponseStreamBuf::~ResponseStreamBuf()
{
try
{
sync();
}
catch (...)
{
}
}
int ResponseStreamBuf::sync()
{
flushLine(false);
_ostr.flush();
return 0;
}
void ResponseStreamBuf::setStatus(int status)
{
if (status != _status)
{
flushLine(false);
_status = status;
}
}
int ResponseStreamBuf::writeToDevice(char c)
{
if (_lineComplete)
{
flushLine(true);
}
if (c == '\n')
{
_lineComplete = true;
}
else _line += c;
return charToInt(c);
}
void ResponseStreamBuf::flushLine(bool more)
{
_lineComplete = _lineComplete || !_line.empty();
if (_lineComplete)
{
_ostr << NumberFormatter::format0(_status, 3) << (more ? '-' : ' ') << _line << "\r\n";
}
_line.clear();
_lineComplete = false;
}
//
// ResponseIOS
//
ResponseIOS::ResponseIOS(std::ostream& ostr, int status):
_buf(ostr, status)
{
poco_ios_init(&_buf);
}
ResponseIOS::~ResponseIOS()
{
}
ResponseStreamBuf* ResponseIOS::rdbuf()
{
return &_buf;
}
//
// ResponseStream
//
ResponseStream::ResponseStream(std::ostream& ostr, int status):
ResponseIOS(ostr, status),
std::ostream(&_buf)
{
}
ResponseStream::~ResponseStream()
{
}
} } // namespace Poco::Shell

81
Shell/src/Session.cpp Normal file
View File

@@ -0,0 +1,81 @@
//
// Session.cpp
//
// $Id: //poco/1.4/Shell/src/Session.cpp#1 $
//
// Library: Shell
// Package: Shell
// Module: Session
//
// Copyright (c) 2009-2013, 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/Shell/Session.h"
namespace Poco {
namespace Shell {
Session::Session(const std::string& authServiceName):
_authServiceName(authServiceName),
_authenticated(false)
{
}
Session::~Session()
{
}
bool Session::login(const std::string& userName, const std::string& credentials)
{
// TODO: authentication
_authenticated = true;
return _authenticated;
}
bool Session::authorize(const std::string& permission) const
{
//TODO:: autorization
//authorize(_userName, permission);
return authenticated();
}
// TODO
/*
Poco::AuthService::Ptr Session::authService() const
{
return _pAuthService;
}
*/
} } // namespace Poco::Shell