This commit is contained in:
chanweehewsonos
2025-09-10 12:58:29 +08:00
parent b181634195
commit b433b3592a
1118 changed files with 66104 additions and 0 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
[My Computer]
My Computer = "192.168.0.75"

View File

@@ -0,0 +1,19 @@
[ProjectWindow_Data]
ProjectExplorer.ClassicPosition[String] = "258,3028,658,3466"
[AB_Cache_{FE45939E-1596-4F6C-A086-8FD57746EEF6}]
Cache_Path[Path] Line0001 = "/C/Users/wee/AppData/Local/Temp/AB_Cache_{FE45939E"
Cache_Path[Path] Line0002 = "-1596-4F6C-A086-8FD57746EEF6}.txt"
[AB_Cache_{A0522672-ACA0-4CD3-9658-BA5C2D09EE0D}]
Cache_Path[Path] Line0001 = "/C/Users/wee/AppData/Local/Temp/AB_Cache_{A0522672"
Cache_Path[Path] Line0002 = "-ACA0-4CD3-9658-BA5C2D09EE0D}.txt"
[AB_Cache_{5D7098F3-23D7-4C19-945E-297CC075767C}]
Cache_Path[Path] Line0001 = "/C/Users/wee/AppData/Local/Temp/AB_Cache_{5D7098F3"
Cache_Path[Path] Line0002 = "-23D7-4C19-945E-297CC075767C}.txt"
[AB_Cache_{B9BF981B-5C5E-41FA-9B85-48CE054EA9C3}]
Cache_Path[Path] Line0001 = "/C/Users/wee/AppData/Local/Temp/AB_Cache_{B9BF981B"
Cache_Path[Path] Line0002 = "-5C5E-41FA-9B85-48CE054EA9C3}.txt"

View File

