Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

3
external/rx/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.DS_Store
xpkg
*.xam

BIN
external/rx/Ix/NET/35MSSharedLib1024.snk vendored Normal file

Binary file not shown.

207
external/rx/Ix/NET/Common.targets vendored Normal file
View File

@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<!--
***********************
* SUPPORTED PLATFORMS *
***********************
-->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugPL|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>PL</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleasePL|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>PL</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug45|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>45</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release45|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>45</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug40|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>40</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release40|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>40</BuildTarget>
</PropertyGroup>
<!--
***********************
* Legacy Platforms *
***********************
-->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug35|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>35</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release35|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>35</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugSL5|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>SL5</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseSL5|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>SL5</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugWP7|AnyCPU' ">
<BuildConfig>Debug</BuildConfig>
<BuildTarget>WP7</BuildTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseWP7|AnyCPU' ">
<BuildConfig>Release</BuildConfig>
<BuildTarget>WP7</BuildTarget>
</PropertyGroup>
<!-- Build properties for each platform, independent of debug/release build -->
<PropertyGroup Condition=" '$(BuildTarget)' == 'PL' ">
<DefineConstants>$(DefineConstants);HAS_AWAIT</DefineConstants>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile78</TargetFrameworkProfile>
<NoStdLib>true</NoStdLib>
<BuildFlavor>DESKTOPCLR45</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '45' ">
<DefineConstants>$(DefineConstants);HAS_AWAIT;HAS_APTCA</DefineConstants>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<NoStdLib>true</NoStdLib>
<BuildPlatform>DESKTOPCLR</BuildPlatform>
<BuildFlavor>DESKTOPCLR45</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'TestPL' ">
<DefineConstants>$(DefineConstants);HAS_AWAIT;HAS_APTCA;PORTABLE</DefineConstants>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<NoStdLib>true</NoStdLib>
<BuildPlatform>DESKTOPCLR</BuildPlatform>
<BuildFlavor>DESKTOPCLR45</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '40' ">
<DefineConstants>$(DefineConstants);HAS_APTCA</DefineConstants>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<BuildPlatform>DESKTOPCLR</BuildPlatform>
<BuildFlavor>DESKTOPCLR40</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == '35' ">
<DefineConstants>$(DefineConstants);NO_VARIANCE;NO_TPL;NO_LARGEARITY;NO_RXINTERFACES;NO_ZIP;HAS_APTCA</DefineConstants>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<BuildPlatform>DESKTOPCLR</BuildPlatform>
<BuildFlavor>DESKTOPCLR20</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == 'SL5' ">
<DefineConstants>$(DefineConstants);NO_SERIALIZABLE;NO_TPL;NO_REMOTING;NO_SEMAPHORE;NO_RXINTERFACES</DefineConstants>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>false</SilverlightApplication>
<BuildPlatform>SILVERLIGHT</BuildPlatform>
<BuildFlavor>SILVERLIGHT5</BuildFlavor>
</PropertyGroup>
<PropertyGroup Condition=" '$(BuildTarget)' == 'WP7' ">
<DefineConstants>$(DefineConstants);WINDOWSPHONE7;NO_TLS;NO_VARIANCE;NO_SERIALIZABLE;NO_TPL;NO_HASHSET;NO_REMOTING;NO_SEMAPHORE;NO_LARGEARITY;NO_ZIP</DefineConstants>
<TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>false</SilverlightApplication>
<BuildPlatform>SILVERLIGHT</BuildPlatform>
<BuildFlavor>SILVERLIGHTM7</BuildFlavor>
</PropertyGroup>
<!--
********************
* GENERAL SETTINGS *
********************
-->
<!-- All configurations -->
<PropertyGroup>
<DefineConstants>$(DefineConstants);$(BuildPlatform);$(BuildFlavor);TRACE</DefineConstants>
<OutputPath>..\bin\$(BuildConfig)$(BuildTarget)</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>1591</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<!-- Debug configurations -->
<PropertyGroup Condition=" '$(BuildConfig)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
</PropertyGroup>
<!-- Release configurations -->
<PropertyGroup Condition=" '$(BuildConfig)' == 'Release' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(NoOpt)' == '1' ">
<DefineConstants>$(DefineConstants);NO_PERF</DefineConstants>
</PropertyGroup>
<ItemGroup Condition=" '$(NoStdLib)' == 'true' ">
<Reference Include="mscorlib" />
</ItemGroup>
<ItemGroup Condition=" '$(BuildPlatform)' == 'NETCF' ">
<Reference Include="System.Core" />
</ItemGroup>
<PropertyGroup Condition=" '$(BuildLab)' == '1' ">
<DefineConstants>$(DefineConstants);NO_CODECOVERAGE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(ProductSignAssembly)' == 'true' AND '$(Sign)' == 'Sign' ">
<DefineConstants>$(DefineConstants);SIGNED</DefineConstants>
<AssemblyOriginatorKeyFile>..\35MSSharedLib1024.snk</AssemblyOriginatorKeyFile>
<SignKeyId>72</SignKeyId>
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
</PropertyGroup>
<PropertyGroup>
<GetReferenceAssemblyPathsDependsOn>CP_SetBuildReferencePath</GetReferenceAssemblyPathsDependsOn>
</PropertyGroup>
<Target Name="CP_SetBuildReferencePath">
<PropertyGroup>
<TargetFrameworkDirectory>$(ProjectDir)..\..\References\$(BuildFlavor)</TargetFrameworkDirectory>
</PropertyGroup>
</Target>
</Project>

