🖥️How to use

How do you use it?

Using this library is very simple! Just use the Inxi.NET namespace in any piece of code you want to use the library, as in: using InxiFrontend;

In order to get hardware information, just invoke the Inxi constructor when assigning a new variable that holds hardware information. For example,

var InxiInstance = new InxiFrontend.Inxi();

This gets all hardware information from your computer, assuming that you have the following files installed on your Linux computer:

  • /usr/bin/inxi

    • Can be obtained by installing Inxi using your favorite package manager (usually inxi)

  • /usr/bin/cpanel_json_xs

    • Can be obtained by installing CPanel Json Perl Module using your favorite package manager (usually libcpanel-json-xs-perl)

  • /usr/bin/json_xs

    • Can be obtained by installing Json Perl Module using your favorite package manager (usually libjson-xs-perl)

In order to selectively parse the computer hardware information, you can use the constructor that lets you set the hardware type to be parse:

var InxiInstance = new InxiFrontend.Inxi(InxiHardwareType.type);

where type is:

  • InxiHardwareType.BIOS

  • InxiHardwareType.Graphics

  • InxiHardwareType.HardDrive

  • InxiHardwareType.HardDriveLogical

  • InxiHardwareType.Machine

  • InxiHardwareType.Network

  • InxiHardwareType.PCMemory

  • InxiHardwareType.Processor

  • InxiHardwareType.Sound

  • InxiHardwareType.System

  • InxiHardwareType.Battery

Very rarely, if your system doesn't have the above paths to required programs (either you've compiled Json Perl modules using CPAN, or you've downloaded Inxi straight from its source code, or you've got both), you can supply the paths to the three different paths by invoking the third version of the constructor:

var InxiInstance = new InxiFrontend.Inxi("path/to/inxi", "path/to/cpanel_json_xs", "path/to/json_xs", InxiHardwareType.type);

You can then use the InxiInstance.Hardware class to obtain info about your computer's hardware.

For debugging, listen to the DebugDataReceived event by adding the event handler to it, for example:

InxiTrace.DebugDataReceived += HandleDebugData;

If you're going to use functions, you must implement the function with the following signature (function name can be changed):

private static void HandleDebugData(string Message, string PlainMessage)
    => Console.WriteLine(Message);

Last updated