Tmds.DBus.SourceGenerator 0.0.12

There is a newer version of this package available.
See the version list below for details.
dotnet add package Tmds.DBus.SourceGenerator --version 0.0.12
NuGet\Install-Package Tmds.DBus.SourceGenerator -Version 0.0.12
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tmds.DBus.SourceGenerator" Version="0.0.12">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Tmds.DBus.SourceGenerator --version 0.0.12
#r "nuget: Tmds.DBus.SourceGenerator, 0.0.12"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Tmds.DBus.SourceGenerator as a Cake Addin
#addin nuget:?package=Tmds.DBus.SourceGenerator&version=0.0.12

// Install Tmds.DBus.SourceGenerator as a Cake Tool
#tool nuget:?package=Tmds.DBus.SourceGenerator&version=0.0.12

Tmds.DBus.SourceGenerator

A roslyn source generator targeting the Tmds.DBus.Protocol API

Introduction

This source generator completely eliminates the usage of reflection in order to be trimmer- and AOT-friendly. For further documentation of Tmds.DBus and DBus in general, see https://github.com/tmds/Tmds.DBus#readme.

Usage

Note

This Source Generator targets the Tmds.DBus.Protocol API, which means you have to explicitly install said package.

Either install the NuGet package Tmds.DBus.SourceGenerator or clone the git repository and add a project reference to the source generator in your .csproj

<ItemGroup>
    <ProjectReference Include="./Tmds.DBus.SourceGenerator/Tmds.DBus.SourceGenerator/Tmds.DBus.SourceGenerator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>

<Import Project="./Tmds.DBus.SourceGenerator/Tmds.DBus.SourceGenerator/Tmds.DBus.SourceGenerator.props" />

Then add the xml definitions as AdditionalFiles to your project. Depending on whether you want to generate a Proxy or a handler, set the DBusGeneratorMode to either Proxy or Handler, respectively.

<ItemGroup>
    <AdditionalFiles Include="DBusXml/DBus.xml" DBusGeneratorMode="Proxy" />
    <AdditionalFiles Include="DBusXml/StatusNotifierItem.xml" DBusGeneratorMode="Handler" />
</ItemGroup>

Now you can instantiate the generated proxy class and use it like with the traditional Tmds.DBus. For handlers, create a new class and inherit from the generated one and implement its abstract methods.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Tmds.DBus.SourceGenerator:

Repository Stars
AvaloniaUI/Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
Version Downloads Last updated
0.0.16 259 4/18/2024
0.0.15 6,194 1/31/2024
0.0.14 162 1/28/2024
0.0.13 3,312 11/18/2023
0.0.12 154 11/15/2023
0.0.11 3,986 9/12/2023
0.0.10 7,453 8/31/2023
0.0.8 9,761 5/25/2023
0.0.7 2,247 5/5/2023
0.0.6 954 5/4/2023
0.0.5 4,468 3/28/2023
0.0.4 33,613 3/14/2023
0.0.3 234 3/13/2023
0.0.2 4,581 2/20/2023