Code Documentation
==================

This section describes a number of primary classes that are used
widely in the application, and need to be understood in order to
implement any plugins.


Database Implementation
-----------------------


Top-level Database object
~~~~~~~~~~~~~~~~~~~~~~~~~

This class defines how to create and open a device's configuration
data. Note that a particular device might define plugins that can save
this database format into some other format - such as XML or YAML -
and that is independent of this database format.

.. automodule:: configurationmodel
    :members:


ConfigDomain
~~~~~~~~~~~~

.. inheritance-diagram::  configurationmodel.configdomain.ConfigDomain


.. automodule:: configurationmodel.configdomain
    :members:


Config Command Line Tool
~~~~~~~~~~~~~~~~~~~~~~~~

.. automodule:: scripts.pyconfigcmd
    :members:
