[Nut-upsdev] [nut] High level C and C++ libnutclient (#2)

Charles Lepple clepple at gmail.com
Wed Sep 5 02:48:02 UTC 2012

[I took the liberty of replying on nut-upsdev - not many people are using github yet since the NUT repository native format is still SVN.]

On Sep 4, 2012, at 10:17 AM, Emilien Kia wrote:

> This is a proposal for a new client library which scopes an higher level than the existing libupsclient.
> It needs less dependencies to be compiled than the libupsclient and can be easier to integrate in other projects (including on windows with visual studio projects). The original need for this library was to have a minimal platform to integrate in Balooloo/hazelnut to communicate to upsd on Windows but which can be easily statically compiled on VS.


> It is developed in C++ with a wrapper in pure C, inspired from jNut API.
> Its object model targets a client/device/variable/command model rather than a network query/answer.
> Client is an interface class which declare methods to manipulate devices, derived classes are implementations (actually only TcpClient for TCP based current protocol) to support specific communication channel (perhaps we will have DBUS, message busses or others in a near future).
> Device, Variable and Command classes are helpers to easily manipulate such concepts.

Is the Doxygen support complete? I didn't see a Doxyfile in the patch. It might also be good to have some high-level documentation, and possibly some example code (even if it is just embedded in the comments - but unit tests would be even better).

There are also some references to "NUTD", which I think means "upsd".

> Actually, libnutclient support all features of libupsclient excluding only SSL support. I will develop it soon when integrated in nut trunk.

So should we wait to merge this until the SSL branch is merged?

Charles Lepple
clepple at gmail

More information about the Nut-upsdev mailing list