From ca65dbaaf07710a8eb4e054336492d8c41265027 Mon Sep 17 00:00:00 2001 From: Quang Nguyen Date: Wed, 15 Feb 2017 14:54:05 +0900 Subject: [PATCH] Add a sample project along with DLL library files --- libs/ASControllerSDK.dll | Bin 0 -> 13824 bytes libs/System.Runtime.WindowsRuntime.dll | Bin 0 -> 28216 bytes sample/.gitignore | 278 ++++++++++++++++++ .../AromaShooterControllerSample/App.config | 6 + .../ControllerSample.csproj | 98 ++++++ .../Form1.Designer.cs | 126 ++++++++ sample/AromaShooterControllerSample/Form1.cs | 68 +++++ .../AromaShooterControllerSample/Form1.resx | 120 ++++++++ .../AromaShooterControllerSample/Program.cs | 22 ++ .../Properties/AssemblyInfo.cs | 36 +++ .../Properties/Resources.Designer.cs | 63 ++++ .../Properties/Resources.resx | 117 ++++++++ .../Properties/Settings.Designer.cs | 26 ++ .../Properties/Settings.settings | 7 + sample/ControllerSample.sln | 22 ++ 15 files changed, 989 insertions(+) create mode 100644 libs/ASControllerSDK.dll create mode 100644 libs/System.Runtime.WindowsRuntime.dll create mode 100644 sample/.gitignore create mode 100644 sample/AromaShooterControllerSample/App.config create mode 100644 sample/AromaShooterControllerSample/ControllerSample.csproj create mode 100644 sample/AromaShooterControllerSample/Form1.Designer.cs create mode 100644 sample/AromaShooterControllerSample/Form1.cs create mode 100644 sample/AromaShooterControllerSample/Form1.resx create mode 100644 sample/AromaShooterControllerSample/Program.cs create mode 100644 sample/AromaShooterControllerSample/Properties/AssemblyInfo.cs create mode 100644 sample/AromaShooterControllerSample/Properties/Resources.Designer.cs create mode 100644 sample/AromaShooterControllerSample/Properties/Resources.resx create mode 100644 sample/AromaShooterControllerSample/Properties/Settings.Designer.cs create mode 100644 sample/AromaShooterControllerSample/Properties/Settings.settings create mode 100644 sample/ControllerSample.sln diff --git a/libs/ASControllerSDK.dll b/libs/ASControllerSDK.dll new file mode 100644 index 0000000000000000000000000000000000000000..18feb6478322f9baf81994fe4d6c678b00752c27 GIT binary patch literal 13824 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 z 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 literal 0 HcmV?d00001 diff --git a/sample/.gitignore b/sample/.gitignore new file mode 100644 index 0000000..571552e --- /dev/null +++ b/sample/.gitignore @@ -0,0 +1,278 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config \ No newline at end of file diff --git a/sample/AromaShooterControllerSample/App.config b/sample/AromaShooterControllerSample/App.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/sample/AromaShooterControllerSample/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sample/AromaShooterControllerSample/ControllerSample.csproj b/sample/AromaShooterControllerSample/ControllerSample.csproj new file mode 100644 index 0000000..43d5aaa --- /dev/null +++ b/sample/AromaShooterControllerSample/ControllerSample.csproj @@ -0,0 +1,98 @@ + + + + + Debug + AnyCPU + {FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8} + WinExe + Properties + ControllerSample + ControllerSample + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\libs\ASControllerSDK.dll + + + + + False + ..\..\libs\System.Runtime.WindowsRuntime.dll + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/sample/AromaShooterControllerSample/Form1.Designer.cs b/sample/AromaShooterControllerSample/Form1.Designer.cs new file mode 100644 index 0000000..6cd35ca --- /dev/null +++ b/sample/AromaShooterControllerSample/Form1.Designer.cs @@ -0,0 +1,126 @@ +namespace ControllerSample +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.Cartridge1 = new System.Windows.Forms.Button(); + this.Cartridge2 = new System.Windows.Forms.Button(); + this.Cartridge3 = new System.Windows.Forms.Button(); + this.Cartridge4 = new System.Windows.Forms.Button(); + this.Cartridge5 = new System.Windows.Forms.Button(); + this.Cartridge6 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // Cartridge1 + // + this.Cartridge1.Location = new System.Drawing.Point(23, 86); + this.Cartridge1.Name = "Cartridge1"; + this.Cartridge1.Size = new System.Drawing.Size(75, 23); + this.Cartridge1.TabIndex = 0; + this.Cartridge1.Text = "Cartridge1"; + this.Cartridge1.UseVisualStyleBackColor = true; + this.Cartridge1.Click += new System.EventHandler(this.Cartridge1_Click); + // + // Cartridge2 + // + this.Cartridge2.Location = new System.Drawing.Point(172, 86); + this.Cartridge2.Name = "Cartridge2"; + this.Cartridge2.Size = new System.Drawing.Size(75, 23); + this.Cartridge2.TabIndex = 1; + this.Cartridge2.Text = "Cartridge2"; + this.Cartridge2.UseVisualStyleBackColor = true; + this.Cartridge2.Click += new System.EventHandler(this.Cartridge2_Click); + // + // Cartridge3 + // + this.Cartridge3.Location = new System.Drawing.Point(325, 86); + this.Cartridge3.Name = "Cartridge3"; + this.Cartridge3.Size = new System.Drawing.Size(75, 23); + this.Cartridge3.TabIndex = 2; + this.Cartridge3.Text = "Cartridge3"; + this.Cartridge3.UseVisualStyleBackColor = true; + this.Cartridge3.Click += new System.EventHandler(this.Cartridge3_Click); + // + // Cartridge4 + // + this.Cartridge4.Location = new System.Drawing.Point(23, 152); + this.Cartridge4.Name = "Cartridge4"; + this.Cartridge4.Size = new System.Drawing.Size(75, 23); + this.Cartridge4.TabIndex = 3; + this.Cartridge4.Text = "Cartridge4"; + this.Cartridge4.UseVisualStyleBackColor = true; + this.Cartridge4.Click += new System.EventHandler(this.Cartridge4_Click); + // + // Cartridge5 + // + this.Cartridge5.Location = new System.Drawing.Point(172, 152); + this.Cartridge5.Name = "Cartridge5"; + this.Cartridge5.Size = new System.Drawing.Size(75, 23); + this.Cartridge5.TabIndex = 4; + this.Cartridge5.Text = "Cartridge5"; + this.Cartridge5.UseVisualStyleBackColor = true; + this.Cartridge5.Click += new System.EventHandler(this.Cartridge5_Click); + // + // Cartridge6 + // + this.Cartridge6.Location = new System.Drawing.Point(325, 152); + this.Cartridge6.Name = "Cartridge6"; + this.Cartridge6.Size = new System.Drawing.Size(75, 23); + this.Cartridge6.TabIndex = 5; + this.Cartridge6.Text = "Cartridge6"; + this.Cartridge6.UseVisualStyleBackColor = true; + this.Cartridge6.Click += new System.EventHandler(this.Cartridge6_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(422, 261); + this.Controls.Add(this.Cartridge6); + this.Controls.Add(this.Cartridge5); + this.Controls.Add(this.Cartridge4); + this.Controls.Add(this.Cartridge3); + this.Controls.Add(this.Cartridge2); + this.Controls.Add(this.Cartridge1); + this.Name = "Form1"; + this.Text = "AromaShooterControllerSample"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button Cartridge1; + private System.Windows.Forms.Button Cartridge2; + private System.Windows.Forms.Button Cartridge3; + private System.Windows.Forms.Button Cartridge4; + private System.Windows.Forms.Button Cartridge5; + private System.Windows.Forms.Button Cartridge6; + } +} + diff --git a/sample/AromaShooterControllerSample/Form1.cs b/sample/AromaShooterControllerSample/Form1.cs new file mode 100644 index 0000000..a1317c4 --- /dev/null +++ b/sample/AromaShooterControllerSample/Form1.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +/*Import Controller SDK*/ +using ASControllerSDK; + +namespace ControllerSample +{ + public partial class Form1 : Form + { + //Get AromaShooterController references + private AromaShooterController aromaShooterController = AromaShooterController.sharedInstance; + public Form1() + { + InitializeComponent(); + + //Initalize + aromaShooterController.setup(); + } + + /// + /// + /// Diffuse scent APIs + /// diffuse(duration,speed,ports) + /// - duration: time (unit: milliseconds) + /// - ports: Array of ports to diffuse at the same time. Port: 1~6 + /// - booster: To strong push aroma + /// + + + private void Cartridge1_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 1 }, false); + } + + private void Cartridge2_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 2}, true); + } + + private void Cartridge3_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 3 }, true); + } + + private void Cartridge4_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 4 }, true); + } + + private void Cartridge5_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 5 }, true); + } + + private void Cartridge6_Click(object sender, EventArgs e) + { + aromaShooterController.diffuse(3000, new int[] { 6 }, true); + } + } +} diff --git a/sample/AromaShooterControllerSample/Form1.resx b/sample/AromaShooterControllerSample/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/sample/AromaShooterControllerSample/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/sample/AromaShooterControllerSample/Program.cs b/sample/AromaShooterControllerSample/Program.cs new file mode 100644 index 0000000..812f54c --- /dev/null +++ b/sample/AromaShooterControllerSample/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ControllerSample +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/sample/AromaShooterControllerSample/Properties/AssemblyInfo.cs b/sample/AromaShooterControllerSample/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a964a79 --- /dev/null +++ b/sample/AromaShooterControllerSample/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +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("AromaShooterControllerSample")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("AromaShooterControllerSample")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("faaaf84f-afec-46d3-87c1-7f93cf11c0f8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/sample/AromaShooterControllerSample/Properties/Resources.Designer.cs b/sample/AromaShooterControllerSample/Properties/Resources.Designer.cs new file mode 100644 index 0000000..410f5ff --- /dev/null +++ b/sample/AromaShooterControllerSample/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ControllerSample.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ControllerSample.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/sample/AromaShooterControllerSample/Properties/Resources.resx b/sample/AromaShooterControllerSample/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/sample/AromaShooterControllerSample/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/sample/AromaShooterControllerSample/Properties/Settings.Designer.cs b/sample/AromaShooterControllerSample/Properties/Settings.Designer.cs new file mode 100644 index 0000000..6f0ebf1 --- /dev/null +++ b/sample/AromaShooterControllerSample/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ControllerSample.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/sample/AromaShooterControllerSample/Properties/Settings.settings b/sample/AromaShooterControllerSample/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/sample/AromaShooterControllerSample/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/sample/ControllerSample.sln b/sample/ControllerSample.sln new file mode 100644 index 0000000..f218b1f --- /dev/null +++ b/sample/ControllerSample.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ControllerSample", "AromaShooterControllerSample\ControllerSample.csproj", "{FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FAAAF84F-AFEC-46D3-87C1-7F93CF11C0F8}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal