# Overview

libnm maps fairly closely to the actual D-Bus API that NetworkManager provides, wrapping the remote D-Bus objects as native GObjects, mapping D-Bus signals and properties to GObject signals and properties, and providing helpful accessor and utility functions. However, unlike the old libnm-util/libnm-glib API, the mapping to the D-Bus API is not exact, and various inconveniences and historical anomolies of the D-Bus API are papered over.

The following is a rough overview of the libnm object structure and how to use the various parts of it: