1
-
2
1
using System . IO . Compression ;
3
2
using System . Xml . Linq ;
4
-
5
3
using IOLinkNET . IODD . Structure ;
6
4
7
5
namespace IOLinkNET . IODD . Provider ;
@@ -10,25 +8,42 @@ public class DeviceDefinitionProvider : IDeviceDefinitionProvider
10
8
{
11
9
private readonly IIODDProvider _ioddProvider ;
12
10
private readonly IODDParser _ioddParser = new IODDParser ( ) ;
11
+
13
12
public DeviceDefinitionProvider ( IIODDProvider ioddProvider )
14
13
{
15
14
_ioddProvider = ioddProvider ;
16
15
}
17
16
18
- public async Task < IODevice > GetDeviceDefinitionAsync ( ushort vendorId , uint deviceId , string productId , CancellationToken cancellationToken = default )
17
+ public async Task < IODevice > GetDeviceDefinitionAsync (
18
+ ushort vendorId ,
19
+ uint deviceId ,
20
+ string productId ,
21
+ CancellationToken cancellationToken = default
22
+ )
19
23
{
20
- var ioddPackage = await _ioddProvider . GetIODDPackageAsync ( vendorId , deviceId , productId , cancellationToken ) ;
24
+ var ioddPackage = await _ioddProvider . GetIODDPackageAsync (
25
+ vendorId ,
26
+ deviceId ,
27
+ productId ,
28
+ cancellationToken
29
+ ) ;
21
30
22
31
using var zipArchive = new ZipArchive ( ioddPackage , ZipArchiveMode . Read ) ;
23
32
var ioddXml = await FindMainIoddEntryAsync ( zipArchive , cancellationToken ) ;
24
33
25
-
26
- return _ioddParser . Parse ( ioddXml . Root ?? throw new InvalidOperationException ( "No root element found" ) ) ;
34
+ return _ioddParser . Parse (
35
+ ioddXml . Root ?? throw new InvalidOperationException ( "No root element found" )
36
+ ) ;
27
37
}
28
38
29
- private async Task < XDocument > FindMainIoddEntryAsync ( ZipArchive zipArchive , CancellationToken cancellationToken )
39
+ private async Task < XDocument > FindMainIoddEntryAsync (
40
+ ZipArchive zipArchive ,
41
+ CancellationToken cancellationToken
42
+ )
30
43
{
31
- var xmlFiles = zipArchive . Entries . Where ( e => e . Name . EndsWith ( ".xml" , StringComparison . OrdinalIgnoreCase ) ) ;
44
+ var xmlFiles = zipArchive . Entries . Where ( e =>
45
+ e . Name . EndsWith ( ".xml" , StringComparison . OrdinalIgnoreCase )
46
+ ) ;
32
47
33
48
foreach ( var xmlFile in xmlFiles )
34
49
{
@@ -42,4 +57,4 @@ private async Task<XDocument> FindMainIoddEntryAsync(ZipArchive zipArchive, Canc
42
57
43
58
throw new InvalidOperationException ( "No matching IODD file found" ) ;
44
59
}
45
- }
60
+ }
0 commit comments