View File

@@ -0,0 +1 @@
1888acd95c9f1c0c058760f12f2feef70cebb473

32
external/rx/Ix/NET/Import.targets vendored Normal file
View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Non-Portable Library build -->
<Import
Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"
Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildPlatform)' == 'DESKTOPCLR' " />
<!-- Silverlight ONLY (i.e., not phone) -->
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildPlatform)' == 'SILVERLIGHT' AND !('$(BuildFlavor)' == 'SILVERLIGHTM7') " />
<!-- Windows Phone 7.1 (Silverlight for Phone) -->
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.$(TargetFrameworkProfile).Overrides.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'SILVERLIGHTM7' " />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Silverlight for Phone\$(TargetFrameworkVersion)\Microsoft.Silverlight.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildFlavor)' == 'SILVERLIGHTM7' " />
<!-- <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" Condition=" '$(TargetFrameworkIdentifier)' != '.NETPortable' And '$(BuildPlatform)' == 'XNA' "/>
-->
<!-- Portable Library Build -->
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" Condition=" '$(TargetFrameworkIdentifier)' == '.NETPortable' " />
<!-- If "Sign" is set and assembly should be signed, generate a .sign file-->
<Target Name="AfterBuild"
Condition=" '$(ProductSignAssembly)' == 'true' AND '$(Sign)' == 'Sign' ">
<WriteLinesToFile
File="$(OutDir)\$(TargetFileName).sign"
Overwrite="true"
Lines="Auto-generated file, indicates the corresponding binary file needs to be signed." />
</Target>
</Project>

View File

