Pwmd allows a (libpwmd) client to store and retrieve data in an encrypted XML file via an element path. An element path is a TAB delimited string where each element name is a depth of the element tree similar to how a filesystem hierarchy is organized.
Each element of the element path may also contain an ACL to limit client access to an element path; beit a client connecting over UDS or TLS. An element may also contain a "target "attribute that resolves to another element path in the XML...
QPwmc is a full featured graphical pwmd client using the Qt toolkit and libpwmd to edit a pwmd data file. The interface is similar to a file manager but rather than a tree of folders on a filesystem it edits a tree of XML elements and their attributes. It uses a PwmdDialog class to makes it easy to integrate into your own projects.
Libpwmd provides an API for connecting to pwmd. It allows for your application to easily store and retrieve data from a pwmd server. It does all the work of setting up the socket and socket IO. Fetching element content can be done in as little as 4 function calls: pwmd_new(), pwmd_connect(), pwmd_open() and pwmd_command().