Qti ofono binder plugin extension
====================================
It doesn't really do anything. It's just a demonstration of how
the extension interfaces (BINDER_EXT_TYPE_IMS being used as an
example) are supposed to be implemented.
Here is what happens when this extension gets loaded.
1. ofono calls qti_plugin_init(). That function creates an
instance of QtiExt and registers it under the name "qti"
by calling binder_ext_plugin_register()
2. ofono-binder-plugin finds the extension by name which it reads
from /etc/ofono/binder.d/qti.conf
3. ofono-binder-plugin calls qti_ext_new_slot() method of QtiExt
for each configured/detected slot. That creates per-slot QtiSlot
objects.
4. ofono-binder-plugin asks QtiSlot for particular interfaces by
calling its qti_slot_get_interface() method. QtiSlot only
reacts to BINDER_EXT_TYPE_IMS query and returns a pointer to
QtiIms object implementing BinderExtImsInterface
5. ofono-binder-plugin then goes on to call BinderExtImsInterface
methods of QtiIms object(s).