@@ -0,0 +1,146 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Interactive", "System.Interactive\System.Interactive.csproj", "{8E4B04F0-915E-48F9-9796-76278C6094BD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{C4C8532A-F8D2-428B-962E-FD578A1E647C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{01E445E3-2296-48ED-A70D-F64CE755E0B6}"
ProjectSection(SolutionItems) = preProject
Interactive Extensions.vsmdi = Interactive Extensions.vsmdi
Local.testsettings = Local.testsettings
TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Interactive.Providers", "System.Interactive.Providers\System.Interactive.Providers.csproj", "{6D62E966-469D-4A99-BD43-0A17FA14FB4F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Interactive.Async", "System.Interactive.Async\System.Interactive.Async.csproj", "{7269A578-326A-4C3E-9874-A2D2600095BC}"
EndProject
Global
GlobalSection(TestCaseManagementSettings) = postSolution
CategoryFile = Interactive Extensions.vsmdi
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug35|Any CPU = Debug35|Any CPU
Debug40|Any CPU = Debug40|Any CPU
Debug45|Any CPU = Debug45|Any CPU
DebugPL|Any CPU = DebugPL|Any CPU
DebugSL5|Any CPU = DebugSL5|Any CPU
DebugWP7|Any CPU = DebugWP7|Any CPU
Release|Any CPU = Release|Any CPU
Release35|Any CPU = Release35|Any CPU
Release40|Any CPU = Release40|Any CPU
Release45|Any CPU = Release45|Any CPU
ReleasePL|Any CPU = ReleasePL|Any CPU
ReleaseSL5|Any CPU = ReleaseSL5|Any CPU
ReleaseWP7|Any CPU = ReleaseWP7|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug|Any CPU.ActiveCfg = Debug45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug|Any CPU.Build.0 = Debug45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug40|Any CPU.ActiveCfg = Debug40|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug40|Any CPU.Build.0 = Debug40|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugSL5|Any CPU.ActiveCfg = DebugSL5|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugSL5|Any CPU.Build.0 = DebugSL5|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugWP7|Any CPU.ActiveCfg = DebugWP7|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.DebugWP7|Any CPU.Build.0 = DebugWP7|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release|Any CPU.ActiveCfg = Release45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release|Any CPU.Build.0 = Release45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release35|Any CPU.Build.0 = Release35|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release40|Any CPU.ActiveCfg = Release40|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release40|Any CPU.Build.0 = Release40|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.Release45|Any CPU.Build.0 = Release45|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleaseSL5|Any CPU.ActiveCfg = ReleaseSL5|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleaseSL5|Any CPU.Build.0 = ReleaseSL5|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleaseWP7|Any CPU.ActiveCfg = ReleaseWP7|Any CPU
{8E4B04F0-915E-48F9-9796-76278C6094BD}.ReleaseWP7|Any CPU.Build.0 = ReleaseWP7|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug|Any CPU.ActiveCfg = Debug45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug|Any CPU.Build.0 = Debug45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug40|Any CPU.ActiveCfg = Debug40|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug40|Any CPU.Build.0 = Debug40|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugPL|Any CPU.ActiveCfg = TestPL|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugPL|Any CPU.Build.0 = TestPL|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugSL5|Any CPU.ActiveCfg = DebugSL5|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugSL5|Any CPU.Build.0 = DebugSL5|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugWP7|Any CPU.ActiveCfg = DebugWP7|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.DebugWP7|Any CPU.Build.0 = DebugWP7|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release|Any CPU.ActiveCfg = Release45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release|Any CPU.Build.0 = Release45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release35|Any CPU.Build.0 = Release35|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release40|Any CPU.ActiveCfg = Release40|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release40|Any CPU.Build.0 = Release40|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.Release45|Any CPU.Build.0 = Release45|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleasePL|Any CPU.ActiveCfg = TestPL|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleasePL|Any CPU.Build.0 = TestPL|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleaseSL5|Any CPU.ActiveCfg = ReleaseSL5|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleaseSL5|Any CPU.Build.0 = ReleaseSL5|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleaseWP7|Any CPU.ActiveCfg = ReleaseWP7|Any CPU
{C4C8532A-F8D2-428B-962E-FD578A1E647C}.ReleaseWP7|Any CPU.Build.0 = ReleaseWP7|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug|Any CPU.ActiveCfg = Debug45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug|Any CPU.Build.0 = Debug45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug35|Any CPU.Build.0 = Debug35|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug40|Any CPU.ActiveCfg = Debug40|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug40|Any CPU.Build.0 = Debug40|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.DebugSL5|Any CPU.ActiveCfg = DebugSL5|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.DebugSL5|Any CPU.Build.0 = DebugSL5|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.DebugWP7|Any CPU.ActiveCfg = DebugWP7|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release|Any CPU.ActiveCfg = Release45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release|Any CPU.Build.0 = Release45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release35|Any CPU.Build.0 = Release35|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release40|Any CPU.ActiveCfg = Release40|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release40|Any CPU.Build.0 = Release40|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.Release45|Any CPU.Build.0 = Release45|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.ReleaseSL5|Any CPU.ActiveCfg = ReleaseSL5|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.ReleaseSL5|Any CPU.Build.0 = ReleaseSL5|Any CPU
{6D62E966-469D-4A99-BD43-0A17FA14FB4F}.ReleaseWP7|Any CPU.ActiveCfg = ReleaseWP7|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug|Any CPU.ActiveCfg = Debug45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug|Any CPU.Build.0 = Debug45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug35|Any CPU.ActiveCfg = Debug35|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug40|Any CPU.ActiveCfg = Debug40|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug40|Any CPU.Build.0 = Debug40|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug45|Any CPU.ActiveCfg = Debug45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Debug45|Any CPU.Build.0 = Debug45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.DebugPL|Any CPU.ActiveCfg = DebugPL|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.DebugPL|Any CPU.Build.0 = DebugPL|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.DebugSL5|Any CPU.ActiveCfg = DebugSL5|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.DebugWP7|Any CPU.ActiveCfg = DebugWP7|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release|Any CPU.ActiveCfg = Release45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release|Any CPU.Build.0 = Release45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release35|Any CPU.ActiveCfg = Release35|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release40|Any CPU.ActiveCfg = Release40|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release40|Any CPU.Build.0 = Release40|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release45|Any CPU.ActiveCfg = Release45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.Release45|Any CPU.Build.0 = Release45|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.ReleasePL|Any CPU.ActiveCfg = ReleasePL|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.ReleasePL|Any CPU.Build.0 = ReleasePL|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.ReleaseSL5|Any CPU.ActiveCfg = ReleaseSL5|Any CPU
{7269A578-326A-4C3E-9874-A2D2600095BC}.ReleaseWP7|Any CPU.ActiveCfg = ReleaseWP7|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
<RunConfiguration id="78477b8c-bd50-44f5-8a17-2b7ba653d0db" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestList>
</TestLists>

View File

@@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<package >
<metadata>
<id>InteractiveExtensionsForAndroid</id>
<version>2.1.0</version>
<authors>Microsoft Open Technologies, Inc</authors>
<owners>Xamarin Inc.</owners>
<licenseUrl>https://raw.github.com/mono/rx/master/Ix/NET/license.txt</licenseUrl>
<projectUrl>https://github.com/mono/rx</projectUrl>
<iconUrl>https://raw.github.com/mono/rx/master/Ix/NET/Resources/Artwork/Logo_Color.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. (Android)</description>
<releaseNotes>Initial NuGet package release. WARNING: this won't work as expected if you are not using Xamarin.Android v4.7.x or later, which ships with some runtime bugfixes.</releaseNotes>
<copyright>Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.</copyright>
<tags>Ix Interactive Linq Xamarin Android</tags>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Core" targetFramework="MonoAndroid" />
</frameworkAssemblies>
</metadata>
<files>
<file target="lib/MonoAndroid" src="android/ix/System.Interactive/bin/Release/System.Interactive.dll" />
<file target="lib/MonoAndroid" src="android/ix/System.Interactive.Async/bin/Release/System.Interactive.Async.dll" />
<file target="lib/MonoAndroid" src="android/ix/System.Interactive.Providers/bin/Release/System.Interactive.Providers.dll" />
</files>
</package>

View File

@@ -0,0 +1,36 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "android_System.Interactive", "android\ix\System.Interactive\android_System.Interactive.csproj", "{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "android_System.Interactive.Async", "android\ix\System.Interactive.Async\android_System.Interactive.Async.csproj", "{065F2411-7610-4AD6-9513-A1EFFCE576C0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "android_System.Interactive.Providers", "android\ix\System.Interactive.Providers\android_System.Interactive.Providers.csproj", "{C4037060-1692-4423-B29E-76F3A74A72A5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{065F2411-7610-4AD6-9513-A1EFFCE576C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{065F2411-7610-4AD6-9513-A1EFFCE576C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{065F2411-7610-4AD6-9513-A1EFFCE576C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{065F2411-7610-4AD6-9513-A1EFFCE576C0}.Release|Any CPU.Build.0 = Release|Any CPU
{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}.Release|Any CPU.Build.0 = Release|Any CPU
{C4037060-1692-4423-B29E-76F3A74A72A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4037060-1692-4423-B29E-76F3A74A72A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4037060-1692-4423-B29E-76F3A74A72A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4037060-1692-4423-B29E-76F3A74A72A5}.Release|Any CPU.Build.0 = Release|Any CPU
{4FA878DC-6E88-43C4-B37B-8C1151CEC56F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4FA878DC-6E88-43C4-B37B-8C1151CEC56F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4FA878DC-6E88-43C4-B37B-8C1151CEC56F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4FA878DC-6E88-43C4-B37B-8C1151CEC56F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = android\ix\System.Interactive\android_System.Interactive.csproj
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,9 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{065F2411-7610-4AD6-9513-A1EFFCE576C0}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>System.Reactive</RootNamespace>
<AssemblyName>System.Interactive.Async</AssemblyName>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>None</AndroidLinkMode>
<ConsolePause>False</ConsolePause>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>False</ConsolePause>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Conversions.cs">
<Link>AsyncEnumerable.Conversions.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Creation.cs">
<Link>AsyncEnumerable.Creation.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Exceptions.cs">
<Link>AsyncEnumerable.Exceptions.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Generated.cs">
<Link>AsyncEnumerable.Generated.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Single.cs">
<Link>AsyncEnumerable.Single.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Multiple.cs">
<Link>AsyncEnumerable.Multiple.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerable.Aggregates.cs">
<Link>AsyncEnumerable.Aggregates.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\AsyncEnumerator.cs">
<Link>AsyncEnumerator.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\Disposables.cs">
<Link>Disposables.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\EnumerableGrouping.cs">
<Link>EnumerableGrouping.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\IAsyncEnumerable.cs">
<Link>IAsyncEnumerable.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\IAsyncEnumerator.cs">
<Link>IAsyncEnumerator.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\IAsyncGrouping.cs">
<Link>IAsyncGrouping.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\IOrderedAsyncEnumerable.cs">
<Link>IOrderedAsyncEnumerable.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Async\TaskExt.cs">
<Link>TaskExt.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{C4037060-1692-4423-B29E-76F3A74A72A5}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>System.Reactive</RootNamespace>
<AssemblyName>System.Interactive.Providers</AssemblyName>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>None</AndroidLinkMode>
<ConsolePause>False</ConsolePause>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>False</ConsolePause>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\System.Interactive\android_System.Interactive.csproj">
<Project>{8E4B04F0-915E-48F9-9796-76278C6094BD}</Project>
<Name>android_System.Interactive</Name>
</ProjectReference>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\System.Interactive.Providers\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive.Providers\QueryableEx.cs">
<Link>QueryableEx.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5F7F40B6-19D3-48C7-8E15-AE1F976F60E1}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>System.Reactive</RootNamespace>
<AssemblyName>System.Interactive</AssemblyName>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>None</AndroidLinkMode>
<ConsolePause>False</ConsolePause>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;HAS_AWAIT;NUNIT;MONODROID;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>False</ConsolePause>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\System.Interactive\IAwaitable.cs">
<Link>IAwaitable.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Imperative.cs">
<Link>EnumerableEx.Imperative.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Multiple.cs">
<Link>EnumerableEx.Multiple.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Single.cs">
<Link>EnumerableEx.Single.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Exceptions.cs">
<Link>EnumerableEx.Exceptions.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Creation.cs">
<Link>EnumerableEx.Creation.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Buffering.cs">
<Link>EnumerableEx.Buffering.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\EnumerableEx.Aggregates.cs">
<Link>EnumerableEx.Aggregates.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\IYielder.cs">
<Link>IYielder.cs</Link>
</Compile>
<Compile Include="..\..\..\..\System.Interactive\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{220AD2F1-FEE9-4514-8F36-6BE37F0AAD7F}</ProjectGuid>
<ProjectTypeGuids>{6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>System.Reactive</RootNamespace>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<AssemblyName>System.Interactive.Async</AssemblyName>
<ProductSignAssembly>true</ProductSignAssembly>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
<additionalargs>-delaySign</additionalargs>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<!--
<TargetFrameworkIdentifier>iOS</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v2.0.5</TargetFrameworkVersion>
-->
<!-- NoStdLib>true</NoStdLib -->
<BuildPlatform>MOBILE</BuildPlatform>
<BuildFlavor>MONOTOUCH</BuildFlavor>
</PropertyGroup>
<Import Project="..\..\..\Common.targets" />
<PropertyGroup>
<DocumentationFile>$(OutputPath)\$(AssemblyName).XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="MonoTouch.NUnitLite" />
</ItemGroup>
<ItemGroup>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Conversions.cs">
<Link>AsyncEnumerable.Conversions.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Creation.cs">
<Link>AsyncEnumerable.Creation.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Exceptions.cs">
<Link>AsyncEnumerable.Exceptions.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Generated.cs">
<Link>AsyncEnumerable.Generated.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Single.cs">
<Link>AsyncEnumerable.Single.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Multiple.cs">
<Link>AsyncEnumerable.Multiple.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerable.Aggregates.cs">
<Link>AsyncEnumerable.Aggregates.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/AsyncEnumerator.cs">
<Link>AsyncEnumerator.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/Disposables.cs">
<Link>Disposables.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/EnumerableGrouping.cs">
<Link>EnumerableGrouping.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/IAsyncEnumerable.cs">
<Link>IAsyncEnumerable.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/IAsyncEnumerator.cs">
<Link>IAsyncEnumerator.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/IAsyncGrouping.cs">
<Link>IAsyncGrouping.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/IOrderedAsyncEnumerable.cs">
<Link>IOrderedAsyncEnumerable.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/Properties/AssemblyInfo.cs">
<Link>Properties/AssemblyInfo.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Async/TaskExt.cs">
<Link>TaskExt.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{4779C7FF-6969-4715-9389-DF6C43655D6F}</ProjectGuid>
<ProjectTypeGuids>{6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>System.Reactive</RootNamespace>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<AssemblyName>System.Interactive.Providers</AssemblyName>
<ProductSignAssembly>true</ProductSignAssembly>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
<additionalargs>-delaySign</additionalargs>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<!--
<TargetFrameworkIdentifier>iOS</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v2.0.5</TargetFrameworkVersion>
-->
<!-- NoStdLib>true</NoStdLib -->
<BuildPlatform>MOBILE</BuildPlatform>
<BuildFlavor>MONOTOUCH</BuildFlavor>
</PropertyGroup>
<Import Project="..\..\..\Common.targets" />
<PropertyGroup>
<DocumentationFile>$(OutputPath)\$(AssemblyName).XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="MonoTouch.NUnitLite" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\System.Interactive\ios_System.Interactive.csproj">
<Project>{8E4B04F0-915E-48F9-9796-76278C6094BD}</Project>
<Name>ios_System.Interactive</Name>
</ProjectReference>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="../../../../System.Interactive.Providers/Properties/AssemblyInfo.cs">
<Link>Properties/AssemblyInfo.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive.Providers/QueryableEx.cs">
<Link>QueryableEx.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{AD6FCBE9-0F6A-4F27-8147-17AB1C8799A2}</ProjectGuid>
<ProjectTypeGuids>{6BC8ED88-2882-458C-8E55-DFD12B67127B};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>System.Reactive</RootNamespace>
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
<AssemblyName>System.Interactive</AssemblyName>
<ProductSignAssembly>true</ProductSignAssembly>
<DefineConstants>NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
<additionalargs>-delaySign</additionalargs>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
<DefineConstants>DEBUG;NO_TASK_DELAY;NO_WINDOWS_THREADING;NO_REMOTING;NO_REFLECTION_EMIT;HAS_AWAIT;NUNIT;$(SignAssemblySpec)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release</OutputPath>
<ConsolePause>False</ConsolePause>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<!--
<TargetFrameworkIdentifier>iOS</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v2.0.5</TargetFrameworkVersion>
-->
<!-- NoStdLib>true</NoStdLib -->
<BuildPlatform>MOBILE</BuildPlatform>
<BuildFlavor>MONOTOUCH</BuildFlavor>
</PropertyGroup>
<Import Project="..\..\..\Common.targets" />
<PropertyGroup>
<DocumentationFile>$(OutputPath)\$(AssemblyName).XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="MonoTouch.NUnitLite" />
</ItemGroup>
<ItemGroup>
<!--
<ProjectReference Include="..\Andr.Unit\Android.NUnitLite\Android.NUnitLite.csproj">
<Project>{6A005891-A3D6-4398-A729-F645397D573A}</Project>
<Name>Android.NUnitLite</Name>
</ProjectReference>
-->
</ItemGroup>
<ItemGroup>
<Compile Include="../../../../System.Interactive/IAwaitable.cs">
<Link>IAwaitable.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Imperative.cs">
<Link>EnumerableEx.Imperative.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Multiple.cs">
<Link>EnumerableEx.Multiple.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Single.cs">
<Link>EnumerableEx.Single.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Exceptions.cs">
<Link>EnumerableEx.Exceptions.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Creation.cs">
<Link>EnumerableEx.Creation.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Buffering.cs">
<Link>EnumerableEx.Buffering.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/EnumerableEx.Aggregates.cs">
<Link>EnumerableEx.Aggregates.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/IYielder.cs">
<Link>IYielder.cs</Link>
</Compile>
<Compile Include="../../../../System.Interactive/Properties/AssemblyInfo.cs">
<Link>Properties/AssemblyInfo.cs</Link>
</Compile>
<!--
<Compile Include="..\..\..\Microsoft.Reactive.Testing\ColdObservable.cs">
<Link>ColdObservable.cs</Link>
</Compile>
-->
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

37
external/rx/Ix/NET/Local.testsettings vendored Normal file
View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Local" id="78477b8c-bd50-44f5-8a17-2b7ba653d0db" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<Execution>
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
<WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
<Browser name="Internet Explorer 7.0">
<Headers>
<Header name="User-Agent" value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />
<Header name="Accept" value="*/*" />
<Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
<Header name="Accept-Encoding" value="GZIP" />
</Headers>
</Browser>
</WebTestRunConfiguration>
</TestTypeSpecific>
<AgentRule name="LocalMachineDefaultRole">
<DataCollectors>
<DataCollector uri="datacollector://microsoft/CodeCoverage/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.CodeCoverage.CoveragePlugIn, Microsoft.VisualStudio.QualityTools.Plugins.CodeCoverage, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Code Coverage">
<Configuration>
<CodeCoverage xmlns="">
<Regular>
<CodeCoverageItem binaryFile="System.Interactive.Async\bin\Debug40\System.Interactive.Async.dll" pdbFile="System.Interactive.Async\bin\Debug40\System.Interactive.Async.pdb" instrumentInPlace="true" />
<CodeCoverageItem binaryFile="System.Interactive\bin\Debug40\System.Interactive.dll" pdbFile="System.Interactive\bin\Debug40\System.Interactive.pdb" instrumentInPlace="true" />
</Regular>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</AgentRule>
</Execution>
</TestSettings>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,262 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Threading;
namespace System.Linq
{
public static partial class AsyncEnumerable
{
public static IAsyncEnumerable<TSource> ToAsyncEnumerable<TSource>(this IEnumerable<TSource> source)
{
if (source == null)
throw new ArgumentNullException("source");
return Create(() =>
{
var e = source.GetEnumerator();
return Create(
ct => Task.Factory.StartNew(() =>
{
var res = default(bool);
try
{
res = e.MoveNext();
}
finally
{
if (!res)
e.Dispose();
}
return res;
}, ct),
() => e.Current,
() => e.Dispose()
);
});
}
public static IEnumerable<TSource> ToEnumerable<TSource>(this IAsyncEnumerable<TSource> source)
{
if (source == null)
throw new ArgumentNullException("source");
return ToEnumerable_(source);
}
private static IEnumerable<TSource> ToEnumerable_<TSource>(IAsyncEnumerable<TSource> source)
{
using (var e = source.GetEnumerator())
{
while (true)
{
var t = e.MoveNext(CancellationToken.None);
t.Wait();
if (!t.Result)
break;
var c = e.Current;
yield return c;
}
}
}
#if !NO_RXINTERFACES
public static IAsyncEnumerable<TSource> ToAsyncEnumerable<TSource>(this IObservable<TSource> source)
{
if (source == null)
throw new ArgumentNullException("source");
return Create(() =>
{
var observer = new ToAsyncEnumerableObserver<TSource>();
observer.Queue = new Queue<Either<TSource, Exception, bool>>();
var subscription = source.Subscribe(observer);
return Create(
(ct, tcs) =>
{
lock (observer.Queue)
{
if (observer.Queue.Count > 0)
{
var n = observer.Queue.Dequeue();
n.Switch(
x =>
{
observer.Current = x;
tcs.TrySetResult(true);
},
ex =>
{
tcs.TrySetException(ex);
},
_ =>
{
tcs.TrySetResult(false);
}
);
}
else
observer.TaskCompletionSource = tcs;
}
return tcs.Task;
},
() => observer.Current,
() =>
{
subscription.Dispose();
// Should we cancel in-flight operations somehow?
});
});
}
class ToAsyncEnumerableObserver<T> : IObserver<T>
{
public Queue<Either<T, Exception, bool>> Queue { get; set; }
public T Current { get; set; }
public TaskCompletionSource<bool> TaskCompletionSource { get; set; }
public void OnCompleted()
{
lock (Queue)
{
if (TaskCompletionSource == null)
Queue.Enqueue(new Either<T, Exception, bool>.Choice3(true));
else
{
TaskCompletionSource.SetResult(false);
TaskCompletionSource = null;
}
}
}
public void OnError(Exception error)
{
lock (Queue)
{
if (TaskCompletionSource == null)
Queue.Enqueue(new Either<T, Exception, bool>.Choice2(error));
else
{
TaskCompletionSource.SetException(error);
TaskCompletionSource = null;
}
}
}
public void OnNext(T value)
{
lock (Queue)
{
if (TaskCompletionSource == null)
Queue.Enqueue(new Either<T, Exception, bool>.Choice1(value));
else
{
Current = value;
TaskCompletionSource.SetResult(true);
TaskCompletionSource = null;
}
}
}
}
abstract class Either<T, U, V>
{
public abstract void Switch(Action<T> choice1, Action<U> choice2, Action<V> choice3);
public class Choice1 : Either<T, U, V>
{
public Choice1(T value) { Value = value; }
public T Value { get; private set; }
public override void Switch(Action<T> choice1, Action<U> choice2, Action<V> choice3)
{
choice1(Value);
}
}
public class Choice2 : Either<T, U, V>
{
public Choice2(U value) { Value = value; }
public U Value { get; private set; }
public override void Switch(Action<T> choice1, Action<U> choice2, Action<V> choice3)
{
choice2(Value);
}
}
public class Choice3 : Either<T, U, V>
{
public Choice3(V value) { Value = value; }
public V Value { get; private set; }
public override void Switch(Action<T> choice1, Action<U> choice2, Action<V> choice3)
{
choice3(Value);
}
}
}
public static IObservable<TSource> ToObservable<TSource>(this IAsyncEnumerable<TSource> source)
{
if (source == null)
throw new ArgumentNullException("source");
return new ToObservableObservable<TSource>(source);
}
class ToObservableObservable<T> : IObservable<T>
{
private readonly IAsyncEnumerable<T> source;
public ToObservableObservable(IAsyncEnumerable<T> source)
{
this.source = source;
}
public IDisposable Subscribe(IObserver<T> observer)
{
var ctd = new CancellationTokenDisposable();
var e = source.GetEnumerator();
var f = default(Action);
f = () => e.MoveNext(ctd.Token).ContinueWith(t =>
{
if (t.IsFaulted)
{
observer.OnError(t.Exception);
e.Dispose();
}
else if (t.IsCanceled)
{
e.Dispose();
}
else if (t.IsCompleted)
{
if (t.Result)
{
observer.OnNext(e.Current);
f();
}
else
{
observer.OnCompleted();
e.Dispose();
}
}
}, ctd.Token);
f();
return new CompositeDisposable(ctd, e);
}
}
#endif
}
}

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