@@ -0,0 +1,344 @@
<?xml version='1.0' encoding='UTF-8'?>
<Project Type="Project" LVVersion="15008000">
<Item Name="My Computer" Type="My Computer">
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.control.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.tcp.enabled" Type="Bool">false</Property>
<Property Name="server.tcp.port" Type="Int">0</Property>
<Property Name="server.tcp.serviceName" Type="Str">My Computer/VI Server</Property>
<Property Name="server.tcp.serviceName.default" Type="Str">My Computer/VI Server</Property>
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="Boyi_AirLeakTest.vi" Type="VI" URL="../Boyi_AirLeakTest.vi"/>
<Item Name="Boyi_Reset.vi" Type="VI" URL="../Boyi_Reset.vi"/>
<Item Name="findzp.exe" Type="Document" URL="../findzp.exe"/>
<Item Name="Manual_Airleak.cfg" Type="Document" URL="../Manual_Airleak.cfg"/>
<Item Name="Manual_Airleak.vi" Type="VI" URL="../Manual_Airleak.vi"/>
<Item Name="Settings.ini" Type="Document" URL="../Settings.ini"/>
<Item Name="Dependencies" Type="Dependencies">
<Item Name="vi.lib" Type="Folder">
<Item Name="8.6CompatibleGlobalVar.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/config.llb/8.6CompatibleGlobalVar.vi"/>
<Item Name="Application Directory.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Application Directory.vi"/>
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="Clear Errors.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Clear Errors.vi"/>
<Item Name="Close File+.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Close File+.vi"/>
<Item Name="compatReadText.vi" Type="VI" URL="/&lt;vilib&gt;/_oldvers/_oldvers.llb/compatReadText.vi"/>
<Item Name="Error Cluster From Error Code.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Error Cluster From Error Code.vi"/>
<Item Name="ex_CorrectErrorChain.vi" Type="VI" URL="/&lt;vilib&gt;/express/express shared/ex_CorrectErrorChain.vi"/>
<Item Name="Find First Error.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Find First Error.vi"/>
<Item Name="Is Path and Not Empty.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Is Path and Not Empty.vi"/>
<Item Name="LabVIEWHTTPClient.lvlib" Type="Library" URL="/&lt;vilib&gt;/httpClient/LabVIEWHTTPClient.lvlib"/>
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="NI_LVConfig.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/config.llb/NI_LVConfig.lvlib"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="Open File+.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Open File+.vi"/>
<Item Name="Path To Command Line String.vi" Type="VI" URL="/&lt;vilib&gt;/AdvancedString/Path To Command Line String.vi"/>
<Item Name="PathToUNIXPathString.vi" Type="VI" URL="/&lt;vilib&gt;/Platform/CFURL.llb/PathToUNIXPathString.vi"/>
<Item Name="Read Delimited Spreadsheet (DBL).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read Delimited Spreadsheet (DBL).vi"/>
<Item Name="Read Delimited Spreadsheet (I64).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read Delimited Spreadsheet (I64).vi"/>
<Item Name="Read Delimited Spreadsheet (string).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read Delimited Spreadsheet (string).vi"/>
<Item Name="Read Delimited Spreadsheet.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read Delimited Spreadsheet.vi"/>
<Item Name="Read File+ (string).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read File+ (string).vi"/>
<Item Name="Read Lines From File (with error IO).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Read Lines From File (with error IO).vi"/>
<Item Name="Space Constant.vi" Type="VI" URL="/&lt;vilib&gt;/dlg_ctls.llb/Space Constant.vi"/>
<Item Name="subDisplayMessage.vi" Type="VI" URL="/&lt;vilib&gt;/express/express output/DisplayMessageBlock.llb/subDisplayMessage.vi"/>
<Item Name="System Exec.vi" Type="VI" URL="/&lt;vilib&gt;/Platform/system.llb/System Exec.vi"/>
<Item Name="Trim Whitespace.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Trim Whitespace.vi"/>
<Item Name="VISA Configure Serial Port" Type="VI" URL="/&lt;vilib&gt;/Instr/_visa.llb/VISA Configure Serial Port"/>
<Item Name="VISA Configure Serial Port (Instr).vi" Type="VI" URL="/&lt;vilib&gt;/Instr/_visa.llb/VISA Configure Serial Port (Instr).vi"/>
<Item Name="VISA Configure Serial Port (Serial Instr).vi" Type="VI" URL="/&lt;vilib&gt;/Instr/_visa.llb/VISA Configure Serial Port (Serial Instr).vi"/>
<Item Name="whitespace.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/whitespace.ctl"/>
<Item Name="Write Delimited Spreadsheet (DBL).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Write Delimited Spreadsheet (DBL).vi"/>
<Item Name="Write Delimited Spreadsheet (I64).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Write Delimited Spreadsheet (I64).vi"/>
<Item Name="Write Delimited Spreadsheet (string).vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Write Delimited Spreadsheet (string).vi"/>
<Item Name="Write Delimited Spreadsheet.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Write Delimited Spreadsheet.vi"/>
<Item Name="Write Spreadsheet String.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Write Spreadsheet String.vi"/>
</Item>
<Item Name="Boyi_Config.vi" Type="VI" URL="../Boyi_Config.vi"/>
<Item Name="Boyi_TestStart.vi" Type="VI" URL="../Boyi_TestStart.vi"/>
<Item Name="BoyiGlobal.vi" Type="VI" URL="../BoyiGlobal.vi"/>
<Item Name="FIS.vi" Type="VI" URL="../FIS.vi"/>
<Item Name="FlexErrorMsg.vi" Type="VI" URL="../FlexErrorMsg.vi"/>
<Item Name="FlexFlow_SaveResult.vi" Type="VI" URL="../FlexFlow_SaveResult.vi"/>
<Item Name="FlexFlowGetUUTInfo.vi" Type="VI" URL="../FlexFlowGetUUTInfo.vi"/>
<Item Name="FlexGenXML.vi" Type="VI" URL="../FlexGenXML.vi"/>
<Item Name="HexToString.vi" Type="VI" URL="../HexToString.vi"/>
<Item Name="hierarchical_json_make.vi" Type="VI" URL="../JSON formating and uploading/hierarchical_json_make.vi"/>
<Item Name="json_name-value_pairs_array_make.vi" Type="VI" URL="../JSON formating and uploading/json_name-value_pairs_array_make.vi"/>
<Item Name="json_name-value_pairs_section.vi" Type="VI" URL="../JSON formating and uploading/json_name-value_pairs_section.vi"/>
<Item Name="JSON_results_file_make_and_save.vi" Type="VI" URL="../JSON_results_file_make_and_save.vi"/>
<Item Name="Manual_Global.vi" Type="VI" URL="../Manual_Global.vi"/>
<Item Name="StringToHex.vi" Type="VI" URL="../StringToHex.vi"/>
<Item Name="Telnet Read.vi" Type="VI" URL="../Telnet Read.vi"/>
<Item Name="TMS Parametrics Upload Http.vi" Type="VI" URL="../TMS Parametrics Upload Http.vi"/>
<Item Name="UTF8 LV80.vi" Type="VI" URL="../UTF8 LV80.vi"/>
<Item Name="XML results file make and save.vi" Type="VI" URL="../XML results file make and save.vi"/>
</Item>
<Item Name="Build Specifications" Type="Build">
<Property Name="NI.SortType" Type="Int">3</Property>
<Item Name="Boyi_Airleak" Type="EXE">
<Property Name="App_copyErrors" Type="Bool">true</Property>
<Property Name="App_INI_aliasGUID" Type="Str">{BBC16D15-1EE7-4442-A8C9-B36DACA41EAA}</Property>
<Property Name="App_INI_GUID" Type="Str">{1E0C9B18-3319-43E0-AE7E-C9EB68B2867C}</Property>
<Property Name="App_serverConfig.httpPort" Type="Int">8002</Property>
<Property Name="Bld_autoIncrement" Type="Bool">true</Property>
<Property Name="Bld_buildCacheID" Type="Str">{FE45939E-1596-4F6C-A086-8FD57746EEF6}</Property>
<Property Name="Bld_buildSpecName" Type="Str">Boyi_Airleak</Property>
<Property Name="Bld_excludeInlineSubVIs" Type="Bool">true</Property>
<Property Name="Bld_excludeLibraryItems" Type="Bool">true</Property>
<Property Name="Bld_excludePolymorphicVIs" Type="Bool">true</Property>
<Property Name="Bld_localDestDir" Type="Path">../builds/NI_AB_PROJECTNAME/Boyi_Airleak</Property>
<Property Name="Bld_localDestDirType" Type="Str">relativeToCommon</Property>
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property>
<Property Name="Bld_previewCacheID" Type="Str">{A0522672-ACA0-4CD3-9658-BA5C2D09EE0D}</Property>
<Property Name="Bld_version.build" Type="Int">184</Property>
<Property Name="Bld_version.major" Type="Int">1</Property>
<Property Name="Destination[0].destName" Type="Str">Boyi_Airleak.exe</Property>
<Property Name="Destination[0].path" Type="Path">../builds/NI_AB_PROJECTNAME/Boyi_Airleak/Boyi_Airleak.exe</Property>
<Property Name="Destination[0].preserveHierarchy" Type="Bool">true</Property>
<Property Name="Destination[0].type" Type="Str">App</Property>
<Property Name="Destination[1].destName" Type="Str">Support Directory</Property>
<Property Name="Destination[1].path" Type="Path">../builds/NI_AB_PROJECTNAME/Boyi_Airleak</Property>
<Property Name="DestinationCount" Type="Int">2</Property>
<Property Name="Source[0].itemID" Type="Str">{FE46A577-AC3D-4754-9D7A-2BEA26B04920}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/Boyi_AirLeakTest.vi</Property>
<Property Name="Source[1].sourceInclusion" Type="Str">TopLevel</Property>
<Property Name="Source[1].type" Type="Str">VI</Property>
<Property Name="Source[2].destinationIndex" Type="Int">0</Property>
<Property Name="Source[2].itemID" Type="Ref">/My Computer/Settings.ini</Property>
<Property Name="Source[2].sourceInclusion" Type="Str">Include</Property>
<Property Name="SourceCount" Type="Int">3</Property>
<Property Name="TgtF_companyName" Type="Str">SONOS</Property>
<Property Name="TgtF_fileDescription" Type="Str">Boyi Airleak test software develop by Sonos</Property>
<Property Name="TgtF_internalName" Type="Str">Boyi_Airleak</Property>
<Property Name="TgtF_legalCopyright" Type="Str">Copyright ?2017 </Property>
<Property Name="TgtF_productName" Type="Str">Boyi_Airleak</Property>
<Property Name="TgtF_targetfileGUID" Type="Str">{8C67F937-BBBE-4DAC-825C-AAF010F766C7}</Property>
<Property Name="TgtF_targetfileName" Type="Str">Boyi_Airleak.exe</Property>
</Item>
<Item Name="Manual AirLeak" Type="EXE">
<Property Name="App_copyErrors" Type="Bool">true</Property>
<Property Name="App_INI_aliasGUID" Type="Str">{082C28DE-CDED-427E-BBEB-84D3CF9BC68F}</Property>
<Property Name="App_INI_GUID" Type="Str">{C10B2178-F0B7-4A87-B82C-3E8FD1A20F14}</Property>
<Property Name="App_serverConfig.httpPort" Type="Int">8002</Property>
<Property Name="Bld_autoIncrement" Type="Bool">true</Property>
<Property Name="Bld_buildCacheID" Type="Str">{5D7098F3-23D7-4C19-945E-297CC075767C}</Property>
<Property Name="Bld_buildSpecName" Type="Str">Manual AirLeak</Property>
<Property Name="Bld_excludeInlineSubVIs" Type="Bool">true</Property>
<Property Name="Bld_excludeLibraryItems" Type="Bool">true</Property>
<Property Name="Bld_excludePolymorphicVIs" Type="Bool">true</Property>
<Property Name="Bld_localDestDir" Type="Path">../builds/NI_AB_PROJECTNAME/Manual AirLeak</Property>
<Property Name="Bld_localDestDirType" Type="Str">relativeToCommon</Property>
<Property Name="Bld_modifyLibraryFile" Type="Bool">true</Property>
<Property Name="Bld_previewCacheID" Type="Str">{B9BF981B-5C5E-41FA-9B85-48CE054EA9C3}</Property>
<Property Name="Bld_version.build" Type="Int">56</Property>
<Property Name="Bld_version.major" Type="Int">1</Property>
<Property Name="Destination[0].destName" Type="Str">ManualAirLeak.exe</Property>
<Property Name="Destination[0].path" Type="Path">../builds/NI_AB_PROJECTNAME/Manual AirLeak/ManualAirLeak.exe</Property>
<Property Name="Destination[0].preserveHierarchy" Type="Bool">true</Property>
<Property Name="Destination[0].type" Type="Str">App</Property>
<Property Name="Destination[1].destName" Type="Str">Support Directory</Property>
<Property Name="Destination[1].path" Type="Path">../builds/NI_AB_PROJECTNAME/Manual AirLeak</Property>
<Property Name="DestinationCount" Type="Int">2</Property>
<Property Name="Source[0].itemID" Type="Str">{675EFF4E-0338-49AF-9D4B-EC52357414F3}</Property>
<Property Name="Source[0].type" Type="Str">Container</Property>
<Property Name="Source[1].destinationIndex" Type="Int">0</Property>
<Property Name="Source[1].itemID" Type="Ref">/My Computer/Manual_Airleak.vi</Property>
<Property Name="Source[1].sourceInclusion" Type="Str">TopLevel</Property>
<Property Name="Source[1].type" Type="Str">VI</Property>
<Property Name="Source[2].destinationIndex" Type="Int">0</Property>
<Property Name="Source[2].itemID" Type="Ref">/My Computer/findzp.exe</Property>
<Property Name="Source[3].destinationIndex" Type="Int">0</Property>
<Property Name="Source[3].itemID" Type="Ref">/My Computer/Manual_Airleak.cfg</Property>
<Property Name="Source[4].destinationIndex" Type="Int">0</Property>
<Property Name="Source[4].itemID" Type="Ref">/My Computer/Settings.ini</Property>
<Property Name="Source[4].sourceInclusion" Type="Str">Include</Property>
<Property Name="SourceCount" Type="Int">5</Property>
<Property Name="TgtF_fileDescription" Type="Str">Manual AirLeak</Property>
<Property Name="TgtF_internalName" Type="Str">Manual AirLeak</Property>
<Property Name="TgtF_legalCopyright" Type="Str">Copyright ?2017 </Property>
<Property Name="TgtF_productName" Type="Str">Manual AirLeak</Property>
<Property Name="TgtF_targetfileGUID" Type="Str">{DB50D1D0-6557-456F-AACA-427B432E2222}</Property>
<Property Name="TgtF_targetfileName" Type="Str">ManualAirLeak.exe</Property>
</Item>
<Item Name="Boyi Airleak Installer" Type="Installer">
<Property Name="Destination[0].name" Type="Str">Boyi_Airleak</Property>
<Property Name="Destination[0].parent" Type="Str">{3912416A-D2E5-411B-AFEE-B63654D690C0}</Property>
<Property Name="Destination[0].tag" Type="Str">{364C4987-899A-43A8-A4D6-EFDFBDDC19DF}</Property>
<Property Name="Destination[0].type" Type="Str">userFolder</Property>
<Property Name="DestinationCount" Type="Int">1</Property>
<Property Name="DistPart[0].flavorID" Type="Str">_deployment_</Property>
<Property Name="DistPart[0].productID" Type="Str">{20955267-2BD4-4152-8896-A7EFDF73EEA4}</Property>
<Property Name="DistPart[0].productName" Type="Str">NI-VISA Runtime 5.4.1</Property>
<Property Name="DistPart[0].upgradeCode" Type="Str">{8627993A-3F66-483C-A562-0D3BA3F267B1}</Property>
<Property Name="DistPart[1].flavorID" Type="Str">DefaultFull</Property>
<Property Name="DistPart[1].productID" Type="Str">{76CA2955-6595-4449-B26B-B4B1C1395C5D}</Property>
<Property Name="DistPart[1].productName" Type="Str">NI LabVIEW Runtime 2015 SP1 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[0].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[0].productName" Type="Str">NI ActiveX Container (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[0].upgradeCode" Type="Str">{1038A887-23E1-4289-B0BD-0C4B83C6BA21}</Property>
<Property Name="DistPart[1].SoftDep[1].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[1].productName" Type="Str">NI System Web Server 15.5</Property>
<Property Name="DistPart[1].SoftDep[1].upgradeCode" Type="Str">{FCF64B73-B7D4-4971-8F11-24BAF7CC3E6C}</Property>
<Property Name="DistPart[1].SoftDep[10].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[10].productName" Type="Str">NI Deployment Framework 2015</Property>
<Property Name="DistPart[1].SoftDep[10].upgradeCode" Type="Str">{838942E4-B73C-492E-81A3-AA1E291FD0DC}</Property>
<Property Name="DistPart[1].SoftDep[11].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[11].productName" Type="Str">NI Error Reporting 2015 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[11].upgradeCode" Type="Str">{785BE224-E5B2-46A5-ADCB-55C949B5C9C7}</Property>
<Property Name="DistPart[1].SoftDep[2].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[2].productName" Type="Str">Math Kernel Libraries</Property>
<Property Name="DistPart[1].SoftDep[2].upgradeCode" Type="Str">{4C0854AD-9BFC-4494-A4E0-D96C0C07F1F2}</Property>
<Property Name="DistPart[1].SoftDep[3].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[3].productName" Type="Str">NI Logos 5.7</Property>
<Property Name="DistPart[1].SoftDep[3].upgradeCode" Type="Str">{5E4A4CE3-4D06-11D4-8B22-006008C16337}</Property>
<Property Name="DistPart[1].SoftDep[4].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[4].productName" Type="Str">NI TDM Streaming 15.2</Property>
<Property Name="DistPart[1].SoftDep[4].upgradeCode" Type="Str">{4CD11BE6-6BB7-4082-8A27-C13771BC309B}</Property>
<Property Name="DistPart[1].SoftDep[5].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[5].productName" Type="Str">NI LabVIEW Web Server 2015 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[5].upgradeCode" Type="Str">{860A0830-C712-11E3-9C1A-0800200C9A66}</Property>
<Property Name="DistPart[1].SoftDep[6].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[6].productName" Type="Str">NI LabVIEW Real-Time NBFifo 2015</Property>
<Property Name="DistPart[1].SoftDep[6].upgradeCode" Type="Str">{25643B9A-90E8-4100-B30C-10EC4DE2EE68}</Property>
<Property Name="DistPart[1].SoftDep[7].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[7].productName" Type="Str">NI VC2008MSMs</Property>
<Property Name="DistPart[1].SoftDep[7].upgradeCode" Type="Str">{FDA3F8BB-BAA9-45D7-8DC7-22E1F5C76315}</Property>
<Property Name="DistPart[1].SoftDep[8].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[8].productName" Type="Str">NI VC2010MSMs</Property>
<Property Name="DistPart[1].SoftDep[8].upgradeCode" Type="Str">{EFBA6F9E-F934-4BD7-AC51-60CCA480489C}</Property>
<Property Name="DistPart[1].SoftDep[9].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[9].productName" Type="Str">NI mDNS Responder 14.0</Property>
<Property Name="DistPart[1].SoftDep[9].upgradeCode" Type="Str">{9607874B-4BB3-42CB-B450-A2F5EF60BA3B}</Property>
<Property Name="DistPart[1].SoftDepCount" Type="Int">12</Property>
<Property Name="DistPart[1].upgradeCode" Type="Str">{56A62DD7-5EBD-497A-ABD3-E18C6C8DE1B3}</Property>
<Property Name="DistPartCount" Type="Int">2</Property>
<Property Name="INST_author" Type="Str">Sonos</Property>
<Property Name="INST_autoIncrement" Type="Bool">true</Property>
<Property Name="INST_buildLocation" Type="Path">../builds/Boyi_Airleak/Boyi Airleak Installer</Property>
<Property Name="INST_buildLocation.type" Type="Str">relativeToCommon</Property>
<Property Name="INST_buildSpecName" Type="Str">Boyi Airleak Installer</Property>
<Property Name="INST_defaultDir" Type="Str">{364C4987-899A-43A8-A4D6-EFDFBDDC19DF}</Property>
<Property Name="INST_productName" Type="Str">Boyi_Airleak</Property>
<Property Name="INST_productVersion" Type="Str">1.0.8</Property>
<Property Name="InstSpecBitness" Type="Str">64-bit</Property>
<Property Name="InstSpecVersion" Type="Str">15018004</Property>
<Property Name="MSI_arpCompany" Type="Str">Sonos</Property>
<Property Name="MSI_arpURL" Type="Str">http://www.sonos.com/</Property>
<Property Name="MSI_autoselectDrivers" Type="Bool">true</Property>
<Property Name="MSI_distID" Type="Str">{DB25E34F-2BA6-44C5-B5F4-2C84657CBCA6}</Property>
<Property Name="MSI_hideNonRuntimes" Type="Bool">true</Property>
<Property Name="MSI_osCheck" Type="Int">0</Property>
<Property Name="MSI_upgradeCode" Type="Str">{7DA6778B-8411-4D34-9D61-E5D5D9C7E3A8}</Property>
<Property Name="MSI_windowTitle" Type="Str">Boyi Airleak Installer</Property>
<Property Name="RegDest[0].dirName" Type="Str">Software</Property>
<Property Name="RegDest[0].dirTag" Type="Str">{DDFAFC8B-E728-4AC8-96DE-B920EBB97A86}</Property>
<Property Name="RegDest[0].parentTag" Type="Str">2</Property>
<Property Name="RegDestCount" Type="Int">1</Property>
<Property Name="Source[0].dest" Type="Str">{364C4987-899A-43A8-A4D6-EFDFBDDC19DF}</Property>
<Property Name="Source[0].File[0].dest" Type="Str">{364C4987-899A-43A8-A4D6-EFDFBDDC19DF}</Property>
<Property Name="Source[0].File[0].name" Type="Str">Boyi_Airleak.exe</Property>
<Property Name="Source[0].File[0].Shortcut[0].destIndex" Type="Int">0</Property>
<Property Name="Source[0].File[0].Shortcut[0].name" Type="Str">Boyi_Airleak</Property>
<Property Name="Source[0].File[0].Shortcut[0].subDir" Type="Str">Boyi_Airleak</Property>
<Property Name="Source[0].File[0].ShortcutCount" Type="Int">1</Property>
<Property Name="Source[0].File[0].tag" Type="Str">{8C67F937-BBBE-4DAC-825C-AAF010F766C7}</Property>
<Property Name="Source[0].FileCount" Type="Int">1</Property>
<Property Name="Source[0].name" Type="Str">Boyi_Airleak</Property>
<Property Name="Source[0].tag" Type="Ref">/My Computer/Build Specifications/Boyi_Airleak</Property>
<Property Name="Source[0].type" Type="Str">EXE</Property>
<Property Name="SourceCount" Type="Int">1</Property>
</Item>
<Item Name="Manual Airleak Installer" Type="Installer">
<Property Name="Destination[0].name" Type="Str">Manual Airleak</Property>
<Property Name="Destination[0].parent" Type="Str">{3912416A-D2E5-411B-AFEE-B63654D690C0}</Property>
<Property Name="Destination[0].tag" Type="Str">{B827F8A3-7579-49A4-825A-3E30C3A73842}</Property>
<Property Name="Destination[0].type" Type="Str">userFolder</Property>
<Property Name="DestinationCount" Type="Int">1</Property>
<Property Name="DistPart[0].flavorID" Type="Str">DefaultFull</Property>
<Property Name="DistPart[0].productID" Type="Str">{ABC8933C-1B0D-4935-AF72-F23EB3D5DC0C}</Property>
<Property Name="DistPart[0].productName" Type="Str">NI DataSocket 18.0</Property>
<Property Name="DistPart[0].upgradeCode" Type="Str">{81A7E53E-9524-41CE-90D3-7DD3D90B6C58}</Property>
<Property Name="DistPart[1].flavorID" Type="Str">DefaultFull</Property>
<Property Name="DistPart[1].productID" Type="Str">{76CA2955-6595-4449-B26B-B4B1C1395C5D}</Property>
<Property Name="DistPart[1].productName" Type="Str">NI LabVIEW Runtime 2015 SP1 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[0].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[0].productName" Type="Str">NI ActiveX Container (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[0].upgradeCode" Type="Str">{1038A887-23E1-4289-B0BD-0C4B83C6BA21}</Property>
<Property Name="DistPart[1].SoftDep[1].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[1].productName" Type="Str">NI System Web Server 15.5</Property>
<Property Name="DistPart[1].SoftDep[1].upgradeCode" Type="Str">{FCF64B73-B7D4-4971-8F11-24BAF7CC3E6C}</Property>
<Property Name="DistPart[1].SoftDep[10].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[10].productName" Type="Str">NI Deployment Framework 2015</Property>
<Property Name="DistPart[1].SoftDep[10].upgradeCode" Type="Str">{838942E4-B73C-492E-81A3-AA1E291FD0DC}</Property>
<Property Name="DistPart[1].SoftDep[11].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[11].productName" Type="Str">NI Error Reporting 2015 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[11].upgradeCode" Type="Str">{785BE224-E5B2-46A5-ADCB-55C949B5C9C7}</Property>
<Property Name="DistPart[1].SoftDep[2].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[2].productName" Type="Str">Math Kernel Libraries</Property>
<Property Name="DistPart[1].SoftDep[2].upgradeCode" Type="Str">{4C0854AD-9BFC-4494-A4E0-D96C0C07F1F2}</Property>
<Property Name="DistPart[1].SoftDep[3].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[3].productName" Type="Str">NI Logos 5.7</Property>
<Property Name="DistPart[1].SoftDep[3].upgradeCode" Type="Str">{5E4A4CE3-4D06-11D4-8B22-006008C16337}</Property>
<Property Name="DistPart[1].SoftDep[4].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[4].productName" Type="Str">NI TDM Streaming 15.2</Property>
<Property Name="DistPart[1].SoftDep[4].upgradeCode" Type="Str">{4CD11BE6-6BB7-4082-8A27-C13771BC309B}</Property>
<Property Name="DistPart[1].SoftDep[5].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[5].productName" Type="Str">NI LabVIEW Web Server 2015 (64-bit)</Property>
<Property Name="DistPart[1].SoftDep[5].upgradeCode" Type="Str">{860A0830-C712-11E3-9C1A-0800200C9A66}</Property>
<Property Name="DistPart[1].SoftDep[6].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[6].productName" Type="Str">NI LabVIEW Real-Time NBFifo 2015</Property>
<Property Name="DistPart[1].SoftDep[6].upgradeCode" Type="Str">{25643B9A-90E8-4100-B30C-10EC4DE2EE68}</Property>
<Property Name="DistPart[1].SoftDep[7].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[7].productName" Type="Str">NI VC2008MSMs</Property>
<Property Name="DistPart[1].SoftDep[7].upgradeCode" Type="Str">{FDA3F8BB-BAA9-45D7-8DC7-22E1F5C76315}</Property>
<Property Name="DistPart[1].SoftDep[8].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[8].productName" Type="Str">NI VC2010MSMs</Property>
<Property Name="DistPart[1].SoftDep[8].upgradeCode" Type="Str">{EFBA6F9E-F934-4BD7-AC51-60CCA480489C}</Property>
<Property Name="DistPart[1].SoftDep[9].exclude" Type="Bool">false</Property>
<Property Name="DistPart[1].SoftDep[9].productName" Type="Str">NI mDNS Responder 14.0</Property>
<Property Name="DistPart[1].SoftDep[9].upgradeCode" Type="Str">{9607874B-4BB3-42CB-B450-A2F5EF60BA3B}</Property>
<Property Name="DistPart[1].SoftDepCount" Type="Int">12</Property>
<Property Name="DistPart[1].upgradeCode" Type="Str">{56A62DD7-5EBD-497A-ABD3-E18C6C8DE1B3}</Property>
<Property Name="DistPartCount" Type="Int">2</Property>
<Property Name="INST_author" Type="Str">Sonos</Property>
<Property Name="INST_autoIncrement" Type="Bool">true</Property>
<Property Name="INST_buildLocation" Type="Path">../builds/Manual Airleak/Manual Airleak Installer</Property>
<Property Name="INST_buildLocation.type" Type="Str">relativeToCommon</Property>
<Property Name="INST_buildSpecName" Type="Str">Manual Airleak Installer</Property>
<Property Name="INST_defaultDir" Type="Str">{B827F8A3-7579-49A4-825A-3E30C3A73842}</Property>
<Property Name="INST_productName" Type="Str">Manual Airleak</Property>
<Property Name="INST_productVersion" Type="Str">1.0.3</Property>
<Property Name="InstSpecBitness" Type="Str">64-bit</Property>
<Property Name="InstSpecVersion" Type="Str">15018004</Property>
<Property Name="MSI_arpCompany" Type="Str">Sonos</Property>
<Property Name="MSI_arpURL" Type="Str">http://www.sonos.com/</Property>
<Property Name="MSI_autoselectDrivers" Type="Bool">true</Property>
<Property Name="MSI_distID" Type="Str">{1A455A35-8E04-4FF0-8DD8-DB8F020C5278}</Property>
<Property Name="MSI_hideNonRuntimes" Type="Bool">true</Property>
<Property Name="MSI_osCheck" Type="Int">0</Property>
<Property Name="MSI_upgradeCode" Type="Str">{209B98A9-8412-4C1B-96D9-5FE61106ECFD}</Property>
<Property Name="RegDest[0].dirName" Type="Str">Software</Property>
<Property Name="RegDest[0].dirTag" Type="Str">{DDFAFC8B-E728-4AC8-96DE-B920EBB97A86}</Property>
<Property Name="RegDest[0].parentTag" Type="Str">2</Property>
<Property Name="RegDestCount" Type="Int">1</Property>
<Property Name="Source[0].dest" Type="Str">{B827F8A3-7579-49A4-825A-3E30C3A73842}</Property>
<Property Name="Source[0].File[0].dest" Type="Str">{B827F8A3-7579-49A4-825A-3E30C3A73842}</Property>
<Property Name="Source[0].File[0].name" Type="Str">ManualAirLeak.exe</Property>
<Property Name="Source[0].File[0].Shortcut[0].destIndex" Type="Int">0</Property>
<Property Name="Source[0].File[0].Shortcut[0].name" Type="Str">ManualAirLeak</Property>
<Property Name="Source[0].File[0].Shortcut[0].subDir" Type="Str">Boyi_Airleak</Property>
<Property Name="Source[0].File[0].ShortcutCount" Type="Int">1</Property>
<Property Name="Source[0].File[0].tag" Type="Str">{DB50D1D0-6557-456F-AACA-427B432E2222}</Property>
<Property Name="Source[0].FileCount" Type="Int">1</Property>
<Property Name="Source[0].name" Type="Str">Manual AirLeak</Property>
<Property Name="Source[0].tag" Type="Ref">/My Computer/Build Specifications/Manual AirLeak</Property>
<Property Name="Source[0].type" Type="Str">EXE</Property>
<Property Name="SourceCount" Type="Int">1</Property>
</Item>
</Item>
</Item>
</Project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,62 @@
<SonosDiag>
<Node Name="operation">
<Request Name="reboot" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/reboot]]></Request>
<Request Name="ddputil" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ddputil]]></Request>
<Request Name="getflow" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getflow]]></Request>
<Request Name="getserial" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getserial]]></Request>
<Node Name="anacapa">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/anacapa?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/anacapa?f=stop]]></Request>
</Node>
<Node Name="audio">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/audio?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/audio?f=stop]]></Request>
<Request Name="start aplay" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/startprocess?f=aplay&volume=60]]></Request>
</Node>
<Node Name="mode">
<Request Name="get" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getmode]]></Request>
<Request Name="set-normal" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/setmode?mode=normal]]></Request>
</Node>
<Node Name="psoc">
<Request Name="psocerase" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocerase]]></Request>
<Request Name="psocprogram" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram]]></Request>
<Request Name="psoc1 program" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram?inst=1]]></Request>
<Request Name="psoc2 program" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram?inst=2]]></Request>
<Request Name="capacitance raw 1" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw&inst=1]]></Request>
<Request Name="capacitance raw 2" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw&inst=2]]></Request>
</Node>
<Node Name="sci">
<Request Name="capacitance-raw" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw]]></Request>
<Request Name="capacitance-paracap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=paracap]]></Request>
<Request Name="capacitance-cmodcap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=cmodcap]]></Request>
<Request Name="capacitance-modidaccap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=modidaccap]]></Request>
</Node>
<Node Name="led">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=stop]]></Request>
<Request Name="white led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="white led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=8&intensity=100]]></Request>
<Request Name="red led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="red led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=1&intensity=100]]></Request>
<Request Name="green led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="green led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=2&intensity=100]]></Request>
<Request Name="blue led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="blue led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=4&intensity=100]]></Request>
</Node>
<Node Name="ble">
<Request Name="reset" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=01030c00&wbytes=8&read=1&rbytes=24]]></Request>
<Request Name="TX 2402" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003002502&wbytes=14&read=1&rbytes=24]]></Request>
<Request Name="TX 2442" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003142502&wbytes=14&read=1&rbytes=24]]></Request>
<Request Name="TX 2480" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003272502&wbytes=14&read=1&rbytes=24]]></Request>
</Node>
<Node Name="test">
<Request Name="OAD" Method="GET"><![CDATA[http://169.254.1.1:1200/test?f=oad]]></Request>
</Node>
</Node>
<Node Name="status">
<Request Name="zp" Method="GET"><![CDATA[http://169.254.1.1:1400/status/zp]]></Request>
<Request Name="version" Method="GET"><![CDATA[http://169.254.1.1:1400/status/VERSION]]></Request>
<Request Name="ifconfig" Method="GET"><![CDATA[http://169.254.1.1:1400/status/ifconfig]]></Request>
</Node>
</SonosDiag>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,51 @@
[Serial Port]
Equipment Com = "com3"
Baud Rate = "9600"
Parity = "NONE"
Stop Bits = "1"
Data Bits = "8"
[Test]
Autostart = "0"
Autostart Com = "com5"
Product Name = "Bootleg"
Test Name = "AirLeak"
Test SW Version = "Rel 0"
Station ID = "00"
Program Number = "00"
Test Time = "100"
Upper Limit ="0.05"
Lower Limit = "0"
//Decay Unit can set to (PSI , pa)
DecayUnit = "PSI"
[LogFile]
LogFile Path = "D:\Log"
SerialMask = "NTB+[0-9A-F]+SK+[0-9]+"
SMS_XML = "C:\IDU_MFG_OUTGOING"
IAC_XML = "C:\IAC_OUTGOING"
[FIS]
FIS Enable = "0"
SNCheck App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\SnoInput.exe"
SNCheck Data = "D:\Documents\Labview Program\Boyi Airleak\serial.txt"
SNCheck Output = "D:\Documents\Labview Program\Boyi Airleak\checkresult.txt"
Upload App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\ResultOperation.exe"
Upload Data = "D:\Documents\Labview Program\Boyi Airleak\Data.txt"
Upload Result = "D:\Documents\Labview Program\Boyi Airleak\Results.txt"
Upload Output = "D:\Documents\Labview Program\Boyi Airleak\uploadResults.txt"
[Manual_Airleak]
//Method (HTTP, Telnet)
Method = "Telnet"
Server IP = "169.254.2.2"
DUT IP = ""
Operation = ":1200/operation"
Wavefile = "tone.wav"
Vol = "40"
SPLMode = "FALSE"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,80 @@
[Serial Port]
Equipment Com = "com3"
Baud Rate = "9600"
Parity = "NONE"
Stop Bits = "1"
Data Bits = "8"
[Test]
Autostart = "0"
Autostart Com = "com5"
Revision = "EVT"
Fixture = "T01"
Test SW Version = "Rel 0"
Program Number = "00"
Test Time = "200"
Upper Limit ="290"
Lower Limit = "-10"
Pass = "PASS"
Fail = "FAIL"
Product Name = "ONE"
Test Name = "AIRLEAK"
Station = "ONEAIRLEAK01"
Version = "0.1"
LogFile Path = "D:\Log"
SerialMask = "[0-9]+"
// xml or json
DataFormat = "json"
SMS Path = "C:\IDU_MFG_OUTGOING"
Local Path= "C:\Local_OUTGOING"
***Decay Unit can set to (PSI , pa)
DecayUnit = "pa"
***IAC Settings(remove // below to enable)
//Station ID = "00"
***Flex Settings (remove // below to enable)
//Station ID = "AirleakageTestAuto_EL1"
//Revision = "PVT"
//Customer = "Sonos"
//Family = ""
//User = "FF_Sonos"
//Shift = ""
//Line = "LINE03"
//Name = ""
//Target = ""
//Rule = ""
//Description = ""
**Wistron Setting (Remove // below to enable)
//upload data need to be folder
Upload Data = "E:\Data"
[FIS]
***FIS Enable (0 = disable, 1 = IAC FIS, 2 = Flex FLow 3 = Wistron)
FIS Enable = "3"
***IAC Settings(remove // below to enable)
//Station ID = "00"
//SNCheck App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\SnoInput.exe"
//SNCheck Data = "D:\Documents\Labview Program\Boyi Airleak\serial.txt"
//SNCheck Output = "D:\Documents\Labview Program\Boyi Airleak\checkresult.txt"
//Upload App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\ResultOperation.exe"
//Upload Data = "D:\Documents\Labview Program\Boyi Airleak\Data.txt"
//Upload Result = "D:\Documents\Labview Program\Boyi Airleak\Results.txt"
//Upload Output = "D:\Documents\Labview Program\Boyi Airleak\uploadResults.txt"
[Manual_Airleak]
//Method (HTTP, Telnet)
Method = "HTTP"
Server IP = "169.254.5.5"
DUT IP = ""
Operation = ":1200/operation"
Wavefile = "tone.wav"
Vol = "40"
SPLMode = "FALSE"
//StopAommand --> stopaudio or audio?f=shutdown
StopCommand = "stopaudio"

View File

@@ -0,0 +1,3 @@
[ProjectWindow_Data]
ProjectExplorer.ClassicPosition[String] = "37,4,679,436"

View File

@@ -0,0 +1 @@
Develop using Labview 2015 64Bits -- April 2017

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<BATCH TIMESTAMP="2002-08-07 15:14:34.938991" SYNTAX_REV="1.1" COMPATIBLE_REV="1.1">
<TIMESTAMP>2002-08-07 17:16:35.000</TIMESTAMP>
<FACTORY NAME="" LINE="1" TESTER="AL01" FIXTURE="" SHIFT="" USER="administrator" />
<PRODUCT NAME="El Rey" REVISION="EVT" FAMILY="" CUSTOMER="Sonos" />
<DUT ID="ssssssssss" COMMENT="" PANEL="0" SOCKET="1" TIMESTAMP="2002-08-07 15:14:35.924127" TESTTIME="20.107666" ENDTIME="2002-08-07 15:14:56.031793" STATUS="Passed">
<TEST NAME="AirLeakageTesting" DESCRIPTION="" UNIT="pa" VALUE="100" HILIM="150" LOLIM="0.5" STATUS="Passed" RULE="" TARGET="" />
</DUT>
</BATCH>

View File

@@ -0,0 +1,86 @@
[Serial Port]
Equipment Com = "com3"
Baud Rate = "9600"
Parity = "NONE"
Stop Bits = "1"
Data Bits = "8"
[Test]
Autostart = "0"
Autostart Com = "com3"
Revision = "EVT"
Fixture = "MONACO-AIRLEAK01"
Test SW Version = "Rel 0"
Program Number = "00"
Test Time = "200"
Upper Limit ="290,290"
Lower Limit = "-10,-10"
//Delta limit only need for product then test multi time
Delta Limit = "20"
Pass = "PASS"
Fail = "FAIL"
Product Name = "MONACO"
Test Name = "AIRLEAK"
Station = "MONACO-AIRLEAK01"
Version = "0.1"
LogFile Path = "D:\Log"
SerialMask = "[0-9]+"
// xml or json
DataFormat = "json"
SMS Path = "C:\IDU_MFG_OUTGOING"
Local Path= "C:\Local_OUTGOING"
//TMS Settings -- Leave TMS Server IP empty to disable the TMS data upload feature
TMS Server IP = "172.31.1.19"
Enable Log = "1"
***Decay Unit can set to (PSI , pa)
DecayUnit = "pa"
***IAC Settings(remove // below to enable)
//Station ID = "00"
***Flex Settings (remove // below to enable)
//Station ID = "AirleakageTestAuto_EL1"
//Revision = "PVT"
//Customer = "Sonos"
//Family = ""
//User = "FF_Sonos"
//Shift = ""
//Line = "LINE03"
//Name = ""
//Target = ""
//Rule = ""
//Description = ""
**Wistron Setting (Remove // below to enable)
//upload data need to be folder
Upload Data = "E:\Data"
[FIS]
***FIS Enable (0 = disable, 1 = IAC FIS, 2 = Flex FLow 3 = Wistron)
FIS Enable = "3"
***IAC Settings(remove // below to enable)
//Station ID = "00"
//SNCheck App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\SnoInput.exe"
//SNCheck Data = "D:\Documents\Labview Program\Boyi Airleak\serial.txt"
//SNCheck Output = "D:\Documents\Labview Program\Boyi Airleak\checkresult.txt"
//Upload App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\ResultOperation.exe"
//Upload Data = "D:\Documents\Labview Program\Boyi Airleak\Data.txt"
//Upload Result = "D:\Documents\Labview Program\Boyi Airleak\Results.txt"
//Upload Output = "D:\Documents\Labview Program\Boyi Airleak\uploadResults.txt"
[Manual_Airleak]
//Method (HTTP, Telnet)
Method = "HTTP"
Server IP = "169.254.5.5"
DUT IP = ""
Operation = ":1200/operation"
Wavefile = "tone.wav"
Vol = "40"
SPLMode = "FALSE"
//StopAommand --> stopaudio or audio?f=shutdown
StopCommand = "stopaudio"

View File

@@ -0,0 +1,82 @@
[Serial Port]
Equipment Com = "com16"
Baud Rate = "9600"
Parity = "NONE"
Stop Bits = "1"
Data Bits = "8"
[Test]
Autostart = "0"
Autostart Com = "com5"
Revision = "EVT"
Fixture = "T01"
Test SW Version = "Rel 0"
Program Number = "00"
Test Time = "100"
Upper Limit ="200"
Lower Limit = "-10"
Test Time = "100"
Upper Limit ="200"
Lower Limit = "-10"
Pass = "PASS"
Fail = "FAIL"
Product Name = "ONE"
Test Name = "AIRLEAK"
Station = "ONEAIRLEAK01"
Version = "0.1"
LogFile Path = "D:\Log"
SerialMask = "[0-9]+"
// xml or json
DataFormat = "json"
SMS Path = "C:\IDU_MFG_OUTGOING"
Local Path= "C:\Local_OUTGOING"
***Decay Unit can set to (PSI , pa)
DecayUnit = "pa"
***IAC Settings(remove // below to enable)
//Station ID = "00"
***Flex Settings (remove // below to enable)
//Station ID = "AirleakageTestAuto_EL1"
//Revision = "PVT"
//Customer = "Sonos"
//Family = ""
//User = "FF_Sonos"
//Shift = ""
//Line = "LINE03"
//Name = ""
//Target = ""
//Rule = ""
//Description = ""
**Wistron Setting (Remove // below to enable)
//upload data need to be folder
Upload Data = "E:\Data"
[FIS]
***FIS Enable (0 = disable, 1 = IAC FIS, 2 = Flex FLow 3 = Wistron)
FIS Enable = "3"
***IAC Settings(remove // below to enable)
//Station ID = "00"
//SNCheck App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\SnoInput.exe"
//SNCheck Data = "D:\Documents\Labview Program\Boyi Airleak\serial.txt"
//SNCheck Output = "D:\Documents\Labview Program\Boyi Airleak\checkresult.txt"
//Upload App = "C:\Sonos\Encore_Air_Leak\Plugin\AutoFIS\ResultOperation.exe"
//Upload Data = "D:\Documents\Labview Program\Boyi Airleak\Data.txt"
//Upload Result = "D:\Documents\Labview Program\Boyi Airleak\Results.txt"
//Upload Output = "D:\Documents\Labview Program\Boyi Airleak\uploadResults.txt"
[Manual_Airleak]
//Method (HTTP, Telnet)
Method = "Telnet"
Server IP = "169.254.2.2"
DUT IP = "169.254.1.1"
Operation = ":1200/operation"
Wavefile = "tone.wav"
Vol = "40"
SPLMode = "FALSE"

Binary file not shown.

View File

@@ -0,0 +1,3 @@
[My Computer]
My Computer = "172.18.53.65"

View File

@@ -0,0 +1,3 @@
[ProjectWindow_Data]
ProjectExplorer.ClassicPosition[String] = "37,4,679,436"

View File

@@ -0,0 +1,47 @@
<?xml version='1.0' encoding='UTF-8'?>
<Project Type="Project" LVVersion="15008000">
<Item Name="My Computer" Type="My Computer">
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.control.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.tcp.enabled" Type="Bool">false</Property>
<Property Name="server.tcp.port" Type="Int">0</Property>
<Property Name="server.tcp.serviceName" Type="Str">My Computer/VI Server</Property>
<Property Name="server.tcp.serviceName.default" Type="Str">My Computer/VI Server</Property>
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="_Sonos_TE_ControllerUI.vi" Type="VI" URL="../_Sonos_TE_ControllerUI.vi"/>
<Item Name="HttpRequestList.xml" Type="Document" URL="../HttpRequestList.xml"/>
<Item Name="LoadHttpRequestList.vi" Type="VI" URL="../LoadHttpRequestList.vi"/>
<Item Name="LoadHttpRequestNode.vi" Type="VI" URL="../LoadHttpRequestNode.vi"/>
<Item Name="RequestNodeListToTree.vi" Type="VI" URL="../RequestNodeListToTree.vi"/>
<Item Name="SonosController.lvclass" Type="LVClass" URL="../SonosController.llb/SonosController.lvclass"/>
<Item Name="SonosDevice.lvclass" Type="LVClass" URL="../SonosController.llb/SonosDevice.lvclass"/>
<Item Name="Dependencies" Type="Dependencies">
<Item Name="vi.lib" Type="Folder">
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="Clear Errors.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Clear Errors.vi"/>
<Item Name="Error Cluster From Error Code.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Error Cluster From Error Code.vi"/>
<Item Name="LabVIEWHTTPClient.lvlib" Type="Library" URL="/&lt;vilib&gt;/httpClient/LabVIEWHTTPClient.lvlib"/>
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="NI_XML.lvlib" Type="Library" URL="/&lt;vilib&gt;/xml/NI_XML.lvlib"/>
<Item Name="Path To Command Line String.vi" Type="VI" URL="/&lt;vilib&gt;/AdvancedString/Path To Command Line String.vi"/>
<Item Name="PathToUNIXPathString.vi" Type="VI" URL="/&lt;vilib&gt;/Platform/CFURL.llb/PathToUNIXPathString.vi"/>
<Item Name="Trim Whitespace.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Trim Whitespace.vi"/>
<Item Name="whitespace.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/whitespace.ctl"/>
</Item>
<Item Name="DOMUserDefRef.dll" Type="Document" URL="DOMUserDefRef.dll">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="System" Type="VI" URL="System">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="System.Xml" Type="Document" URL="System.Xml">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="UpnpEnumSupport.dll" Type="Document" URL="../UpnpEnumSupport.dll"/>
</Item>
<Item Name="Build Specifications" Type="Build"/>
</Item>
</Project>

Binary file not shown.

View File

@@ -0,0 +1,62 @@
<SonosDiag>
<Node Name="operation">
<Request Name="reboot" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/reboot]]></Request>
<Request Name="ddputil" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ddputil]]></Request>
<Request Name="getflow" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getflow]]></Request>
<Request Name="getserial" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getserial]]></Request>
<Node Name="anacapa">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/anacapa?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/anacapa?f=stop]]></Request>
</Node>
<Node Name="audio">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/audio?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/audio?f=stop]]></Request>
<Request Name="start aplay" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/startprocess?f=aplay&volume=60]]></Request>
</Node>
<Node Name="mode">
<Request Name="get" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/getmode]]></Request>
<Request Name="set-normal" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/setmode?mode=normal]]></Request>
</Node>
<Node Name="psoc">
<Request Name="psocerase" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocerase]]></Request>
<Request Name="psocprogram" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram]]></Request>
<Request Name="psoc1 program" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram?inst=1]]></Request>
<Request Name="psoc2 program" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/psocprogram?inst=2]]></Request>
<Request Name="capacitance raw 1" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw&inst=1]]></Request>
<Request Name="capacitance raw 2" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw&inst=2]]></Request>
</Node>
<Node Name="sci">
<Request Name="capacitance-raw" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=raw]]></Request>
<Request Name="capacitance-paracap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=paracap]]></Request>
<Request Name="capacitance-cmodcap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=cmodcap]]></Request>
<Request Name="capacitance-modidaccap" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/sci?capacitance=modidaccap]]></Request>
</Node>
<Node Name="led">
<Request Name="start" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=start]]></Request>
<Request Name="stop" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=stop]]></Request>
<Request Name="white led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="white led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=8&intensity=100]]></Request>
<Request Name="red led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="red led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=1&intensity=100]]></Request>
<Request Name="green led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="green led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=2&intensity=100]]></Request>
<Request Name="blue led off" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=off&led=31&intensity=100]]></Request>
<Request Name="blue led on" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/leds?f=on&led=4&intensity=100]]></Request>
</Node>
<Node Name="ble">
<Request Name="reset" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=01030c00&wbytes=8&read=1&rbytes=24]]></Request>
<Request Name="TX 2402" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003002502&wbytes=14&read=1&rbytes=24]]></Request>
<Request Name="TX 2442" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003142502&wbytes=14&read=1&rbytes=24]]></Request>
<Request Name="TX 2480" Method="GET"><![CDATA[http://169.254.1.1:1200/operation/ble?command=011e2003272502&wbytes=14&read=1&rbytes=24]]></Request>
</Node>
<Node Name="test">
<Request Name="OAD" Method="GET"><![CDATA[http://169.254.1.1:1200/test?f=oad]]></Request>
</Node>
</Node>
<Node Name="status">
<Request Name="zp" Method="GET"><![CDATA[http://169.254.1.1:1400/status/zp]]></Request>
<Request Name="version" Method="GET"><![CDATA[http://169.254.1.1:1400/status/VERSION]]></Request>
<Request Name="ifconfig" Method="GET"><![CDATA[http://169.254.1.1:1400/status/ifconfig]]></Request>
</Node>
</SonosDiag>

View File

@@ -0,0 +1,3 @@
[ProjectWindow_Data]
ProjectExplorer.ClassicPosition[String] = "37,4,679,436"

View File

@@ -0,0 +1,3 @@
[My Computer]
My Computer = "192.168.0.75"

View File

@@ -0,0 +1,3 @@
[ProjectWindow_Data]
ProjectExplorer.ClassicPosition[String] = "37,4,679,436"

View File

@@ -0,0 +1,47 @@
<?xml version='1.0' encoding='UTF-8'?>
<Project Type="Project" LVVersion="15008000">
<Item Name="My Computer" Type="My Computer">
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.control.propertiesEnabled" Type="Bool">true</Property>
<Property Name="server.tcp.enabled" Type="Bool">false</Property>
<Property Name="server.tcp.port" Type="Int">0</Property>
<Property Name="server.tcp.serviceName" Type="Str">My Computer/VI Server</Property>
<Property Name="server.tcp.serviceName.default" Type="Str">My Computer/VI Server</Property>
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="_Sonos_TE_ControllerUI.vi" Type="VI" URL="../_Sonos_TE_ControllerUI.vi"/>
<Item Name="HttpRequestList.xml" Type="Document" URL="../HttpRequestList.xml"/>
<Item Name="LoadHttpRequestList.vi" Type="VI" URL="../LoadHttpRequestList.vi"/>
<Item Name="LoadHttpRequestNode.vi" Type="VI" URL="../LoadHttpRequestNode.vi"/>
<Item Name="RequestNodeListToTree.vi" Type="VI" URL="../RequestNodeListToTree.vi"/>
<Item Name="SonosController.lvclass" Type="LVClass" URL="../SonosController.llb/SonosController.lvclass"/>
<Item Name="SonosDevice.lvclass" Type="LVClass" URL="../SonosController.llb/SonosDevice.lvclass"/>
<Item Name="Dependencies" Type="Dependencies">
<Item Name="vi.lib" Type="Folder">
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="Clear Errors.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Clear Errors.vi"/>
<Item Name="Error Cluster From Error Code.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Error Cluster From Error Code.vi"/>
<Item Name="LabVIEWHTTPClient.lvlib" Type="Library" URL="/&lt;vilib&gt;/httpClient/LabVIEWHTTPClient.lvlib"/>
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="NI_XML.lvlib" Type="Library" URL="/&lt;vilib&gt;/xml/NI_XML.lvlib"/>
<Item Name="Path To Command Line String.vi" Type="VI" URL="/&lt;vilib&gt;/AdvancedString/Path To Command Line String.vi"/>
<Item Name="PathToUNIXPathString.vi" Type="VI" URL="/&lt;vilib&gt;/Platform/CFURL.llb/PathToUNIXPathString.vi"/>
<Item Name="Trim Whitespace.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/Trim Whitespace.vi"/>
<Item Name="whitespace.ctl" Type="VI" URL="/&lt;vilib&gt;/Utility/error.llb/whitespace.ctl"/>
</Item>
<Item Name="DOMUserDefRef.dll" Type="Document" URL="DOMUserDefRef.dll">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="System" Type="VI" URL="System">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="System.Xml" Type="Document" URL="System.Xml">
<Property Name="NI.PreserveRelativePath" Type="Bool">true</Property>
</Item>
<Item Name="UpnpEnumSupport.dll" Type="Document" URL="../UpnpEnumSupport.dll"/>
</Item>
<Item Name="Build Specifications" Type="Build"/>
</Item>
</Project>

View File

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

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpnpEnumSupport", "UpnpEnumSupport\UpnpEnumSupport.csproj", "{8061AF63-B392-4737-9887-060EA205092E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8061AF63-B392-4737-9887-060EA205092E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -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("UpnpEnumSupport")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("UpnpEnumSupport")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[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("bb011c75-61a8-48b2-ae1c-ad91eb9e4a81")]
// 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")]

View File

@@ -0,0 +1,223 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace UpnpEnumSupport
{
public class SimpleHTTPServer
{
private readonly string[] _indexFiles = {
"index.html",
"index.htm",
"default.html",
"default.htm"
};
private static IDictionary<string, string> _mimeTypeMappings = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase) {
#region extension to MIME type list
{".asf", "video/x-ms-asf"},
{".asx", "video/x-ms-asf"},
{".avi", "video/x-msvideo"},
{".bin", "application/octet-stream"},
{".cco", "application/x-cocoa"},
{".crt", "application/x-x509-ca-cert"},
{".css", "text/css"},
{".deb", "application/octet-stream"},
{".der", "application/x-x509-ca-cert"},
{".dll", "application/octet-stream"},
{".dmg", "application/octet-stream"},
{".ear", "application/java-archive"},
{".eot", "application/octet-stream"},
{".exe", "application/octet-stream"},
{".flv", "video/x-flv"},
{".gif", "image/gif"},
{".hqx", "application/mac-binhex40"},
{".htc", "text/x-component"},
{".htm", "text/html"},
{".html", "text/html"},
{".ico", "image/x-icon"},
{".img", "application/octet-stream"},
{".iso", "application/octet-stream"},
{".jar", "application/java-archive"},
{".jardiff", "application/x-java-archive-diff"},
{".jng", "image/x-jng"},
{".jnlp", "application/x-java-jnlp-file"},
{".jpeg", "image/jpeg"},
{".jpg", "image/jpeg"},
{".js", "application/x-javascript"},
{".mml", "text/mathml"},
{".mng", "video/x-mng"},
{".mov", "video/quicktime"},
{".mp3", "audio/mpeg"},
{".mpeg", "video/mpeg"},
{".mpg", "video/mpeg"},
{".msi", "application/octet-stream"},
{".msm", "application/octet-stream"},
{".msp", "application/octet-stream"},
{".pdb", "application/x-pilot"},
{".pdf", "application/pdf"},
{".pem", "application/x-x509-ca-cert"},
{".pl", "application/x-perl"},
{".pm", "application/x-perl"},
{".png", "image/png"},
{".prc", "application/x-pilot"},
{".ra", "audio/x-realaudio"},
{".rar", "application/x-rar-compressed"},
{".rpm", "application/x-redhat-package-manager"},
{".rss", "text/xml"},
{".run", "application/x-makeself"},
{".sea", "application/x-sea"},
{".shtml", "text/html"},
{".sit", "application/x-stuffit"},
{".swf", "application/x-shockwave-flash"},
{".tcl", "application/x-tcl"},
{".tk", "application/x-tcl"},
{".txt", "text/plain"},
{".war", "application/java-archive"},
{".wbmp", "image/vnd.wap.wbmp"},
{".wmv", "video/x-ms-wmv"},
{".xml", "text/xml"},
{".xpi", "application/x-xpinstall"},
{".zip", "application/zip"},
#endregion
};
private Thread _serverThread;
private string _rootDirectory;
private HttpListener _listener;
private int _port;
public int Port
{
get { return _port; }
private set { }
}
/// <summary>
/// Construct server with given port.
/// </summary>
/// <param name="path">Directory path to serve.</param>
/// <param name="port">Port of the server.</param>
public SimpleHTTPServer(string path, int port)
{
this.Initialize(path, port);
}
/// <summary>
/// Construct server with suitable port.
/// </summary>
/// <param name="path">Directory path to serve.</param>
public SimpleHTTPServer(string path)
{
//get an empty port
TcpListener l = new TcpListener(IPAddress.Loopback, 0);
l.Start();
int port = ((IPEndPoint)l.LocalEndpoint).Port;
l.Stop();
this.Initialize(path, port);
}
/// <summary>
/// Stop server and dispose all functions.
/// </summary>
public void Stop()
{
_serverThread = null;
_listener.Stop();
}
private void Listen()
{
_listener = new HttpListener();
_listener.Prefixes.Add("http://*:" + _port.ToString() + "/");
_listener.Start();
while (_serverThread != null)
{
try
{
IAsyncResult result = _listener.BeginGetContext(new AsyncCallback(ListenerCallback), null);
result.AsyncWaitHandle.WaitOne();
}
catch (Exception) { }
}
}
public void ListenerCallback(IAsyncResult result)
{
if (_serverThread != null)
{
Process(_listener.EndGetContext(result));
}
}
private void Process(HttpListenerContext context)
{
string filename = context.Request.Url.AbsolutePath;
Console.WriteLine(filename);
filename = filename.Substring(1);
if (string.IsNullOrEmpty(filename))
{
foreach (string indexFile in _indexFiles)
{
if (File.Exists(Path.Combine(_rootDirectory, indexFile)))
{
filename = indexFile;
break;
}
}
}
filename = Path.Combine(_rootDirectory, filename);
if (File.Exists(filename))
{
try
{
Stream input = new FileStream(filename, FileMode.Open);
//Adding permanent http response headers
string mime;
context.Response.ContentType = _mimeTypeMappings.TryGetValue(Path.GetExtension(filename), out mime) ? mime : "application/octet-stream";
context.Response.ContentLength64 = input.Length;
context.Response.AddHeader("Date", DateTime.Now.ToString("r"));
context.Response.AddHeader("Last-Modified", System.IO.File.GetLastWriteTime(filename).ToString("r"));
byte[] buffer = new byte[1024 * 16];
int nbytes;
while ((nbytes = input.Read(buffer, 0, buffer.Length)) > 0)
context.Response.OutputStream.Write(buffer, 0, nbytes);
input.Close();
context.Response.OutputStream.Flush();
context.Response.StatusCode = (int)HttpStatusCode.OK;
}
catch (Exception)
{
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
}
}
else
{
context.Response.StatusCode = (int)HttpStatusCode.NotFound;
}
context.Response.OutputStream.Close();
}
private void Initialize(string path, int port)
{
this._rootDirectory = path;
this._port = port;
_serverThread = new Thread(this.Listen);
_serverThread.Start();
}
}
}

View File

@@ -0,0 +1,66 @@
<?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>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{8061AF63-B392-4737-9887-060EA205092E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UpnpEnumSupport</RootNamespace>
<AssemblyName>UpnpEnumSupport</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</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>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="SimpleHTTPServer.cs" />
<Compile Include="UpnpSupport.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<COMReference Include="UPNPLib">
<Guid>{DB3442A7-A2E9-4A59-9CB5-F5C1A5D901E5}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UPNPLib;
using System.Runtime.InteropServices;
namespace UpnpEnumSupport
{
public class UpnpSupport
{
public static string[] FindDeviceByType(string URI)
{
IUPnPDeviceFinder DeviceFinder = new UPnPDeviceFinder();
IUPnPDevices Devices = DeviceFinder.FindByType(URI, 0);
if (Devices != null && Devices.Count > 0)
{
List<string> UDNList = new List<string>();
foreach (IUPnPDevice Device in Devices)
{
UDNList.Add(Device.UniqueDeviceName);
Marshal.FinalReleaseComObject(Device);
}
Marshal.FinalReleaseComObject(Devices);
Marshal.FinalReleaseComObject(DeviceFinder);
return UDNList.ToArray();
}
Marshal.FinalReleaseComObject(DeviceFinder);
return null;
}
}
}

View File

@@ -0,0 +1,12 @@
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\bin\Release\UpnpEnumSupport.dll
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\bin\Release\UpnpEnumSupport.pdb
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\obj\Release\Interop.UPNPLib.dll
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.csproj.ResolveComReference.cache
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.dll
C:\Users\tom.lu\documents\visual studio 2010\Projects\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.pdb
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\bin\Release\UpnpEnumSupport.dll
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\bin\Release\UpnpEnumSupport.pdb
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\obj\Release\Interop.UPNPLib.dll
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.csproj.ResolveComReference.cache
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.dll
C:\Projects\Hideout\PLTS\HIDEOUT_RPT_Test\UpnpEnumSupport\UpnpEnumSupport\obj\Release\UpnpEnumSupport.pdb

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpnpEnumSupport", "UpnpEnumSupport\UpnpEnumSupport.csproj", "{8061AF63-B392-4737-9887-060EA205092E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8061AF63-B392-4737-9887-060EA205092E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8061AF63-B392-4737-9887-060EA205092E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -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("UpnpEnumSupport")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("UpnpEnumSupport")]
[assembly: AssemblyCopyright("Copyright © 2018")]
[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("bb011c75-61a8-48b2-ae1c-ad91eb9e4a81")]
// 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")]

View File

@@ -0,0 +1,223 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace UpnpEnumSupport
{
public class SimpleHTTPServer
{
private readonly string[] _indexFiles = {
"index.html",
"index.htm",
"default.html",
"default.htm"
};
private static IDictionary<string, string> _mimeTypeMappings = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase) {
#region extension to MIME type list
{".asf", "video/x-ms-asf"},
{".asx", "video/x-ms-asf"},
{".avi", "video/x-msvideo"},
{".bin", "application/octet-stream"},
{".cco", "application/x-cocoa"},
{".crt", "application/x-x509-ca-cert"},
{".css", "text/css"},
{".deb", "application/octet-stream"},
{".der", "application/x-x509-ca-cert"},
{".dll", "application/octet-stream"},
{".dmg", "application/octet-stream"},
{".ear", "application/java-archive"},
{".eot", "application/octet-stream"},
{".exe", "application/octet-stream"},
{".flv", "video/x-flv"},
{".gif", "image/gif"},
{".hqx", "application/mac-binhex40"},
{".htc", "text/x-component"},
{".htm", "text/html"},
{".html", "text/html"},
{".ico", "image/x-icon"},
{".img", "application/octet-stream"},
{".iso", "application/octet-stream"},
{".jar", "application/java-archive"},
{".jardiff", "application/x-java-archive-diff"},
{".jng", "image/x-jng"},
{".jnlp", "application/x-java-jnlp-file"},
{".jpeg", "image/jpeg"},
{".jpg", "image/jpeg"},
{".js", "application/x-javascript"},
{".mml", "text/mathml"},
{".mng", "video/x-mng"},
{".mov", "video/quicktime"},
{".mp3", "audio/mpeg"},
{".mpeg", "video/mpeg"},
{".mpg", "video/mpeg"},
{".msi", "application/octet-stream"},
{".msm", "application/octet-stream"},
{".msp", "application/octet-stream"},
{".pdb", "application/x-pilot"},
{".pdf", "application/pdf"},
{".pem", "application/x-x509-ca-cert"},
{".pl", "application/x-perl"},
{".pm", "application/x-perl"},
{".png", "image/png"},
{".prc", "application/x-pilot"},
{".ra", "audio/x-realaudio"},
{".rar", "application/x-rar-compressed"},
{".rpm", "application/x-redhat-package-manager"},
{".rss", "text/xml"},
{".run", "application/x-makeself"},
{".sea", "application/x-sea"},
{".shtml", "text/html"},
{".sit", "application/x-stuffit"},
{".swf", "application/x-shockwave-flash"},
{".tcl", "application/x-tcl"},
{".tk", "application/x-tcl"},
{".txt", "text/plain"},
{".war", "application/java-archive"},
{".wbmp", "image/vnd.wap.wbmp"},
{".wmv", "video/x-ms-wmv"},
{".xml", "text/xml"},
{".xpi", "application/x-xpinstall"},
{".zip", "application/zip"},
#endregion
};
private Thread _serverThread;
private string _rootDirectory;
private HttpListener _listener;
private int _port;
public int Port
{
get { return _port; }
private set { }
}
/// <summary>
/// Construct server with given port.
/// </summary>
/// <param name="path">Directory path to serve.</param>
/// <param name="port">Port of the server.</param>
public SimpleHTTPServer(string path, int port)
{
this.Initialize(path, port);
}
/// <summary>
/// Construct server with suitable port.
/// </summary>
/// <param name="path">Directory path to serve.</param>
public SimpleHTTPServer(string path)
{
//get an empty port
TcpListener l = new TcpListener(IPAddress.Loopback, 0);
l.Start();
int port = ((IPEndPoint)l.LocalEndpoint).Port;
l.Stop();
this.Initialize(path, port);
}
/// <summary>
/// Stop server and dispose all functions.
/// </summary>
public void Stop()
{
_serverThread = null;
_listener.Stop();
}
private void Listen()
{
_listener = new HttpListener();
_listener.Prefixes.Add("http://*:" + _port.ToString() + "/");
_listener.Start();
while (_serverThread != null)
{
try
{
IAsyncResult result = _listener.BeginGetContext(new AsyncCallback(ListenerCallback), null);
result.AsyncWaitHandle.WaitOne();
}
catch (Exception) { }
}
}
public void ListenerCallback(IAsyncResult result)
{
if (_serverThread != null)
{
Process(_listener.EndGetContext(result));
}
}
private void Process(HttpListenerContext context)
{
string filename = context.Request.Url.AbsolutePath;
Console.WriteLine(filename);
filename = filename.Substring(1);
if (string.IsNullOrEmpty(filename))
{
foreach (string indexFile in _indexFiles)
{
if (File.Exists(Path.Combine(_rootDirectory, indexFile)))
{
filename = indexFile;
break;
}
}
}
filename = Path.Combine(_rootDirectory, filename);
if (File.Exists(filename))
{
try
{
Stream input = new FileStream(filename, FileMode.Open);
//Adding permanent http response headers
string mime;
context.Response.ContentType = _mimeTypeMappings.TryGetValue(Path.GetExtension(filename), out mime) ? mime : "application/octet-stream";
context.Response.ContentLength64 = input.Length;
context.Response.AddHeader("Date", DateTime.Now.ToString("r"));
context.Response.AddHeader("Last-Modified", System.IO.File.GetLastWriteTime(filename).ToString("r"));
byte[] buffer = new byte[1024 * 16];
int nbytes;
while ((nbytes = input.Read(buffer, 0, buffer.Length)) > 0)
context.Response.OutputStream.Write(buffer, 0, nbytes);
input.Close();
context.Response.OutputStream.Flush();
context.Response.StatusCode = (int)HttpStatusCode.OK;
}
catch (Exception)
{
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
}
}
else
{
context.Response.StatusCode = (int)HttpStatusCode.NotFound;
}
context.Response.OutputStream.Close();
}
private void Initialize(string path, int port)
{
this._rootDirectory = path;
this._port = port;
_serverThread = new Thread(this.Listen);
_serverThread.Start();
}
}
}

View File

@@ -0,0 +1,66 @@
<?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>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{8061AF63-B392-4737-9887-060EA205092E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>UpnpEnumSupport</RootNamespace>
<AssemblyName>UpnpEnumSupport</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</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>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="SimpleHTTPServer.cs" />
<Compile Include="UpnpSupport.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<COMReference Include="UPNPLib">
<Guid>{DB3442A7-A2E9-4A59-9CB5-F5C1A5D901E5}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UPNPLib;
using System.Runtime.InteropServices;
namespace UpnpEnumSupport
{
public class UpnpSupport
{
public static string[] FindDeviceByType(string URI)
{
IUPnPDeviceFinder DeviceFinder = new UPnPDeviceFinder();
IUPnPDevices Devices = DeviceFinder.FindByType(URI, 0);
if (Devices != null && Devices.Count > 0)
{
List<string> UDNList = new List<string>();
foreach (IUPnPDevice Device in Devices)
{
UDNList.Add(Device.UniqueDeviceName);
Marshal.FinalReleaseComObject(Device);
}
Marshal.FinalReleaseComObject(Devices);
Marshal.FinalReleaseComObject(DeviceFinder);
return UDNList.ToArray();
}
Marshal.FinalReleaseComObject(DeviceFinder);
return null;
}
}
}

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