Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: SignalR/SignalR
...
head fork: SignalR/SignalR
Checking mergeability… Don't worry, you can still create the pull request.
  • 1 commit
  • 13 files changed
  • 0 commit comments
  • 1 contributor
Commits on Feb 18, 2012
@DamianEdwards DamianEdwards created NetMF projects 9113b75
View
175 SignalR.Client.NetMF.Samples/GPIOButtonInputProvider.cs
@@ -0,0 +1,175 @@
+using System;
+using Microsoft.SPOT;
+using Microsoft.SPOT.Input;
+using Microsoft.SPOT.Hardware;
+using Microsoft.SPOT.Presentation;
+
+namespace SignalR.Client.NetMF.Samples
+{
+ /// <summary>
+ /// Uses the hardware provider to get the pins for handling button input.
+ /// </summary>
+ public sealed class GPIOButtonInputProvider
+ {
+ public readonly Dispatcher Dispatcher;
+
+ private ButtonPad[] buttons;
+ private DispatcherOperationCallback callback;
+ private InputProviderSite site;
+ private PresentationSource source;
+
+ /// <summary>
+ /// Maps GPIOs to Buttons that can be processed by
+ /// Microsoft.SPOT.Presentation.
+ /// </summary>
+ /// <param name="source"></param>
+ public GPIOButtonInputProvider(PresentationSource source)
+ {
+ // Set the input source.
+ this.source = source;
+
+ // Register our object as an input source with the input manager and
+ // get back an InputProviderSite object which forwards the input
+ // report to the input manager, which then places the input in the
+ // staging area.
+ site = InputManager.CurrentInputManager.RegisterInputProvider(this);
+
+ // Create a delegate that refers to the InputProviderSite object's
+ // ReportInput method.
+ callback = new DispatcherOperationCallback(delegate(object report)
+ {
+#if MF_FRAMEWORK_VERSION_V3_0
+ return site.ReportInput((InputReport)report);
+#else
+ InputReportArgs args = (InputReportArgs)report;
+ return site.ReportInput(args.Device, args.Report);
+#endif
+ });
+ Dispatcher = Dispatcher.CurrentDispatcher;
+
+ // Create a hardware provider.
+ HardwareProvider hwProvider = new HardwareProvider();
+
+ // Create the pins that are needed for the buttons. Default their
+ // values for the emulator.
+ Cpu.Pin pinLeft = Cpu.Pin.GPIO_Pin0;
+ Cpu.Pin pinRight = Cpu.Pin.GPIO_Pin1;
+ Cpu.Pin pinUp = Cpu.Pin.GPIO_Pin2;
+ Cpu.Pin pinSelect = Cpu.Pin.GPIO_Pin3;
+ Cpu.Pin pinDown = Cpu.Pin.GPIO_Pin4;
+
+ // Use the hardware provider to get the pins. If the left pin is
+ // not set, assume none of the pins are set, and set the left pin
+ // back to the default emulator value.
+ if ((pinLeft = hwProvider.GetButtonPins(Button.VK_LEFT)) ==
+ Cpu.Pin.GPIO_NONE)
+ pinLeft = Cpu.Pin.GPIO_Pin0;
+ else
+ {
+ pinRight = hwProvider.GetButtonPins(Button.VK_RIGHT);
+ pinUp = hwProvider.GetButtonPins(Button.VK_UP);
+ pinSelect = hwProvider.GetButtonPins(Button.VK_SELECT);
+ pinDown = hwProvider.GetButtonPins(Button.VK_DOWN);
+ }
+
+ // Allocate button pads and assign the (emulated) hardware pins as
+ // input from specific buttons.
+ ButtonPad[] buttons = new ButtonPad[]
+ {
+ // Associate the buttons to the pins as discovered or set above
+ new ButtonPad(this, Button.VK_LEFT , pinLeft),
+ new ButtonPad(this, Button.VK_RIGHT , pinRight),
+ new ButtonPad(this, Button.VK_UP , pinUp),
+ new ButtonPad(this, Button.VK_SELECT, pinSelect),
+ new ButtonPad(this, Button.VK_DOWN , pinDown),
+ };
+
+ this.buttons = buttons;
+ }
+
+ /// <summary>
+ /// Represents a button pad on the emulated device, containing five
+ /// buttons for user input.
+ /// </summary>
+ internal class ButtonPad : IDisposable
+ {
+ private Button button;
+ private InterruptPort port;
+ private GPIOButtonInputProvider sink;
+ private ButtonDevice buttonDevice;
+
+ /// <summary>
+ /// Constructs a ButtonPad object that handles the emulated
+ /// hardware's button interrupts.
+ /// </summary>
+ /// <param name="sink"></param>
+ /// <param name="button"></param>
+ /// <param name="pin"></param>
+ public ButtonPad(GPIOButtonInputProvider sink, Button button,
+ Cpu.Pin pin)
+ {
+ this.sink = sink;
+ this.button = button;
+#if !MF_FRAMEWORK_VERSION_V3_0
+ this.buttonDevice = InputManager.CurrentInputManager.ButtonDevice;
+#endif
+
+ /// Do not set an InterruptPort with GPIO_NONE.
+ if (pin != Cpu.Pin.GPIO_NONE)
+ {
+ // When this GPIO pin is true, call the Interrupt method.
+ port = new InterruptPort(pin, true,
+ Port.ResistorMode.PullUp,
+ Port.InterruptMode.InterruptEdgeBoth);
+ port.OnInterrupt += new NativeEventHandler(this.Interrupt);
+ }
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ // dispose managed resources
+ if (port != null)
+ {
+ port.Dispose();
+ port = null;
+ }
+ }
+ // free native resources
+ }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ /// <summary>
+ /// Handles an interrupt.
+ /// </summary>
+ /// <param name="data1"></param>
+ /// <param name="data2"></param>
+ /// <param name="time"></param>
+#if MF_FRAMEWORK_VERSION_V3_0
+ void Interrupt(uint data1, uint data2, TimeSpan time)
+#else
+ void Interrupt(uint data1, uint data2, DateTime time)
+#endif
+ {
+ RawButtonActions action = (data2 != 0) ?
+ RawButtonActions.ButtonUp : RawButtonActions.ButtonDown;
+
+ RawButtonInputReport report = new RawButtonInputReport(
+ sink.source, time, button, action);
+
+ // Queue the button press to the input provider site.
+#if MF_FRAMEWORK_VERSION_V3_0
+ sink.Dispatcher.BeginInvoke(sink.callback, report);
+#else
+ sink.Dispatcher.BeginInvoke(sink.callback, new InputReportArgs(buttonDevice, report));
+#endif
+ }
+ }
+ }
+}
View
66 SignalR.Client.NetMF.Samples/Program.cs
@@ -0,0 +1,66 @@
+using System;
+
+using Microsoft.SPOT;
+using Microsoft.SPOT.Input;
+using Microsoft.SPOT.Presentation;
+using Microsoft.SPOT.Presentation.Controls;
+
+namespace SignalR.Client.NetMF.Samples
+{
+ public class Program : Microsoft.SPOT.Application
+ {
+ public static void Main()
+ {
+ Program myApplication = new Program();
+
+ Window mainWindow = myApplication.CreateWindow();
+
+ // Create the object that configures the GPIO pins to buttons.
+ GPIOButtonInputProvider inputProvider = new GPIOButtonInputProvider(null);
+
+ // Start the application
+ myApplication.Run(mainWindow);
+ }
+
+ private Window mainWindow;
+
+ public Window CreateWindow()
+ {
+ // Create a window object and set its size to the
+ // size of the display.
+ mainWindow = new Window();
+ mainWindow.Height = SystemMetrics.ScreenHeight;
+ mainWindow.Width = SystemMetrics.ScreenWidth;
+
+ // Create a single text control.
+ Text text = new Text();
+
+ text.Font = Resources.GetFont(Resources.FontResources.small);
+ text.TextContent = Resources.GetString(Resources.StringResources.String1);
+ text.HorizontalAlignment = Microsoft.SPOT.Presentation.HorizontalAlignment.Center;
+ text.VerticalAlignment = Microsoft.SPOT.Presentation.VerticalAlignment.Center;
+
+ // Add the text control to the window.
+ mainWindow.Child = text;
+
+ // Connect the button handler to all of the buttons.
+ mainWindow.AddHandler(Buttons.ButtonUpEvent, new RoutedEventHandler(OnButtonUp), false);
+
+ // Set the window visibility to visible.
+ mainWindow.Visibility = Visibility.Visible;
+
+ // Attach the button focus to the window.
+ Buttons.Focus(mainWindow);
+
+ return mainWindow;
+ }
+
+ private void OnButtonUp(object sender, RoutedEventArgs evt)
+ {
+ ButtonEventArgs e = (ButtonEventArgs)evt;
+
+ // Print the button code to the Visual Studio output window.
+ Debug.Print(e.Button.ToString());
+ }
+ }
+}
View
25 SignalR.Client.NetMF.Samples/Properties/AssemblyInfo.cs
@@ -0,0 +1,25 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SignalR.Client.NetMF.Samples")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SignalR.Client.NetMF.Samples")]
+[assembly: AssemblyCopyright("Copyright © 2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
View
47 SignalR.Client.NetMF.Samples/Resources.Designer.cs
@@ -0,0 +1,47 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.42
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace SignalR.Client.NetMF.Samples
+{
+
+ internal class Resources
+ {
+ private static System.Resources.ResourceManager manager;
+ internal static System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((Resources.manager == null))
+ {
+ Resources.manager = new System.Resources.ResourceManager("SignalR.Client.NetMF.Samples.Resources", typeof(Resources).Assembly);
+ }
+ return Resources.manager;
+ }
+ }
+ internal static Microsoft.SPOT.Font GetFont(Resources.FontResources id)
+ {
+ return ((Microsoft.SPOT.Font)(Microsoft.SPOT.ResourceUtility.GetObject(ResourceManager, id)));
+ }
+ internal static string GetString(Resources.StringResources id)
+ {
+ return ((string)(Microsoft.SPOT.ResourceUtility.GetObject(ResourceManager, id)));
+ }
+ [System.SerializableAttribute()]
+ internal enum StringResources : short
+ {
+ String1 = 1228,
+ }
+ [System.SerializableAttribute()]
+ internal enum FontResources : short
+ {
+ small = 13070,
+ }
+ }
+}
View
127 SignalR.Client.NetMF.Samples/Resources.resx
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="small" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>resources\small.tinyfnt;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="String1" xml:space="preserve">
+ <value>Hello World!</value>
+ </data>
+</root>
View
BIN  SignalR.Client.NetMF.Samples/Resources/small.tinyfnt
Binary file not shown
View
70 SignalR.Client.NetMF.Samples/SignalR.Client.NetMF.Samples.csproj
@@ -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>
+ <AssemblyName>SignalR.Client.NetMF.Samples</AssemblyName>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>SignalR.Client.NetMF.Samples</RootNamespace>
+ <ProjectTypeGuids>{b69e3092-b931-443c-abe7-7e7b65f2a37f};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{DEC00EF4-78F5-4587-BE21-352EBE76199F}</ProjectGuid>
+ <TargetFrameworkVersion>v4.1</TargetFrameworkVersion>
+ <NetMfTargetsBaseDir Condition="'$(NetMfTargetsBaseDir)'==''">$(MSBuildExtensionsPath32)\Microsoft\.NET Micro Framework\</NetMfTargetsBaseDir>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <Import Project="$(NetMfTargetsBaseDir)$(TargetFrameworkVersion)\CSharp.Targets" />
+ <ItemGroup>
+ <Compile Include="GPIOButtonInputProvider.cs" />
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Tasks\Task.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.SPOT.Graphics">
+ </Reference>
+ <Reference Include="Microsoft.SPOT.Hardware">
+ </Reference>
+ <Reference Include="Microsoft.SPOT.Native">
+ </Reference>
+ <Reference Include="Microsoft.SPOT.TinyCore">
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Resources.resx">
+ <SubType>Designer</SubType>
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\small.tinyfnt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\SignalR.Client.NetMF\SignalR.Client.NetMF.csproj">
+ <Project>{0B97268B-F932-4AC4-A9E4-746186FC4EF0}</Project>
+ <Name>SignalR.Client.NetMF</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup />
+</Project>
View
46 SignalR.Client.NetMF.Samples/Tasks/Task.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.SPOT;
+
+namespace SignalR.Client.NetMF.Samples.Tasks
+{
+ public class Task : System.Threading.Tasks.Task
+ {
+ private readonly Dispatcher _dispatcher;
+
+ public Task(TaskStart start, Dispatcher dispatcher)
+ : base(start)
+ {
+ _dispatcher = dispatcher;
+ }
+
+ public override void Start()
+ {
+ if (_dispatcher != null)
+ {
+ _dispatcher.BeginInvoke(_ =>
+ {
+ StartDelegate();
+ return true;
+ }, null);
+ Status = TaskStatus.Running;
+ }
+ else
+ {
+ base.Start();
+ }
+ }
+
+ public System.Threading.Tasks.Task Then(TaskContinuation continuation, Dispatcher dispatcher)
+ {
+ Continuation = new Task(() => continuation(this), dispatcher);
+ if (Status == TaskStatus.RanToCompletion)
+ {
+ // Task already completed
+ RunContinuation();
+ }
+ return Continuation;
+ }
+ }
+}
View
25 SignalR.Client.NetMF/Properties/AssemblyInfo.cs
@@ -0,0 +1,25 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SignalR.Client.NetMF")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("SignalR.Client.NetMF")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
View
43 SignalR.Client.NetMF/SignalR.Client.NetMF.csproj
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <AssemblyName>SignalR.Client.NetMF</AssemblyName>
+ <OutputType>Library</OutputType>
+ <RootNamespace>SignalR.Client.NetMF</RootNamespace>
+ <ProjectTypeGuids>{b69e3092-b931-443c-abe7-7e7b65f2a37f};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{0B97268B-F932-4AC4-A9E4-746186FC4EF0}</ProjectGuid>
+ <TargetFrameworkVersion>v4.1</TargetFrameworkVersion>
+ <NetMfTargetsBaseDir Condition="'$(NetMfTargetsBaseDir)'==''">$(MSBuildExtensionsPath32)\Microsoft\.NET Micro Framework\</NetMfTargetsBaseDir>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <Import Project="$(NetMfTargetsBaseDir)$(TargetFrameworkVersion)\CSharp.Targets" />
+ <ItemGroup>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Tasks\Task.cs" />
+ <Compile Include="Tasks\TaskStatus.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Microsoft.SPOT.Native">
+ </Reference>
+ <Reference Include="System.Http" />
+ </ItemGroup>
+ <ItemGroup />
+</Project>
View
79 SignalR.Client.NetMF/Tasks/Task.cs
@@ -0,0 +1,79 @@
+using System;
+using Microsoft.SPOT;
+
+namespace System.Threading.Tasks
+{
+ public class Task
+ {
+ public delegate object TaskStart();
+ public delegate object TaskContinuation(Task parent);
+
+ public Task(TaskStart start)
+ {
+ Status = TaskStatus.Created;
+ StartDelegate = () =>
+ {
+ try
+ {
+ Result = start();
+ Status = TaskStatus.RanToCompletion;
+ }
+ catch (Exception ex)
+ {
+ Exception = ex;
+ Status = TaskStatus.Faulted;
+ }
+
+ RunContinuation();
+ };
+ }
+
+ protected ThreadStart StartDelegate { get; set; }
+
+ protected Task Continuation { get; set; }
+
+ public Exception Exception { get; private set; }
+
+ public object Result { get; private set; }
+
+ public TaskStatus Status { get; protected set; }
+
+ public bool IsFaulted { get { return Status == TaskStatus.Faulted; } }
+
+ public bool IsCompleted { get { return Status == TaskStatus.RanToCompletion; } }
+
+ public virtual void Start()
+ {
+ var thread = new Thread(StartDelegate);
+ thread.Start();
+
+ Status = TaskStatus.Running;
+ }
+
+ public Task Then(TaskContinuation continuation)
+ {
+ Continuation = new Task(() => continuation(this));
+ if (Status == TaskStatus.RanToCompletion)
+ {
+ // Task already completed
+ RunContinuation();
+ }
+ return Continuation;
+ }
+
+ protected void RunContinuation()
+ {
+ if (Continuation == null)
+ {
+ return;
+ }
+ Continuation.Start();
+ }
+
+ private void Start(object result)
+ {
+ Result = result;
+ Start();
+ }
+ }
+}
View
12 SignalR.Client.NetMF/Tasks/TaskStatus.cs
@@ -0,0 +1,12 @@
+
+namespace System.Threading.Tasks
+{
+ public enum TaskStatus
+ {
+ Created,
+ Running,
+ RanToCompletion,
+ Canceled,
+ Faulted
+ }
+}
View
196 SignalR.NetMF.sln
@@ -0,0 +1,196 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR", "SignalR\SignalR.csproj", "{1B9A82C4-BCA1-4834-A33E-226F17BE070B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.ScaleOut", "SignalR.ScaleOut\SignalR.ScaleOut.csproj", "{32D16B36-970E-4CF2-B954-78CB1833CBC1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Client", "SignalR.Client\SignalR.Client.csproj", "{EB46B9C6-EE37-48F9-835E-E49580E40E0A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{1E4BA77C-4977-40AA-B297-3A2CB9990ABF}"
+ ProjectSection(SolutionItems) = preProject
+ Build\Build.proj = Build\Build.proj
+ ReleaseNotes.md = ReleaseNotes.md
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Tests", "SignalR.Tests\SignalR.Tests.csproj", "{FBA09237-84CC-4383-BD12-CDF58E4020E8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Client.Samples", "SignalR.Client.Samples\SignalR.Client.Samples.csproj", "{E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Stress", "SignalR.Stress\SignalR.Stress.csproj", "{758D93C8-7985-4F55-82DA-8BA5198CF4EF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.AspNet", "SignalR.Hosting.AspNet\SignalR.Hosting.AspNet.csproj", "{0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.AspNet.Samples", "SignalR.Hosting.AspNet.Samples\SignalR.Hosting.AspNet.Samples.csproj", "{1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.Owin", "SignalR.Hosting.Owin\SignalR.Hosting.Owin.csproj", "{A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.Owin.Samples", "SignalR.Hosting.Owin.Samples\SignalR.Hosting.Owin.Samples.csproj", "{8BF43A5B-4C96-4490-A9AF-5A057AC37C24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.Self", "SignalR.Hosting.Self\SignalR.Hosting.Self.csproj", "{A2BD866D-906A-4742-AB3B-DB8740830400}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Hosting.Self.Samples", "SignalR.Hosting.Self.Samples\SignalR.Hosting.Self.Samples.csproj", "{8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Client.NetMF", "SignalR.Client.NetMF\SignalR.Client.NetMF.csproj", "{0B97268B-F932-4AC4-A9E4-746186FC4EF0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignalR.Client.NetMF.Samples", "SignalR.Client.NetMF.Samples\SignalR.Client.NetMF.Samples.csproj", "{DEC00EF4-78F5-4587-BE21-352EBE76199F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {1B9A82C4-BCA1-4834-A33E-226F17BE070B}.Release|x86.ActiveCfg = Release|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {32D16B36-970E-4CF2-B954-78CB1833CBC1}.Release|x86.ActiveCfg = Release|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {EB46B9C6-EE37-48F9-835E-E49580E40E0A}.Release|x86.ActiveCfg = Release|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {FBA09237-84CC-4383-BD12-CDF58E4020E8}.Release|x86.ActiveCfg = Release|Any CPU
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Debug|x86.ActiveCfg = Debug|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Debug|x86.Build.0 = Debug|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Release|Any CPU.ActiveCfg = Release|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Release|Mixed Platforms.Build.0 = Release|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Release|x86.ActiveCfg = Release|x86
+ {E0223FDC-0982-4D80-B6C2-BFAA6C6748C5}.Release|x86.Build.0 = Release|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Debug|x86.ActiveCfg = Debug|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Debug|x86.Build.0 = Debug|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Release|Any CPU.ActiveCfg = Release|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Release|Mixed Platforms.Build.0 = Release|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Release|x86.ActiveCfg = Release|x86
+ {758D93C8-7985-4F55-82DA-8BA5198CF4EF}.Release|x86.Build.0 = Release|x86
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {0E513AE2-BEA8-40CF-B9F2-102B351F2FB2}.Release|x86.ActiveCfg = Release|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {1EA34A62-E03E-45CF-A9C9-82D2DA0FCD82}.Release|x86.ActiveCfg = Release|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {A5726CD0-DE18-40A9-A2EF-C2765EEDBA30}.Release|x86.ActiveCfg = Release|Any CPU
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Debug|x86.ActiveCfg = Debug|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Debug|x86.Build.0 = Debug|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Release|Any CPU.ActiveCfg = Release|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Release|Mixed Platforms.Build.0 = Release|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Release|x86.ActiveCfg = Release|x86
+ {8BF43A5B-4C96-4490-A9AF-5A057AC37C24}.Release|x86.Build.0 = Release|x86
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {A2BD866D-906A-4742-AB3B-DB8740830400}.Release|x86.ActiveCfg = Release|Any CPU
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Debug|x86.ActiveCfg = Debug|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Debug|x86.Build.0 = Debug|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Release|Any CPU.ActiveCfg = Release|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Release|Mixed Platforms.Build.0 = Release|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Release|x86.ActiveCfg = Release|x86
+ {8FD9E25A-2268-4F6E-85F3-B83DC018ECE9}.Release|x86.Build.0 = Release|x86
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {0B97268B-F932-4AC4-A9E4-746186FC4EF0}.Release|x86.ActiveCfg = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|Mixed Platforms.Deploy.0 = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU
+ {DEC00EF4-78F5-4587-BE21-352EBE76199F}.Release|x86.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal

No commit comments for this range

Something went wrong with that request. Please try again.