Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save smdn/e5bf15379077f493e8c2f70d3c0af4a2 to your computer and use it in GitHub Desktop.
Save smdn/e5bf15379077f493e8c2f70d3c0af4a2 to your computer and use it in GitHub Desktop.
Smdn.TPSmartHomeDevices.MacAddressEndPoint 1.0.0 Release Notes

main/Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0

diff --git a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net6.0.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net6.0.apilist.cs
index 43308c5..7e5e391 100644
--- a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net6.0.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0-rc1)
+// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0)
// Name: Smdn.TPSmartHomeDevices.MacAddressEndPoint
// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0-rc1+00727d1f82dcb2b9dd9c6e586f6c54110349bf48
+// InformationalVersion: 1.0.0+4dd7eda1e01a411bacbd6593ca050a45b3c57c37
// TargetFramework: .NETCoreApp,Version=v6.0
// Configuration: Release
// Referenced assemblies:
// Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
// Smdn.TPSmartHomeDevices.Primitives, Version=1.0.0.0, Culture=neutral
// System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Smdn.Net;
using Smdn.Net.AddressResolution;
using Smdn.TPSmartHomeDevices;
namespace Smdn.TPSmartHomeDevices {
public class MacAddressDeviceEndPointFactory :
IDeviceEndPointFactory<PhysicalAddress>,
IDisposable
{
protected class MacAddressDeviceEndPoint : IDynamicDeviceEndPoint {
public MacAddressDeviceEndPoint(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address) {}
public void Invalidate() {}
public async ValueTask<EndPoint?> ResolveAsync(CancellationToken cancellationToken) {}
public override string ToString() {}
}
protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(IPNetworkProfile networkProfile, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(MacAddressResolverBase resolver, IServiceProvider? serviceProvider = null) {}
public virtual IDeviceEndPoint Create(PhysicalAddress address) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
protected void ThrowIfDisposed() {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.2.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net7.0.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net7.0.apilist.cs
index 6ec0906..5cc5d49 100644
--- a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net7.0.apilist.cs
+++ b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-net7.0.apilist.cs
@@ -1,49 +1,49 @@
-// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0-rc1)
+// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0)
// Name: Smdn.TPSmartHomeDevices.MacAddressEndPoint
// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0-rc1+00727d1f82dcb2b9dd9c6e586f6c54110349bf48
+// InformationalVersion: 1.0.0+4dd7eda1e01a411bacbd6593ca050a45b3c57c37
// TargetFramework: .NETCoreApp,Version=v7.0
// Configuration: Release
// Referenced assemblies:
// Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
// Smdn.TPSmartHomeDevices.Primitives, Version=1.0.0.0, Culture=neutral
// System.ComponentModel, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.NetworkInformation, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Net.Primitives, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
#nullable enable annotations
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Smdn.Net;
using Smdn.Net.AddressResolution;
using Smdn.TPSmartHomeDevices;
namespace Smdn.TPSmartHomeDevices {
public class MacAddressDeviceEndPointFactory :
IDeviceEndPointFactory<PhysicalAddress>,
IDisposable
{
protected class MacAddressDeviceEndPoint : IDynamicDeviceEndPoint {
public MacAddressDeviceEndPoint(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address) {}
public void Invalidate() {}
public async ValueTask<EndPoint?> ResolveAsync(CancellationToken cancellationToken) {}
public override string ToString() {}
}
protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(IPNetworkProfile networkProfile, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(MacAddressResolverBase resolver, IServiceProvider? serviceProvider = null) {}
public virtual IDeviceEndPoint Create(PhysicalAddress address) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
protected void ThrowIfDisposed() {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.2.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.0.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.0.apilist.cs
index da09db3..1a0938f 100644
--- a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.0.apilist.cs
+++ b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.0.apilist.cs
@@ -1,47 +1,47 @@
-// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0-rc1)
+// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0)
// Name: Smdn.TPSmartHomeDevices.MacAddressEndPoint
// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0-rc1+00727d1f82dcb2b9dd9c6e586f6c54110349bf48
+// InformationalVersion: 1.0.0+4dd7eda1e01a411bacbd6593ca050a45b3c57c37
// TargetFramework: .NETStandard,Version=v2.0
// Configuration: Release
// Referenced assemblies:
// Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
// Smdn.TPSmartHomeDevices.Primitives, Version=1.0.0.0, Culture=neutral
// System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Smdn.Net;
using Smdn.Net.AddressResolution;
using Smdn.TPSmartHomeDevices;
namespace Smdn.TPSmartHomeDevices {
public class MacAddressDeviceEndPointFactory :
IDeviceEndPointFactory<PhysicalAddress>,
IDisposable
{
protected class MacAddressDeviceEndPoint : IDynamicDeviceEndPoint {
public MacAddressDeviceEndPoint(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address) {}
public void Invalidate() {}
public async ValueTask<EndPoint?> ResolveAsync(CancellationToken cancellationToken) {}
public override string ToString() {}
}
protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(IPNetworkProfile networkProfile, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(MacAddressResolverBase resolver, IServiceProvider? serviceProvider = null) {}
public virtual IDeviceEndPoint Create(PhysicalAddress address) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
protected void ThrowIfDisposed() {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.2.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.1.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.1.apilist.cs
index a406cb4..1579700 100644
--- a/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint-netstandard2.1.apilist.cs
@@ -1,46 +1,46 @@
-// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0-rc1)
+// Smdn.TPSmartHomeDevices.MacAddressEndPoint.dll (Smdn.TPSmartHomeDevices.MacAddressEndPoint-1.0.0)
// Name: Smdn.TPSmartHomeDevices.MacAddressEndPoint
// AssemblyVersion: 1.0.0.0
-// InformationalVersion: 1.0.0-rc1+00727d1f82dcb2b9dd9c6e586f6c54110349bf48
+// InformationalVersion: 1.0.0+4dd7eda1e01a411bacbd6593ca050a45b3c57c37
// TargetFramework: .NETStandard,Version=v2.1
// Configuration: Release
// Referenced assemblies:
// Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
// Smdn.TPSmartHomeDevices.Primitives, Version=1.0.0.0, Culture=neutral
// netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
#nullable enable annotations
using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading;
using System.Threading.Tasks;
using Smdn.Net;
using Smdn.Net.AddressResolution;
using Smdn.TPSmartHomeDevices;
namespace Smdn.TPSmartHomeDevices {
public class MacAddressDeviceEndPointFactory :
IDeviceEndPointFactory<PhysicalAddress>,
IDisposable
{
protected class MacAddressDeviceEndPoint : IDynamicDeviceEndPoint {
public MacAddressDeviceEndPoint(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address) {}
public void Invalidate() {}
public async ValueTask<EndPoint?> ResolveAsync(CancellationToken cancellationToken) {}
public override string ToString() {}
}
protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(IPNetworkProfile networkProfile, IServiceProvider? serviceProvider = null) {}
public MacAddressDeviceEndPointFactory(MacAddressResolverBase resolver, IServiceProvider? serviceProvider = null) {}
public virtual IDeviceEndPoint Create(PhysicalAddress address) {}
protected virtual void Dispose(bool disposing) {}
public void Dispose() {}
protected void ThrowIfDisposed() {}
}
}
// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.2.2.0.
// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/src/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint.csproj b/src/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint.csproj
index 3d2232f..cdcccf2 100644
--- a/src/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint.csproj
+++ b/src/Smdn.TPSmartHomeDevices.MacAddressEndPoint/Smdn.TPSmartHomeDevices.MacAddressEndPoint.csproj
@@ -7,7 +7,7 @@ SPDX-License-Identifier: MIT
<TargetFrameworks>netstandard2.0;netstandard2.1;net6.0</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '7.0.0'))">net7.0;$(TargetFrameworks)</TargetFrameworks>
<VersionPrefix>1.0.0</VersionPrefix>
- <VersionSuffix>rc1</VersionSuffix>
+ <VersionSuffix></VersionSuffix>
<!-- <PackageValidationBaselineVersion>1.0.0</PackageValidationBaselineVersion> -->
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
@@ -20,13 +20,14 @@ SPDX-License-Identifier: MIT
<PropertyGroup Label="assembly attributes">
<Description>
-<![CDATA[An extension library to add a service to Smdn.TPSmartHomeDevices.Kasa and Smdn.TPSmartHomeDevices.Tapo that enables the resolution of devices' endpoints by MAC address.
+<![CDATA[An extension library to add a service to Smdn.TPSmartHomeDevices.Tapo and Smdn.TPSmartHomeDevices.Kasa that enables the resolution of devices' endpoints by MAC address.
]]></Description>
<CopyrightYear>2023</CopyrightYear>
</PropertyGroup>
<PropertyGroup Label="package properties">
<PackageTags>tplink-kasa,kasa,tplink-tapo,tapo,mac-address,address-resolution,$(PackageCommonTags)</PackageTags>
+ <GenerateNupkgReadmeFileDependsOnTargets>$(GenerateNupkgReadmeFileDependsOnTargets);GenerateReadmeFileContent</GenerateNupkgReadmeFileDependsOnTargets>
</PropertyGroup>
<ItemGroup>
@@ -35,7 +36,7 @@ SPDX-License-Identifier: MIT
<ItemGroup>
<PackageReference Include="Smdn.Net.AddressResolution" Version="1.0.0" />
- <ProjectOrPackageReference ReferencePackageVersion="[1.0.0-*,2.0.0)" Include="..\Smdn.TPSmartHomeDevices.Primitives\Smdn.TPSmartHomeDevices.Primitives.csproj" />
+ <ProjectOrPackageReference ReferencePackageVersion="[1.0.0,2.0.0)" Include="..\Smdn.TPSmartHomeDevices.Primitives\Smdn.TPSmartHomeDevices.Primitives.csproj" />
</ItemGroup>
<ItemGroup>
@@ -48,4 +49,30 @@ SPDX-License-Identifier: MIT
/>
</ItemGroup>
+ <Target Name="GenerateReadmeFileContent" DependsOnTargets="ReadReadmeFileNoticeSectionContent">
+ <PropertyGroup>
+ <PackageReadmeFileContent><![CDATA[# $(PackageId) $(PackageVersion)
+`$(PackageId)` is an extension library for the [Smdn.TPSmartHomeDevices.Tapo](https://www.nuget.org/packages/Smdn.TPSmartHomeDevices.Tapo/) and [Smdn.TPSmartHomeDevices.Kasa](https://www.nuget.org/packages/Smdn.TPSmartHomeDevices.Kasa/)
+that enables to use MAC addresses to specify the device endpoints, instead of IP addresses or host names.
+
+This library also enables to support following changes of the device endpoint in network where IP addresses are dynamic, such as networks using DHCP.
+
+## Usage
+Add `MacAddressDeviceEndPointFactory` to the `ServiceCollection` and pass it as an `IServiceProvider` to the constructor of the [Tapo](https://www.nuget.org/packages/Smdn.TPSmartHomeDevices.Tapo/) or [Kasa](https://www.nuget.org/packages/Smdn.TPSmartHomeDevices.Kasa/) device class.
+
+```cs
+$([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\..\examples\$(PackageId)\GettingStarted\Program.cs').TrimEnd())
+```
+
+More examples can be found on the [GitHub repository]($(RepositoryUrl)/tree/main/examples/$(PackageId)/).
+
+## Contributing
+This project welcomes contributions, feedbacks and suggestions. You can contribute to this project by submitting [Issues]($(RepositoryUrl)/issues/new/choose) or [Pull Requests]($(RepositoryUrl)/pulls/) on the [GitHub repository]($(RepositoryUrl)).
+
+## Notice
+$(ReadmeFileNoticeSectionContent)
+]]></PackageReadmeFileContent>
+ </PropertyGroup>
+ </Target>
+
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment