## Conventions

During the API docs some conventions are used to avoid duplication and improve precision.

1. It is never valid to supply NULL for an object reference, unless it is explicitly said so.

2. Methods do checking of preconditions using `g_return_if_fail()` or `g_return_val_if_fail()`. Therefore watch for the glib log messages indicating wrong API usage.

3. All methods that return a pointer to an object, increase the reference counter. Therefore you should do release this reference by calling `g_object_unref()` when you are done with the object.

4. When a return value is marked as const e.g. const gchar * or const BtObjectName * then this is a static reference. You must not call `g_free()` or `g_object_unref()` on it.